Logo
Explore Help
Sign in
fslabs/lago-api
fslabs/lago-api
10
0
Fork
You've already forked lago-api
0
Code Issues Pull requests Projects Releases 182 Packages Wiki Activity Actions
182 releases 187 tags
  • v1.32.0 8f06ce0ac6

    v1.32.0 Stable

    annvelents released this 2025-07-24 15:12:57 +00:00 | 703 commits to main since this release

    Migration guide:

    please, follow the migration guide:
    https://getlago.com/docs/guide/migration/migration-to-v1.32.0

    What's Changed

    • feat: handle canceled stripe payments by @brunomiguelpinto in https://github.com/getlago/lago-api/pull/3870
    • feat(audit-logs): Add API logs by @rsempe in https://github.com/getlago/lago-api/pull/3791
    • chore(charges): Charge children batch update should be low_priority by @jdenquin in https://github.com/getlago/lago-api/pull/3875
    • feat(webhooks): Add plan.(created|updated|deleted) webhooks by @julienbourdeau in https://github.com/getlago/lago-api/pull/3868
    • misc(pricing-units): Various adjustments by @floganz in https://github.com/getlago/lago-api/pull/3874
    • misc(clickhouse): Remove more to_sql from aggregation queries by @vincent-pochet in https://github.com/getlago/lago-api/pull/3871
    • feat: handle canceled stripe intent by @brunomiguelpinto in https://github.com/getlago/lago-api/pull/3876
    • misc(organization): Not null constraint on applied_usage_thresholds by @vincent-pochet in https://github.com/getlago/lago-api/pull/3879
    • Add fix migration by @brunomiguelpinto in https://github.com/getlago/lago-api/pull/3885
    • fix(warnings): Fix warnings caused by order and find_each combination by @groyoh in https://github.com/getlago/lago-api/pull/3877
    • feat(cursor): cursor rules and new matcher! by @julienbourdeau in https://github.com/getlago/lago-api/pull/3878
    • misc(organization): Not null constraint on b* models by @vincent-pochet in https://github.com/getlago/lago-api/pull/3882
    • misc(organization): Not null constraint on c* models by @vincent-pochet in https://github.com/getlago/lago-api/pull/3883
    • fix(aggregator): Add auto-retry logic on SSL error by @vincent-pochet in https://github.com/getlago/lago-api/pull/3887
    • misc(organization): Not null constraint on d* models by @vincent-pochet in https://github.com/getlago/lago-api/pull/3884
    • fix(clickhouse): Batch event end-point by @vincent-pochet in https://github.com/getlago/lago-api/pull/3888
    • misc(currency): Add Ghanaian Cedi (GHS) currency by @vincent-pochet in https://github.com/getlago/lago-api/pull/3889
    • misc(adyen): ignore RECURRING_CONTRACT webhook by @vincent-pochet in https://github.com/getlago/lago-api/pull/3892
    • fix(progressive_billing): Avoid checking threshold on terminated subscriptions by @vincent-pochet in https://github.com/getlago/lago-api/pull/3893
    • fix(wallet_transaction): Ensure consistency when creating wallet transaction by @vincent-pochet in https://github.com/getlago/lago-api/pull/3895
    • feat(entitlement): Introduce Feature and Privilege models by @julienbourdeau in https://github.com/getlago/lago-api/pull/3873
    • misc: Add pt_BR translation by @fgmacedo in https://github.com/getlago/lago-api/pull/3872
    • chore(i18n): Run i18n-tasks normalize by @julienbourdeau in https://github.com/getlago/lago-api/pull/3903
    • feat: all invoices can be voided now by @brunomiguelpinto in https://github.com/getlago/lago-api/pull/3902
    • fix(wallet_transaction): Enqueue BillPaidCreditJob after commit by @vincent-pochet in https://github.com/getlago/lago-api/pull/3906
    • fix(wallet): Retry balance refresh on tax errors by @vincent-pochet in https://github.com/getlago/lago-api/pull/3907
    • feat(wallet_transactions): Expose wallet transactions sources in GQL schemas by @sarkissianraffi in https://github.com/getlago/lago-api/pull/3908
    • chore(matcher): Rename enqueue_after_commit matcher to have_enqueued_job_after_commit by @groyoh in https://github.com/getlago/lago-api/pull/3909
    • fix(payment_request): Prevent payment creation when invoices are payment succeeded by @vincent-pochet in https://github.com/getlago/lago-api/pull/3910
    • fix(usages): Fix usage date - use customer timezone by @ivannovosad in https://github.com/getlago/lago-api/pull/3911
    • feat(events): Change index by @floganz in https://github.com/getlago/lago-api/pull/3912
    • fix(payments): Prevent returning non-persisted payment in stripe service by @floganz in https://github.com/getlago/lago-api/pull/3916
    • feat(entitlement): Attach features to plans by @julienbourdeau in https://github.com/getlago/lago-api/pull/3899
    • fix(specs): Add a check to fail if community PR by @groyoh in https://github.com/getlago/lago-api/pull/3915
    • misc: Renew token only when expired by @rsempe in https://github.com/getlago/lago-api/pull/3913
    • feat(entitlement): Send plan.updated webhooks by @julienbourdeau in https://github.com/getlago/lago-api/pull/3918
    • fix(specs): Run specs using parallel_tests in CI if PR is from a community member by @groyoh in https://github.com/getlago/lago-api/pull/3917
    • fix(webhook-endpoint): Add missing created_at by @vincent-pochet in https://github.com/getlago/lago-api/pull/3924
    • misc(organization): Not null constraint on i* models by @vincent-pochet in https://github.com/getlago/lago-api/pull/3925
    • fix: adjust batch size for cascade feature by @lovrocolic in https://github.com/getlago/lago-api/pull/3897
    • misc(organization): Not null constraint on p|r* models by @vincent-pochet in https://github.com/getlago/lago-api/pull/3926
    • misc(organization): Not null constraint on w* models by @vincent-pochet in https://github.com/getlago/lago-api/pull/3927
    • misc(organization): Not null constraint on *_taxes models by @vincent-pochet in https://github.com/getlago/lago-api/pull/3929
    • misc(organization): Not null constraint on integrations_* models by @vincent-pochet in https://github.com/getlago/lago-api/pull/3930
    • feat(entitlements): Introduce feature.* webhooks by @julienbourdeau in https://github.com/getlago/lago-api/pull/3922
    • chore(webhooks): Add default current_organization by @julienbourdeau in https://github.com/getlago/lago-api/pull/3923
    • chore(specs): Fix DatabaseCleaner for events database by @groyoh in https://github.com/getlago/lago-api/pull/3914
    • chore(naming): Rename pay_in_arrear to pay_in_arrears by @groyoh in https://github.com/getlago/lago-api/pull/3928
    • misc(organization): Not null constraint on i|u_* models by @vincent-pochet in https://github.com/getlago/lago-api/pull/3931
    • feat(usages): Add is_customer_tin_empty argument to resolvers by @ivannovosad in https://github.com/getlago/lago-api/pull/3919
    • misc(organization): Not null constraint on remaining models by @vincent-pochet in https://github.com/getlago/lago-api/pull/3933
    • chore(specs): Add missing tests for Subscription model by @groyoh in https://github.com/getlago/lago-api/pull/3932
    • allow frontend to read x-lago-token header by @mariohd in https://github.com/getlago/lago-api/pull/3921
    • fix(refunds): Fix refunds when payment provider customer is discarded by @ivannovosad in https://github.com/getlago/lago-api/pull/3936
    • fix: Ensure not null organization_id on deleted payment_provider_customers by @vincent-pochet in https://github.com/getlago/lago-api/pull/3935
    • chore(ai): Symlink CLAUDE.md and copilot-instructions.md by @julienbourdeau in https://github.com/getlago/lago-api/pull/3942
    • misc(events-processor): Add new index to speed up in advance charge processing by @vincent-pochet in https://github.com/getlago/lago-api/pull/3943
    • fix: prevent cascading when overridden plan is not linked to active sub by @lovrocolic in https://github.com/getlago/lago-api/pull/3934
    • feat(pricing-units): Support pricing unis for pay in advance fees by @floganz in https://github.com/getlago/lago-api/pull/3939
    • fix(invoice-collection): Add is_customer_tin_empty filter by @ivannovosad in https://github.com/getlago/lago-api/pull/3940
    • chore(dependency): Add pry-byebug as dependency by @groyoh in https://github.com/getlago/lago-api/pull/3941
    • fix(entitlements): Fix route for partial update of plan entitlements by @julienbourdeau in https://github.com/getlago/lago-api/pull/3944
    • test(factory): Add subscription_at to subscription factory by @groyoh in https://github.com/getlago/lago-api/pull/3947
    • test(subscription): Add more tests Subscriptions::UpdateService by @groyoh in https://github.com/getlago/lago-api/pull/3948
    • feat(pricing-units): Support pricing units in current usage by @floganz in https://github.com/getlago/lago-api/pull/3945
    • misc(subscription): Ensure Subscriptions::UpdateService uses perform_after_commit by @groyoh in https://github.com/getlago/lago-api/pull/3950
    • chore(webhook): Update webhook endpoint created in seeds to a working one by @groyoh in https://github.com/getlago/lago-api/pull/3951
    • feat(entitlement): GQL to create, update and delete features by @julienbourdeau in https://github.com/getlago/lago-api/pull/3937
    • feat (wallet-limitations): add wallet_targets table and model by @lovrocolic in https://github.com/getlago/lago-api/pull/3952
    • fix(activity-logs): Fix Utils::ActivityLog.produce_after_commit when passing block by @groyoh in https://github.com/getlago/lago-api/pull/3953
    • Fix/audits logs not available by @mariohd in https://github.com/getlago/lago-api/pull/3938
    • misc(seeds): Update seeds to include tax, add-on and pay-in-advance plan by @groyoh in https://github.com/getlago/lago-api/pull/3955
    • misc: allow to remove a logo when passing nil by @ansmonjol in https://github.com/getlago/lago-api/pull/3957
    • test(subscription): Add and update tests for subscription services by @groyoh in https://github.com/getlago/lago-api/pull/3962
    • fix(audit-logs): Create invoice generated activity log when needed by @rsempe in https://github.com/getlago/lago-api/pull/3964
    • misc(true-up-fee): Improve amounts precision for true up fee by @floganz in https://github.com/getlago/lago-api/pull/3963
    • chore(plans): Use update_all to flag plan children for deletion by @julienbourdeau in https://github.com/getlago/lago-api/pull/3967
    • feat(entitlements): Add entitlements to plan response (read-only) by @julienbourdeau in https://github.com/getlago/lago-api/pull/3960
    • fix(subscription): Ensure Subscriptions::TerminateService runs in a transaction by @groyoh in https://github.com/getlago/lago-api/pull/3965
    • fix(plans): better plan reload by @julienbourdeau in https://github.com/getlago/lago-api/pull/3969
    • feat(pricing-units): Support pricing units for true up fees by @floganz in https://github.com/getlago/lago-api/pull/3968
    • feat(entitlements): Require Premium license for Entitlements by @julienbourdeau in https://github.com/getlago/lago-api/pull/3958
    • test(credit-note): Update job assertions for CreditNotes::CreateService tests by @groyoh in https://github.com/getlago/lago-api/pull/3966
    • misc(adjusted-fee): Simplify calculations and minor refactoring by @floganz in https://github.com/getlago/lago-api/pull/3880
    • Chore: add customer_id to payment by @annvelents in https://github.com/getlago/lago-api/pull/3961
    • feat(pricing-unit): Add support for pricing units in AdjustedFee by @floganz in https://github.com/getlago/lago-api/pull/3881
    • Fix(payments with customer_id): update query that populates payments with customer id by @annvelents in https://github.com/getlago/lago-api/pull/3977
    • Fix(payment to have customer_id): job to populate payments with customer by @annvelents in https://github.com/getlago/lago-api/pull/3981
    • Feat(subscriptions-list): add search_term to subscriptions and payments by @annvelents in https://github.com/getlago/lago-api/pull/3898
    • Fix(payments): do not send to FE payments without customer by @annvelents in https://github.com/getlago/lago-api/pull/3983
    • Filter PaymentRequests by payment_status by @mariohd in https://github.com/getlago/lago-api/pull/3980
    • Fix(daily-usages): Retry job fix by @ivannovosad in https://github.com/getlago/lago-api/pull/3987
    • avoid papertrail when touching ChargeFilterValue by @mariohd in https://github.com/getlago/lago-api/pull/3989
    • proper way to disable paper trail for classes by @mariohd in https://github.com/getlago/lago-api/pull/3991
    • misc(activity-log): Add after_commit parameter to BaseService.activity_loggable by @groyoh in https://github.com/getlago/lago-api/pull/3970
    • misc(cursor): Add commit message and coding rules by @groyoh in https://github.com/getlago/lago-api/pull/3975
    • misc(seeds): Update seeds to include coupons by @groyoh in https://github.com/getlago/lago-api/pull/3994
    • fix(pricing-units): Minor fixes related to pricing units by @floganz in https://github.com/getlago/lago-api/pull/3988
    • Fix(daily-usages): Retry job fix (#3987) - use after_commit instead by @ivannovosad in https://github.com/getlago/lago-api/pull/3996
    • Feat forecast calculate price by @ivannovosad in https://github.com/getlago/lago-api/pull/3634
    • chore(specs): Fix DatabaseCleaner for clickhouse database by @groyoh in https://github.com/getlago/lago-api/pull/3993
    • fix: Abilitiy to filter subscriptions by plan code by @rsempe in https://github.com/getlago/lago-api/pull/4002
    • Fix(invoice-deletion): when destroying invoices, also destroy it's payments by @annvelents in https://github.com/getlago/lago-api/pull/3998
    • feat(entitlement): Edit entitlements with graphql by @julienbourdeau in https://github.com/getlago/lago-api/pull/3976
    • test(credit-note): Refactor CreditNotes::CreateFromTermination spec by @groyoh in https://github.com/getlago/lago-api/pull/4003
    • feat(logs): produce activity logs after commit by default by @julienbourdeau in https://github.com/getlago/lago-api/pull/4005
    • feat: Add regenerated_invoice_id to invoice_subscriptions and update terminating index by @brunomiguelpinto in https://github.com/getlago/lago-api/pull/4006
    • fix(pricing-units): Fix calculations for pay in advance fees by @floganz in https://github.com/getlago/lago-api/pull/4009
    • fix: rename post-upgrade task by @annvelents in https://github.com/getlago/lago-api/pull/3997
    • feat(entitlements): Add ActivityLogs for feature and entitlements by @julienbourdeau in https://github.com/getlago/lago-api/pull/3999
    • feat(entitlement): Add Feature.subscriptions_count by @julienbourdeau in https://github.com/getlago/lago-api/pull/4007
    • feat(fixed_charges): Add migration for FixedCharge ChargeModel enum by @ancorcruz in https://github.com/getlago/lago-api/pull/4000
    • fix(db): Add where deleted_at is null condition on privileges by @julienbourdeau in https://github.com/getlago/lago-api/pull/4012
    • Feat(fixed_charges): add bill_fixed_charges_monthly to plan by @annvelents in https://github.com/getlago/lago-api/pull/4008
    • feat(wallet-limitations): apply wallet credits with BM limitation by @lovrocolic in https://github.com/getlago/lago-api/pull/3995
    • fix(mrrs-plan): Fix GraphQL DataApiMrrPlan mrr_share nullable by @ivannovosad in https://github.com/getlago/lago-api/pull/4013
    • Feat(fixed charges): fixed charge model by @annvelents in https://github.com/getlago/lago-api/pull/4010
    • feat(payment-providers): Add Flutterwave payment provider integration by @vincent-pochet in https://github.com/getlago/lago-api/pull/4014
    • feat(subscriptions): Allow to skip credit note on subscription termination by @groyoh in https://github.com/getlago/lago-api/pull/3974
    • misc(migration): Update a single migration to version 8.0 by @groyoh in https://github.com/getlago/lago-api/pull/4020
    • test(subscriptions): Add manual termination scenario tests by @groyoh in https://github.com/getlago/lago-api/pull/4001
    • feat(subscription): Allow to skip credit note creation on subscription termination via GraphQL by @groyoh in https://github.com/getlago/lago-api/pull/4021
    • fix (wallets): include limitation object in collection response by @lovrocolic in https://github.com/getlago/lago-api/pull/4023
    • feat (wallet-limitations): Apply billable metric limitation to ongoing balance by @lovrocolic in https://github.com/getlago/lago-api/pull/4004
    • misc(subscriptions): Refactor CreditNotes::CreateFromTermination and its tests by @groyoh in https://github.com/getlago/lago-api/pull/4025
    • misc(export): Add invoice_subscription view by @vincent-pochet in https://github.com/getlago/lago-api/pull/4028
    • feat(exports): Add payments export view by @jdenquin in https://github.com/getlago/lago-api/pull/4030
    • feat(exports): Add Payment Requests view by @jdenquin in https://github.com/getlago/lago-api/pull/4033
    • feat(infra): Process SubscriptionActivity every minute by @julienbourdeau in https://github.com/getlago/lago-api/pull/4032
    • feat(pricing-group-keys): Migrate charges/filters grouped_by to pricing_group_keys by @vincent-pochet in https://github.com/getlago/lago-api/pull/3853
    • misc: better typing for PrivilegeObject config attribute by @ansmonjol in https://github.com/getlago/lago-api/pull/4031
    • feat(entitlement): Introduce subscription override by @julienbourdeau in https://github.com/getlago/lago-api/pull/4022
    • feat(entitlements): Restore privilege ids in gql by @julienbourdeau in https://github.com/getlago/lago-api/pull/4036
    • feat(entitlements): Add value validation by @julienbourdeau in https://github.com/getlago/lago-api/pull/4035
    • fix(organization#admins): Return the correct set of admins by @mariohd in https://github.com/getlago/lago-api/pull/4037
    • chore(migrations): Add frozen_string_literal auto comment by @jdenquin in https://github.com/getlago/lago-api/pull/4043
    • chore(sec): Add GraphQL max query length validation by @jdenquin in https://github.com/getlago/lago-api/pull/4038
    • feat(exports): Add credits amount on fees export view by @jdenquin in https://github.com/getlago/lago-api/pull/4039
    • test(matcher): Improve have_enqueued_job_after_commit matcher by @groyoh in https://github.com/getlago/lago-api/pull/4046
    • feat(entitlement): Change DELETE /remove to POST /restore by @julienbourdeau in https://github.com/getlago/lago-api/pull/4048
    • feat(exports): Add refunded_at on credit notes export view by @jdenquin in https://github.com/getlago/lago-api/pull/4040
    • feat(exports): Exports all customers by @jdenquin in https://github.com/getlago/lago-api/pull/4042
    • chore(deps): bump thor from 1.3.2 to 1.4.0 by @dependabot[bot] in https://github.com/getlago/lago-api/pull/4044
    • chore(deps): bump nokogiri from 1.18.8 to 1.18.9 by @dependabot[bot] in https://github.com/getlago/lago-api/pull/4045
    • misc(credit-note): Refactor CreditNotes::CreateFromTermination spec by @groyoh in https://github.com/getlago/lago-api/pull/4049
    • feat(sso_enforcement): Enforce SSO login across my organization by @mariohd in https://github.com/getlago/lago-api/pull/3896
    • (fix): Use new TokenService by @mariohd in https://github.com/getlago/lago-api/pull/4052
    • feat(entitlement): append new select_options + not null db column by @julienbourdeau in https://github.com/getlago/lago-api/pull/4051
    • feat(pricing-units): Add API for pricing units by @floganz in https://github.com/getlago/lago-api/pull/4050
    • test(subscription): Add missing tests subscription GraphQL types by @groyoh in https://github.com/getlago/lago-api/pull/4054
    • feat(pricing-units): Refactor invoice PDF by @floganz in https://github.com/getlago/lago-api/pull/3866
    • fix(entitlements): Use Array of privileges instead of hash indexed by code by @julienbourdeau in https://github.com/getlago/lago-api/pull/4056
    • fix(event-aggregation): the query should group prorated units by day by @annvelents in https://github.com/getlago/lago-api/pull/3890
    • fix(entitlements): Remove update resource routes by @julienbourdeau in https://github.com/getlago/lago-api/pull/4058
    • feat(pricing-units): Adjust PDF for pricing unit by @floganz in https://github.com/getlago/lago-api/pull/3867
    • Revert "fix(event-aggregation): the query should group prorated units by day" by @annvelents in https://github.com/getlago/lago-api/pull/4059
    • feat(subscription): Allow to skip invoice generation on subscription termination by @groyoh in https://github.com/getlago/lago-api/pull/4047
    • feat(subscription): Allow to skip invoice on subscription termination via GraphQL by @groyoh in https://github.com/getlago/lago-api/pull/4053
    • fit(entitlements): Better serializer constructor by @julienbourdeau in https://github.com/getlago/lago-api/pull/4061
    • integration(netsuite): add plan_code to netsuite payload by @sarkissianraffi in https://github.com/getlago/lago-api/pull/4055
    • feat(daily_usage): Add to_datetime support for backfill job by @jdenquin in https://github.com/getlago/lago-api/pull/4064
    • fix(entitlements): Fix various bugs by @julienbourdeau in https://github.com/getlago/lago-api/pull/4063

    New Contributors

    • @fgmacedo made their first contribution in https://github.com/getlago/lago-api/pull/3872

    Full Changelog: https://github.com/getlago/lago-api/compare/v1.31.0...v1.32.0

    Downloads
    • Source code (ZIP)
      0 downloads
    • Source code (TAR.GZ)
      0 downloads
Powered by Forgejo Version: 14.0.0 Page: 48ms Template: 9ms
English
Bahasa Indonesia Dansk Deutsch English Español Esperanto Filipino Français Italiano Latviešu Magyar nyelv Nederlands Plattdüütsch Polski Português de Portugal Português do Brasil Slovenščina Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API