v1.31.0

getlago/lagov1.31.0Jun 26, 2025by vincent-pochet

AI Summary

This release introduces the ability to void invoices and generate credit notes, along with new custom pricing features and infrastructure improvements for usage backfill and ClickHouse query optimization.

Key Highlights

  • Add ability to void invoices and generate credit notes via API and Frontend
  • Allow creation of custom pricing units and handle CPU in plan forms
  • Add configs for usage backfill worker and ClickHouse query improvements
  • Migrate icons and remove styled-components dependency from Frontend

New Features

  • Void invoices
  • Generate credit notes
  • Custom pricing creation
  • Usage backfill worker
  • Pricing group cascading override

Full Release Notes

:warning: Please follow the migration guide before upgrading to this version:
https://getlago.com/docs/guide/migration/migration-to-v1.31.0

## Front changes
* fix: no hyperlinks for deleted activity type by @keellyp in https://github.com/getlago/lago-front/pull/2272
* feat: Void invoices by @stephenlago99 in https://github.com/getlago/lago-front/pull/2212
* misc: autofill code on name update in form by @ansmonjol in https://github.com/getlago/lago-front/pull/2271
* bug: restore old button version to fix auto spinner display by @ansmonjol in https://github.com/getlago/lago-front/pull/2274
* deps: remove styled-components by @ansmonjol in https://github.com/getlago/lago-front/pull/2276
* feat: allow to create custom pricing by @ansmonjol in https://github.com/getlago/lago-front/pull/2275
* bug: better spacing for details and navigation by @ansmonjol in https://github.com/getlago/lago-front/pull/2277
* feat: add frame-ancestors for ojin by @keellyp in https://github.com/getlago/lago-front/pull/2278
* refactor(design-sytem): migrate icons by @keellyp in https://github.com/getlago/lago-front/pull/2273
* bug: make sure inputs are aligned when error is displayed by @ansmonjol in https://github.com/getlago/lago-front/pull/2279
* feat: handle CPU in plan form and details by @ansmonjol in https://github.com/getlago/lago-front/pull/2280
* misc: small adjustments for custom pricing units by @ansmonjol in https://github.com/getlago/lago-front/pull/2284


**Full Changelog**: https://github.com/getlago/lago-front/compare/v1.30.0...v1.31.0


## API changes
* Fix daily usages by @ivannovosad in https://github.com/getlago/lago-api/pull/3840
* feat: Void and generate credit notes by @brunomiguelpinto in https://github.com/getlago/lago-api/pull/3748
* misc(sidekiq): Add configs for usage backfill by @ivannovosad in https://github.com/getlago/lago-api/pull/3852
* feat(pricing_group_keys): Allow cascading override by @vincent-pochet in https://github.com/getlago/lago-api/pull/3850
* feat: Generate credit note validate License by @brunomiguelpinto in https://github.com/getlago/lago-api/pull/3848
* misc(clickhouse): Add retries on to_sql by @vincent-pochet in https://github.com/getlago/lago-api/pull/3855
* feat(pricing-units): Add PricingUnitQuery with filter by name or code by @floganz in https://github.com/getlago/lago-api/pull/3854
* fix(no-customer-on-payment):early return when payment method has no c… by @mariohd in https://github.com/getlago/lago-api/pull/3826
* Fix: Retry ViesCheck after rescuing from any Valvat Maintenance exception by @diegocharles in https://github.com/getlago/lago-api/pull/3844
* feat: Admin add organization  by @brunomiguelpinto in https://github.com/getlago/lago-api/pull/3856
* misc(clickhouse): Rewrite aggregation queries using Arel by @vincent-pochet in https://github.com/getlago/lago-api/pull/3858
* fix(invoice): Fix race-condition in invoice update jobs by @groyoh in https://github.com/getlago/lago-api/pull/3851
* fix(seeds): Fix alerting seeds when no premium license is set by @groyoh in https://github.com/getlago/lago-api/pull/3860
* migration: create invoices#void_invoice_id references by @diegocharles in https://github.com/getlago/lago-api/pull/3815
* feat(stripe): Fix Stripe.api_version to `2025-04-30.basil` by @julienbourdeau in https://github.com/getlago/lago-api/pull/3823
* fix: cascade charge updates in batches by @lovrocolic in https://github.com/getlago/lago-api/pull/3861
* fix(customer): Fix array parameters in `GET /api/v1/customers` by @groyoh in https://github.com/getlago/lago-api/pull/3862
* fix(customer): Fix email validator by @ivannovosad in https://github.com/getlago/lago-api/pull/3590
* fix(customer): Fix email validation and add tests by @groyoh in https://github.com/getlago/lago-api/pull/3847
* Fix: process cascade charge creation in batches by @lovrocolic in https://github.com/getlago/lago-api/pull/3864
* Chore: dead jobs small fixes by @annvelents in https://github.com/getlago/lago-api/pull/3863
* Reapply "chore(organization): Not null organization_id" (#3838) by @vincent-pochet in https://github.com/getlago/lago-api/pull/3841
* Reapply "chore(db): Squash old migrations into a single file" (#3839) by @vincent-pochet in https://github.com/getlago/lago-api/pull/3842
* Feat(multientities): data fix for billing entitiy sequential id on invoices by @annvelents in https://github.com/getlago/lago-api/pull/3820
* update changed scope by @annvelents in https://github.com/getlago/lago-api/pull/3869


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


## What's Changed
* misc(sidekiq): Add api-usages-backfill-worker service by @ivannovosad in https://github.com/getlago/lago/pull/547
* misc(pdf): Align gotenberg versions between prod and dev environment by @floganz in https://github.com/getlago/lago/pull/549
* misc(version): Bump version to 1.31.0 by @vincent-pochet in https://github.com/getlago/lago/pull/550


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