v1.32.0

getlago/lagov1.32.0Jul 24, 2025by annvelents

AI Summary

Major release introducing Entitlements, new webhooks, and currency support, accompanied by a migration guide.

Key Highlights

  • Introduced Feature and Privilege models
  • Added Plan webhooks (created, updated, deleted)
  • Added Ghanaian Cedi (GHS) currency support
  • Enabled voiding for all invoices

New Features

  • Entitlement models
  • Plan webhooks
  • GHS currency support
  • Invoice voiding

Full Release Notes

## Migration Guide
Please, follow the migration guide: https://getlago.com/docs/guide/migration/migration-to-v1.32.0

## What's Changed
* chore(webhook): Add a container to log and debug webhooks in dev environment by @groyoh in https://github.com/getlago/lago/pull/554
* feat(pre-aggregation): Enrich events wit aggregation type by @vincent-pochet in https://github.com/getlago/lago/pull/555
* fix(docker): Fix local env file by @jdenquin in https://github.com/getlago/lago/pull/537
* chore(release): bump version to v1.32.0 by @annvelents in https://github.com/getlago/lago/pull/557


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

## API changes:
* 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


## Front Changes:
* feat(billing-entities): Billing entity invoice custom sections / dunning campaigns by @stephenlago99 in https://github.com/getlago/lago-front/pull/2240
* feat: API logs in developer console by @keellyp in https://github.com/getlago/lago-front/pull/2281
* bug: make sure applied PU only contain rate on override by @ansmonjol in https://github.com/getlago/lago-front/pull/2286
* misc: improve form perf by delaying validation by @ansmonjol in https://github.com/getlago/lago-front/pull/2287
* misc: reduce graph complexity in invoice overview by @ansmonjol in https://github.com/getlago/lago-front/pull/2288
* misc: get last codegen by @ansmonjol in https://github.com/getlago/lago-front/pull/2290
* misc: rework navigation UI by @ansmonjol in https://github.com/getlago/lago-front/pull/2282
* fix: include search params when navigate to api logs by @keellyp in https://github.com/getlago/lago-front/pull/2292
* feat: display pricing units in invoice details by @ansmonjol in https://github.com/getlago/lago-front/pull/2289
* bug: adjust nav spacing for responsive by @ansmonjol in https://github.com/getlago/lago-front/pull/2295
* bug: update email validation by @ansmonjol in https://github.com/getlago/lago-front/pull/2294
* chore: remove icons by @keellyp in https://github.com/getlago/lago-front/pull/2296
* misc: Add pt_BR translation by @ansmonjol in https://github.com/getlago/lago-front/pull/2298
* refactor(design-system): 🔨 add more accessibility to tooltip by @ansmonjol in https://github.com/getlago/lago-front/pull/2299
* bug: prevent skeleton to overflow by @ansmonjol in https://github.com/getlago/lago-front/pull/2301
* deps: bump @nangohq/frontend by @ansmonjol in https://github.com/getlago/lago-front/pull/2300
* feat(wallet_transactions): add wallet transaction sources by @sarkissianraffi in https://github.com/getlago/lago-front/pull/2304
* misc: adjust recent copy addition by @ansmonjol in https://github.com/getlago/lago-front/pull/2305
* misc: prevent showing too much elements on loading by @ansmonjol in https://github.com/getlago/lago-front/pull/2306
* bug: make sure logo is display once uploaded in settings by @ansmonjol in https://github.com/getlago/lago-front/pull/2303
* feat(analytics): Create new "customer has tax id" filter by @stephenlago99 in https://github.com/getlago/lago-front/pull/2308
* fix: some warnings on runtime by @keellyp in https://github.com/getlago/lago-front/pull/2307
* fix: add searchTerm parameter to getTaxesForPlan gql query by @ansmonjol in https://github.com/getlago/lago-front/pull/2310
* bug: prevent double scroll in wallet topup page by @ansmonjol in https://github.com/getlago/lago-front/pull/2313
* bug: prevent unexpected scroll on auth pages by @ansmonjol in https://github.com/getlago/lago-front/pull/2312
* misc: allow to select accordion summary text by @ansmonjol in https://github.com/getlago/lago-front/pull/2311
* misc: remove duplicate copy and related logic by @ansmonjol in https://github.com/getlago/lago-front/pull/2318
* misc: display coupon code in customer coupon list by @ansmonjol in https://github.com/getlago/lago-front/pull/2321
* misc: make sure promise is passed to button to show loading by @ansmonjol in https://github.com/getlago/lago-front/pull/2319
* misc: allow to define max width on Table columns by @ansmonjol in https://github.com/getlago/lago-front/pull/2320
* misc: improve combobox data display by @ansmonjol in https://github.com/getlago/lago-front/pull/2322
* bug: fixing missed combobox invocation updates by @ansmonjol in https://github.com/getlago/lago-front/pull/2323
* misc: change coupon code typo style by @ansmonjol in https://github.com/getlago/lago-front/pull/2324
* bug: allow to create invoice with null addon description by @ansmonjol in https://github.com/getlago/lago-front/pull/2326
* misc: adjust auth UI by @ansmonjol in https://github.com/getlago/lago-front/pull/2325
* misc: add subhead2 and adjust usages by @ansmonjol in https://github.com/getlago/lago-front/pull/2297
* misc: better nav loading skeleton by @ansmonjol in https://github.com/getlago/lago-front/pull/2327
* misc: break email if no space to display by @ansmonjol in https://github.com/getlago/lago-front/pull/2328
* misc: adjust settings copy size by @ansmonjol in https://github.com/getlago/lago-front/pull/2329
* misc: improve the logo removal experience by @ansmonjol in https://github.com/getlago/lago-front/pull/2330
* feat: new payment list page by @keellyp in https://github.com/getlago/lago-front/pull/2314
* misc: spin the reload icon on data fetch by @ansmonjol in https://github.com/getlago/lago-front/pull/2331
* bug: fix missed nav height values by @ansmonjol in https://github.com/getlago/lago-front/pull/2336
* misc: add link to coupons in customer details by @ansmonjol in https://github.com/getlago/lago-front/pull/2337
* misc: show pricing units in current usage table by @ansmonjol in https://github.com/getlago/lago-front/pull/2332
* deps: bump lago-expression by @ansmonjol in https://github.com/getlago/lago-front/pull/2335
* deps: migrate cypress to latest v14 by @ansmonjol in https://github.com/getlago/lago-front/pull/2334
* feat: new credit note list page by @keellyp in https://github.com/getlago/lago-front/pull/2315
* feat: new subscription list page by @keellyp in https://github.com/getlago/lago-front/pull/2316
* misc: switch most of button with plus icon to inline variant by @ansmonjol in https://github.com/getlago/lago-front/pull/2333
* misc: pricing units adjustments by @ansmonjol in https://github.com/getlago/lago-front/pull/2338
* fix: display loading state on subscription page by @keellyp in https://github.com/getlago/lago-front/pull/2340
* deps: get last lago-expression version by @ansmonjol in https://github.com/getlago/lago-front/pull/2339
* misc: show PU Fiat amount value in drawer by @ansmonjol in https://github.com/getlago/lago-front/pull/2341
* misc: align action with label baseline by @ansmonjol in https://github.com/getlago/lago-front/pull/2342
* misc: make CMD + click redirects to the package component by @ansmonjol in https://github.com/getlago/lago-front/pull/2343
* misc: get last codegen by @ansmonjol in https://github.com/getlago/lago-front/pull/2346
* bug: improve portal copy variant by @ansmonjol in https://github.com/getlago/lago-front/pull/2345
* feat: add Flutterwave PSP by @ansmonjol in https://github.com/getlago/lago-front/pull/2270
* deps: removed unused styled-engine package by @ansmonjol in https://github.com/getlago/lago-front/pull/2348
* feat: improve components ds by @keellyp in https://github.com/getlago/lago-front/pull/2347
* fix: do not clean taxes in plan values by @keellyp in https://github.com/getlago/lago-front/pull/2344
* misc: display PU name in plan details by @ansmonjol in https://github.com/getlago/lago-front/pull/2350
* fix: avoid rendering empty section on navigation by @keellyp in https://github.com/getlago/lago-front/pull/2349
* fix: disable button to delete ourselves by @keellyp in https://github.com/getlago/lago-front/pull/2351
* bug: only allow to create a payment on finalized invoices by @ansmonjol in https://github.com/getlago/lago-front/pull/2356
* feat: sso-enforcement by @keellyp in https://github.com/getlago/lago-front/pull/2354
* feat: release pricing units by @ansmonjol in https://github.com/getlago/lago-front/pull/2358
* fix: remove rule to delete member by @keellyp in https://github.com/getlago/lago-front/pull/2359
* fix: delete admin members by @keellyp in https://github.com/getlago/lago-front/pull/2360