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