Skip to content

Releases: getlago/lago-api

v1.17.4

24 Dec 10:04
b72b822
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.17.3...v1.17.4

v1.17.3

18 Dec 15:34
6bb3cbf
Compare
Choose a tag to compare

What's Changed

  • chore(ruby): Bump ruby & rails version by @jdenquin in #2953
  • fix: Ensure consistent order of results on list responses (frontend and API) by @ancorcruz in #2934
  • feat(netsuite): Add fees period dates to invoice payload by @ivannovosad in #2956
  • fix (pdf): add succeeded at on percentage charge details in pdf by @lovrocolic in #2954
  • fix (grace_period): refactor how issuing date is set by @lovrocolic in #2928
  • fix: Add created_at and updated_at to invoice serializer by @rsempe in #2958
  • Feat: invoice_custom_sections query resolver by @annvelents in #2920
  • Add InvoiceCustomSections::UpdateService by @annvelents in #2924
  • Feat: invoice custom sections - update mutation by @annvelents in #2927
  • feat(netsuite): add issuing date to NetSuite trandate payload by @sarkissianraffi in #2899
  • Fix net_payment_term update not updating draft invoices by @nudded in #2955
  • misc: Remove Fee#{charge|subscription|commitment}_kind scope by @rsempe in #2948
  • misc: Extract stripe webhook handler into its own service by @ancorcruz in #2965
  • misc(export-credit-notes): Refactor services and tests by @floganz in #2963
  • fix: Ability to create fee with negative units or amount by @rsempe in #2966
  • Feat: invoice custom sections - discard service by @annvelents in #2931
  • Feat: invoice custom sections discard mutation by @annvelents in #2939
  • misc(invoice): Bypass aggregation queries when no event in period by @vincent-pochet in #2967
  • misc: Add longer lock for Invoices::FinalizeJob by @vincent-pochet in #2970
  • feat(anrok): add new tax related statuses on invoice by @lovrocolic in #2964
  • misc(payment): Refactor payment creation on provider by @vincent-pochet in #2959
  • misc(payment): Rely on payment provider idempotency by @vincent-pochet in #2962
  • feat(credit-notes-export): Add services for simple credit note export by @floganz in #2973
  • feat (anrok): add error that indicates that tax is unknown by @lovrocolic in #2968
  • bug(Billing) - When running the BillingService for a date in the past, ignore subscriptions that have started in the future. by @nudded in #2923
  • misc: Prevent overriding set by test example aggregate_failures flag by @floganz in #2975
  • feat(credit-note-export): Add services for credit note item export by @floganz in #2974
  • chore(scalability): Add dedicated clock worker by @jdenquin in #2971
  • chore(scalability): Add dedicated webhook worker by @jdenquin in #2979

Full Changelog: v1.17.2...v1.17.3

v1.17.2

12 Dec 15:09
a9b0766
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.17.1...v1.17.2

v1.17.1

11 Dec 10:11
087bb3c
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.17.0...v1.17.1

v1.17.0

03 Dec 16:07
8141920
Compare
Choose a tag to compare

What's Changed

  • feat(dunning): Allow soft deletion on dunning campaign by @rsempe in #2833
  • feat(dunning): Add flag to customers when completed a dunning campaign by @ancorcruz in #2832
  • Fix: allow to edit fees with more than 2 decimal price by @annvelents in #2828
  • feat(daily_usage): Compute and store usage_diff by @vincent-pochet in #2800
  • bug(Coupon) - Use advisory lock to make sure coupon application is correct by @nudded in #2837
  • feat(dunning): Mutation to delete a dunning campaign by @rsempe in #2835
  • feat(dunning): Add DunningCampaign resolver to graphql api by @ancorcruz in #2834
  • perf(BillableMetrics) - Improve query to get active subscriptions count by @nudded in #2845
  • misc(daily_usage): Extract daily_usage history from rake task to a service by @vincent-pochet in #2843
  • misc: Add missing require in DailyUsages::FillHistoryService by @vincent-pochet in #2846
  • perf(BillableMetric) - Optimize draft_invoices_count by @nudded in #2847
  • misc: Deprecate counters at billable metric index level by @vincent-pochet in #2848
  • Fix(anrok): Taxes not fully applied by @annvelents in #2842
  • misc: Activate aggregate_failures by default on specs by @rsempe in #2849
  • misc: Fix existing rubocop issues by @rsempe in #2850
  • bug(CustomerQuery) - Allow searching on legal_name by @nudded in #2851
  • feat(dunning): extend DunningCampaigns::UpdateService update all fields by @ancorcruz in #2836
  • feat(dunning): extend DunningCampaigns Update mutation and types to update all campaign attributes by @ancorcruz in #2844
  • fix: Plans::UpdateAmountService handle pending subscription upgrades by @ancorcruz in #2827
  • fix: failing specs by @brunomiguelpinto in #2856
  • feat(dunning): Reset customers last attempt on dunning campaign deletion by @rsempe in #2840
  • Revert "fix(netsuite): Aggregator jobs should be unique (#2818)" by @ivannovosad in #2855
  • Revert "Revert "fix(netsuite): Aggregator jobs should be unique (#2818)"" by @nudded in #2860
  • fix(unique-jobs): Fix on retry in unique jobs by @ivannovosad in #2862
  • feat(salesforce): Add integration inputs, type and mutations by @ivannovosad in #2799
  • feat(dunning): reset customer dunning campaign last attempt data on threshold changes by @ancorcruz in #2861
  • feat(dunning): Fix unique validations on dunning campaign by @rsempe in #2865
  • feat(dunning): flag customers as dunning campaign completed... by @ancorcruz in #2866
  • Add organization_id to Fee by @nudded in #2858
  • feat(dunning): unflag customers as dunning campaign completed... by @ancorcruz in #2868
  • Bug(Events) - make sure to cleanup clickhouse events after billable metric removal by @nudded in #2863
  • feat(api-key-management): Add permissions to the ApiKey by @floganz in #2853
  • feat(dunning): Dunning Campaign processing skip customers completed by @ancorcruz in #2869
  • feat(dunning): flag customers as dunning campaign completed by @ancorcruz in #2870
  • misc: Add deleted_at to index_charges_on_billable_metric_id by @rsempe in #2872
  • feat(dunning): Assign dunning campaign when creating a payment request by @rsempe in #2873
  • feat(dunning): reset customer dunning counters on invoice updates by @ancorcruz in #2876
  • feat(dunning): reset customer dunning campaign status on payment request succeeded payment status by @ancorcruz in #2875
  • feat(dunning): Populate dunning_campaign_completed on existing customers by @rsempe in #2867
  • hotfix(taxes): Remove charges count from taxes serializer by @jdenquin in #2877
  • feat(salesforce): Fill IntegrationCustomer on salesforce integration by @brunomiguelpinto in #2864
  • misc: extend tax error details for validationError by @lovrocolic in #2878
  • Revert "hotfix(taxes): Remove charges count from taxes serializer" by @nudded in #2881
  • fix(taxes): Improve charges count by @jdenquin in #2885
  • fix: fix typo on credit notes by @brunomiguelpinto in #2886
  • perf(EventMatchingService) - Do not use #all by @nudded in #2883
  • feat(dunning): flag customer as dunning campaign completed on last attempt execution by @ancorcruz in #2889
  • feat(salesforce): Add create customer without external id by @brunomiguelpinto in #2887
  • feat(api-key-management): Add ability to update API key via graphql by @floganz in #2871
  • feat(dunning): Remove dunning_campaign_completed flag by @rsempe in #2890
  • misc(throttling): Add concurrent jobs throttling config by @ivannovosad in #2839
  • fix(netsuite): Add amount to invoice line items by @ivannovosad in #2874
  • feat(PostProcessing) - Add source field to kafka event to eliminate double processing by @nudded in #2879
  • feat(salesforce): Added sync salesforce invoice id by @brunomiguelpinto in #2888
  • feat (tax-integrations): auto retry failed invoice due to api limit by @lovrocolic in #2884
  • Feat amount details graduated percentage by @annvelents in #2880
  • Fix: missing parent charge in the database by @annvelents in #2893
  • misc(api-key-management): Add permissions params to create API key mutation by @floganz in #2892
  • fix(netsuite): Fix quantity sent to netsuite by @ivannovosad in #2895
  • perf(EventsApi) - order events by timestamp rather than created_at by @nudded in #2897
  • feat: rubocop by @brunomiguelpinto in #2903
  • build(deps): bump rails-html-sanitizer from 1.6.0 to 1.6.1 by @dependabot in #2902
  • Feat: clear invoice data rake task by @annvelents in #2898
  • fix(customer): Catch ActiveRecord::RecordNotUnique when creating with API by @vincent-pochet in #2905
  • fix(customer): Fix update customer webhook by @ivannovosad in #2904
  • fix: update applied prepaid credits service exit case by @lovrocolic in #2901
  • Fix: progressive billing invoice for subscription period by @annvelents in #2906

Full Changelog: v1.16.0...v1.17.0

v1.16.0

20 Nov 08:40
cdeac9a
Compare
Choose a tag to compare

What's Changed

  • feat(flexible aggregation) - Support flexible aggregation on billable metric by @nudded in #2704
  • feat(rounding): Add rounding fields to billable_metrics by @vincent-pochet in #2754
  • feat(rounding): Expose rounding attributes to APIs by @vincent-pochet in #2764
  • feat(dunning): campaign creation requires organization premium add-on by @ancorcruz in #2759
  • feat(dunning): find eligible customers and applied dunning campaign by @ancorcruz in #2757
  • feat(dunning): only one dunning campaign applied to organization on creation by @ancorcruz in #2760
  • fix: eager load invoice attachments by @lovrocolic in #2776
  • feat(rounding): Apply rounding to billable metric aggregation results by @vincent-pochet in #2775
  • Feat add ability to rotate api key by @floganz in #2771
  • fix: Ensure DataExports::CombinePartsJob uniqueness by @ancorcruz in #2777
  • misc(cors): Support new LAGO_DOMAIN by @jdenquin in #2780
  • feat(dunning): validate dunning campaign has at least one threshold by @ancorcruz in #2762
  • feat(netsuite): Cleanup syncs by @ivannovosad in #2782
  • fix: Ensure correct integration customer is used when syncing netsuite payments by @lovrocolic in #2785
  • feat(salesforce): Added customers webhooks by @brunomiguelpinto in #2783
  • misc(docker): Improve migrate script by @jdenquin in #2778
  • bug(DataExport) - Decrease batch size for data export & use tempfile by @nudded in #2786
  • Bug(DataExport) - update DEFAULT_BATCH_SIZE of ExportResourcesJob by @nudded in #2788
  • feat(salesforce): Add integration models by @ivannovosad in #2787
  • feat(api-key-management): Track when API key was last used by @floganz in #2779
  • feat(DataExport) - don't rely on SubscriptionSerializer for plan code and external id by @nudded in #2792
  • fix(custom_aggregation): Ensure custom properties are stored as Hash by @vincent-pochet in #2781
  • feat(Salesforce): Add ability to create salesforce customer by @brunomiguelpinto in #2794
  • feat(salesforce): Add invoice resynced Webhook by @brunomiguelpinto in #2791
  • feat(dunning): Permit creation of payment request without email by @rsempe in #2784
  • Feat salesforce services by @ivannovosad in #2795
  • feat(DailyUsage): Add daily_usages:fill_history task by @vincent-pochet in #2751
  • misc(nango): Increase the number of job retries in case of RequestLimitError by @ivannovosad in #2798
  • feat(dunning): Stop and reset counters for customers by @rsempe in #2796
  • Fix(anrok): return zero-tax breakdown if client facing taxes sum is 0 by @annvelents in #2797
  • feat(api-key-management): Add name to the API key model by @floganz in #2793
  • misc(filters-contracts): Define contracts to validate query objects filters by @ancorcruz in #2650
  • feat(dunning): schedule process dunning campaigns jobs every hour at 45' by @ancorcruz in #2766
  • fix(netsuite): Fix netsuite payment payload by @ivannovosad in #2790
  • fix(subscription): Ensure consistent ordering on the index end-point by @vincent-pochet in #2801
  • fix(customer): Add missing validation for shipping country by @floganz in #2804
  • fix(gocardless): Handle validation error with refund by @vincent-pochet in #2805
  • misc: Add more after_commit to avoid deserialization errors by @vincent-pochet in #2803
  • fix: Ability to generate legacy invoice pdfs without charges duration by @rsempe in #2806
  • feat(api-key-management): Add ability to create API key by @floganz in #2802
  • bug(BillableMetric) - BillableMetrics::DeleteEventsJob remove new-style events as well by @nudded in #2810
  • feat(plan-charges-cascading): Support charge filters cascading by @lovrocolic in #2761
  • feat(dunning): Use display name of customer in email by @rsempe in #2811
  • add migration to set parent_ids to charges by @annvelents in #2738
  • fix missing children on plan by @annvelents in #2813
  • improvement(Cascade) - Improve cascade jobs by passing in the expected amount_cents by @nudded in #2812
  • feat(netsuite): Remove sales orders services by @ivannovosad in #2807
  • misc(stripe): Refact payment method update webhooks by @vincent-pochet in #2808
  • fix(payment_request): Avoid deserialization issues by @vincent-pochet in #2815
  • fix: Ability to delete assigned customer taxes from the API by @rsempe in #2814
  • fix(gocardless): Handle GoCardlessPro::ValidationError when creating payment by @vincent-pochet in #2817
  • fix(adyen): Handle Adyen::AuthenticationError when creating the customer by @vincent-pochet in #2820
  • fix(netsuite): Aggregator jobs should be unique by @ivannovosad in #2818
  • fix(subscription upgrade): Upgrade subscriptions previously considered downgrade on amount increase by @ancorcruz in #2823
  • Bug(PayInAdvanceFee) - fix grouped_by logic for Fees::CreatePayInAdvanceService by @nudded in #2824
  • feat(api-key-management): Add ability to destroy an API key via graphql by @floganz in #2809
  • Add ability to rotate API key with expiry period by @floganz in #2822
  • fix(data-export): File key uniqueness by @floganz in #2821
  • misc(PaymentProviders): Refact webhooks folder structure by @vincent-pochet in #2829
  • fix(netsuite): Fix possible duplicate integration resources creation by @ivannovosad in #2826
  • fix(stripe): Handle missing payment by @vincent-pochet in #2825
  • Fix specs and payment payload by @ivannovosad in #2830
  • feat(dunning): Add deleted_at to dunning campaign threshold by @ancorcruz in #2831

Full Changelog: v1.15.2...v1.16.0

v1.15.2

04 Nov 10:32
c1e3b24
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.15.1...v1.15.2

v1.15.1

30 Oct 14:01
0d19bbc
Compare
Choose a tag to compare

What's Changed

  • misc(clickhouse): Use official clickhouse-activerecord gem by @vincent-pochet in #2750
  • fix(netsuite): Change params in the invoice payload by @ivannovosad in #2752
  • bug(PayInAdvance) - Add dedicated lock_key_arguments for pay in advance jobs by @nudded in #2755
  • feat(api key management) Extract api key model by @floganz in #2734
  • feat(api-key-management) Add Graphql types and queries for ApiKey model by @floganz in #2743
  • bug(caching) - Add cache key version to Subscriptions::ChargeCacheService by @nudded in #2756

New Contributors

Full Changelog: v1.15.0...v1.15.1

v1.15.0

29 Oct 13:49
d635a7d
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.14.0...v1.15.0

What's Changed

Read more

v1.14.0

17 Oct 15:14
0393360
Compare
Choose a tag to compare

What's Changed

  • chore: Add GitHub release badge to the repository by @electrosenpai in #2637
  • feat(hubspot): Add associations, attributes to customer models to support hubspot integration by @ivannovosad in #2667
  • fix(credit-notes): submit credit note to tax provider after transaction ends by @lovrocolic in #2665
  • feat(cp-improve): Customer portal update customer's customer_type by @ancorcruz in #2666
  • misc: move invoice numbering outside DB transaction by @lovrocolic in #2621
  • fix (wallets): improve handling rc upon wallet update by @lovrocolic in #2669
  • fix(invoice-numbering): cover draft invoice number when tax error by @lovrocolic in #2671
  • feat(dunning): Add DunningCampaign and DunningCampaignThreshold by @rsempe in #2670
  • fix: Generate invoice for paid instant charges on subscription termination by @ancorcruz in #2675
  • feat(clickhouse): Improve clickhouse store by @jdenquin in #2677
  • chore(deps): bump webrick from 1.8.1 to 1.8.2 by @dependabot in #2679
  • Feat: issue credit note on credit invoice - db change by @annvelents in #2676
  • fix(credit_note): Make sure credit notes jobs are processed outside of DB transactions by @vincent-pochet in #2680
  • fix(invoice) Skip ActiveRecord::RecordNotUnique for periodic invoices by @vincent-pochet in #2681
  • feat(dunning): Add DunningCampaigns::Create graphql mutation by @rsempe in #2672
  • fix (invoice-numbering): revert draft case for new invoice numbering by @lovrocolic in #2683
  • fix (invoice-numbering): revert moving invoice numbering outside DB transaction by @lovrocolic in #2684
  • feat(wallet): Improve how we're refreshing wallet's ongoing balance by @rsempe in #2682
  • fix(wallet): Send wallet transaction webhooks outside of DB transactions by @vincent-pochet in #2685
  • fix(integration): Fix rate limit handling by @vincent-pochet in #2686
  • fix(wallet): Save wallet transaction using floor for credits by @rsempe in #2688
  • misc: Retry RefreshOngoingBalanceJob if stale object by @rsempe in #2691
  • fix(clickhouse): Fix timestamp precision by @jdenquin in #2689
  • perf(Filters) - increase performance of updating charge filters by @nudded in #2696
  • feat (cascading): add DB changes for charge cascading by @lovrocolic in #2693
  • feat(stripe): Improve support of Indian card by @jdenquin in #2690
  • fix(gocardless): Treat Gocardless webhooks events in separate jobs by @vincent-pochet in #2695
  • feat(clickhouse): new column for clickhouse events store on org by @jdenquin in #2699
  • feat(dunning): Add DunningCampaignsResolver by @rsempe in #2692
  • fix(netsuite): Fix the customer update payload by @ivannovosad in #2702
  • fix(gocarless): Refund metadata can contains 3 keys at max by @vincent-pochet in #2703
  • fix(wallet): Send wallet transaction webhooks outside of DB transactions by @rsempe in #2706
  • feat(dunning): Add dunning campaign to customer, database changes by @ancorcruz in #2698

New Contributors

Full Changelog: v1.13.1...v1.14.0