Releases: getlago/lago
v1.33.1
What's Changed
- chore: update versions to v1.33.1 by @annvelents in #577
Full Changelog: v1.33.0...v1.33.1
API changes:
- Revert "misc(invoice): Remove OpenStruct for taxes in pay in advance" by @jdenquin in getlago/lago-api#4211
- misc: Add kosovo country code by @vincent-pochet in getlago/lago-api#4213
- misc(open-struct): Fake in advance invoices by @vincent-pochet in getlago/lago-api#4214
- Feat(fixed_charges-9): plan override changes by @annvelents in getlago/lago-api#4183
- fix(credit-notes): Prevent
ArgumentError
masking with properreason
validation by @groyoh in getlago/lago-api#4209 - fix(fixed_charges): update fixed_charge serializer by @annvelents in getlago/lago-api#4215
- feat: change the calculations by @brunomiguelpinto in getlago/lago-api#4198
- misc: Remove Events::PayInAdvanceKafkaJob by @vincent-pochet in getlago/lago-api#4219
- fix(event): Kafka payload for batch events by @vincent-pochet in getlago/lago-api#4220
- fix(entitlements): Fix privilege/feature removal when already removed by @julienbourdeau in getlago/lago-api#4222
- fix(integrations): Fix aggregator accounts service by @ivannovosad in getlago/lago-api#4206
- Fix(billing_entity): api key doesn't work for billing entities endpoint by @annvelents in getlago/lago-api#4224
Full Changelog: getlago/lago-api@v1.33.0...1.33.1
Front Changes:
- fix: get payment link wording by @keellyp in getlago/lago-front#2422
- misc: support Kosovo country code by @ansmonjol in getlago/lago-front#2423
- misc: add missing translation by @ansmonjol in getlago/lago-front#2424
- chore: billing entity name should be caption by @ansmonjol in getlago/lago-front#2426
Full Changelog: getlago/lago-front@v1.33.0...1.33.1
v1.33.0
What's Changed
- feat(pre-aggregation): Use flat filters for pay in advance events by @vincent-pochet in #569
- misc(pre-aggregation): Refactor subscription refresh by @vincent-pochet in #570
- misc(Ruby): Bump version to 3.4.5 by @vincent-pochet in #571
- chore(docker): Build public image for events processor by @jdenquin in #572
- misc(clean): Remove double workflow for processors by @jdenquin in #573
- misc(event-processor): Add event enriched expanded producer by @vincent-pochet in #567
- fix(events-processor): Fix in advance check when no charges by @vincent-pochet in #574
- fix(events-processor): Ensure grouped by is not nil by @vincent-pochet in #575
- release: Bump to v1.33.0 version by @groyoh in #576
Full Changelog: v1.32.4...v1.33.0
v1.32.4
What's Changed
- feat(pre-aggregation): Enrich events with Charge and Filters by @vincent-pochet in #563
- feat(pre-aggregation): Enrich events with grouped by by @vincent-pochet in #564
- misc(pre-aggregation): Refactor kafka producers by @vincent-pochet in #566
- chore(release): bump version to v1.32.4 by @ancorcruz in #568
Full Changelog: v1.32.3...v1.32.4
v1.32.3
Front changes
- deps: fix brace-expansion CVE by @ansmonjol in getlago/lago-front#2382
- misc: handle copy for InvoiceRegenerated activity type by @ansmonjol in getlago/lago-front#2384
- feat: prefill units/unitPreciseAmount when editing a regen fee by @stephenlago99 in getlago/lago-front#2389
- fix: default to daily view + last 30 days by @stephenlago99 in getlago/lago-front#2391
- fix: display error below tabs / improve translations by @stephenlago99 in getlago/lago-front#2392
Full Changelog: getlago/lago-front@v1.32.2...v1.32.3
API changes
- Feat(fixed_charges): Move
AmountDetails
toChargeModels
namespace by @ancorcruz in getlago/lago-api#4098 - fix(invoice): Voided invoice is disputable as well by @ivannovosad in getlago/lago-api#4107
- misc(event): Add missing results on events services by @vincent-pochet in getlago/lago-api#4110
- Fix get tax regenerate invoice by @brunomiguelpinto in getlago/lago-api#4108
- Feat(fixed_charges): Extract ChargeModel::FilterPropertiesService by @ancorcruz in getlago/lago-api#4100
- Feat(fixed_charges): Extract chargeable validation service by @ancorcruz in getlago/lago-api#4109
- REVERT: Projected usage feature on API by @murparreira in getlago/lago-api#4112
- Feat(fixed_charges): Add FixedCharges::CreateService by @ancorcruz in getlago/lago-api#4113
- fix(subscription-service): Fix potential race condition by @ivannovosad in getlago/lago-api#4117
- Feat(fixed_charges): Plans::CreateService creates fixed charges by @ancorcruz in getlago/lago-api#4116
- fix(charge-model-factory): Boolean param to only calculate the projected values when being called by the projection service by @murparreira in getlago/lago-api#4118
Full Changelog: getlago/lago-api@v1.32.2...v1.32.3
What's Changed
- feat(pre-aggregation): Extract enrichment logic in a dedicated processor by @vincent-pochet in #561
- misc(version): Bump version to 1.32.3 by @vincent-pochet in #565
Full Changelog: v1.32.2...v1.32.3
v1.32.2
What's Changed
- chore(release): bump version to v1.32.2 by @brunomiguelpinto in #562
Full Changelog: v1.32.1...v1.32.2
v1.32.1
What's Changed
- misc(docker-dev): Improve and update docker compose dev by @jdenquin in #558
- chore(docker): Add events processor docker release by @jdenquin in #559
- feat(pre-aggregation): Enrich event wit SubscriptionID and PlanID by @vincent-pochet in #556
- chore(release): bump version to v1.32.1 by @rsempe in #560
Full Changelog: v1.32.0...v1.32.1
v1.32.0
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 #554
- feat(pre-aggregation): Enrich events wit aggregation type by @vincent-pochet in #555
- fix(docker): Fix local env file by @jdenquin in #537
- chore(release): bump version to v1.32.0 by @annvelents in #557
Full Changelog: v1.31.0...v1.32.0
API changes:
- feat: handle canceled stripe payments by @brunomiguelpinto in getlago/lago-api#3870
- feat(audit-logs): Add API logs by @rsempe in getlago/lago-api#3791
- chore(charges): Charge children batch update should be low_priority by @jdenquin in getlago/lago-api#3875
- feat(webhooks): Add
plan.(created|updated|deleted)
webhooks by @julienbourdeau in getlago/lago-api#3868 - misc(pricing-units): Various adjustments by @floganz in getlago/lago-api#3874
- misc(clickhouse): Remove more to_sql from aggregation queries by @vincent-pochet in getlago/lago-api#3871
- feat: handle canceled stripe intent by @brunomiguelpinto in getlago/lago-api#3876
- misc(organization): Not null constraint on applied_usage_thresholds by @vincent-pochet in getlago/lago-api#3879
- Add fix migration by @brunomiguelpinto in getlago/lago-api#3885
- fix(warnings): Fix warnings caused by
order
andfind_each
combination by @groyoh in getlago/lago-api#3877 - feat(cursor): cursor rules and new matcher! by @julienbourdeau in getlago/lago-api#3878
- misc(organization): Not null constraint on b* models by @vincent-pochet in getlago/lago-api#3882
- misc(organization): Not null constraint on c* models by @vincent-pochet in getlago/lago-api#3883
- fix(aggregator): Add auto-retry logic on SSL error by @vincent-pochet in getlago/lago-api#3887
- misc(organization): Not null constraint on d* models by @vincent-pochet in getlago/lago-api#3884
- fix(clickhouse): Batch event end-point by @vincent-pochet in getlago/lago-api#3888
- misc(currency): Add Ghanaian Cedi (GHS) currency by @vincent-pochet in getlago/lago-api#3889
- misc(adyen): ignore RECURRING_CONTRACT webhook by @vincent-pochet in getlago/lago-api#3892
- fix(progressive_billing): Avoid checking threshold on terminated subscriptions by @vincent-pochet in getlago/lago-api#3893
- fix(wallet_transaction): Ensure consistency when creating wallet transaction by @vincent-pochet in getlago/lago-api#3895
- feat(entitlement): Introduce Feature and Privilege models by @julienbourdeau in getlago/lago-api#3873
- misc: Add pt_BR translation by @fgmacedo in getlago/lago-api#3872
- chore(i18n): Run
i18n-tasks normalize
by @julienbourdeau in getlago/lago-api#3903 - feat: all invoices can be voided now by @brunomiguelpinto in getlago/lago-api#3902
- fix(wallet_transaction): Enqueue BillPaidCreditJob after commit by @vincent-pochet in getlago/lago-api#3906
- fix(wallet): Retry balance refresh on tax errors by @vincent-pochet in getlago/lago-api#3907
- feat(wallet_transactions): Expose wallet transactions sources in GQL schemas by @sarkissianraffi in getlago/lago-api#3908
- chore(matcher): Rename
enqueue_after_commit
matcher tohave_enqueued_job_after_commit
by @groyoh in getlago/lago-api#3909 - fix(payment_request): Prevent payment creation when invoices are payment succeeded by @vincent-pochet in getlago/lago-api#3910
- fix(usages): Fix usage date - use customer timezone by @ivannovosad in getlago/lago-api#3911
- feat(events): Change index by @floganz in getlago/lago-api#3912
- fix(payments): Prevent returning non-persisted payment in stripe service by @floganz in getlago/lago-api#3916
- feat(entitlement): Attach features to plans by @julienbourdeau in getlago/lago-api#3899
- fix(specs): Add a check to fail if community PR by @groyoh in getlago/lago-api#3915
- misc: Renew token only when expired by @rsempe in getlago/lago-api#3913
- feat(entitlement): Send
plan.updated
webhooks by @julienbourdeau in getlago/lago-api#3918 - fix(specs): Run specs using
parallel_tests
in CI if PR is from a community member by @groyoh in getlago/lago-api#3917 - fix(webhook-endpoint): Add missing created_at by @vincent-pochet in getlago/lago-api#3924
- misc(organization): Not null constraint on i* models by @vincent-pochet in getlago/lago-api#3925
- fix: adjust batch size for cascade feature by @lovrocolic in getlago/lago-api#3897
- misc(organization): Not null constraint on p|r* models by @vincent-pochet in getlago/lago-api#3926
- misc(organization): Not null constraint on w* models by @vincent-pochet in getlago/lago-api#3927
- misc(organization): Not null constraint on *_taxes models by @vincent-pochet in getlago/lago-api#3929
- misc(organization): Not null constraint on integrations_* models by @vincent-pochet in getlago/lago-api#3930
- feat(entitlements): Introduce
feature.*
webhooks by @julienbourdeau in getlago/lago-api#3922 - chore(webhooks): Add default
current_organization
by @julienbourdeau in getlago/lago-api#3923 - chore(specs): Fix
DatabaseCleaner
forevents
database by @groyoh in getlago/lago-api#3914 - chore(naming): Rename
pay_in_arrear
topay_in_arrears
by @groyoh in getlago/lago-api#3928 - misc(organization): Not null constraint on i|u_* models by @vincent-pochet in getlago/lago-api#3931
- feat(usages): Add is_customer_tin_empty argument to resolvers by @ivannovosad in getlago/lago-api#3919
- misc(organization): Not null constraint on remaining models by @vincent-pochet in getlago/lago-api#3933
- chore(specs): Add missing tests for
Subscription
model by @groyoh in getlago/lago-api#3932 - allow frontend to read x-lago-token header by @mariohd in getlago/lago-api#3921
- fix(refunds): Fix refunds when payment provider customer is discarded by @ivannovosad in getlago/lago-api#3936
- fix: Ensure not null organization_id on deleted payment_provider_customers by @vincent-pochet in getlago/lago-api#3935
- chore(ai): Symlink CLAUDE.md and copilot-instructions.md by @julienbourdeau in getlago/lago-api#3942
- misc(events-processor): Add new index to speed up in advance charge processing by @vincent-pochet in getlago/lago-api#3943
- fix: prevent cascading when overridden plan is not linked to active sub by @lovrocolic in getlago/lago-api#3934
- feat(pricing-units): Support pricing unis for pay in advance fees by @floganz in getlago/lago-api#3939
- fix(invoice-collection): Add is_customer_tin_empty filter by @ivannovosad in getlago/lago-api#3940
- chore(dependency): Add
pry-byebug
as dependency by @groyoh in getlago/lago-api#3941 - fix(entitlements): Fix route for partial update of plan entitlements by @julienbourdeau in getlago/lago-api#3944
- test(factory): Add
subscription_at
tosubscription
factory by @groyoh in getlago/lago-api#3947 - test(subscription): Add more tests
Subscriptions::UpdateService
by @groyoh in getlago/lago-api#3948 - feat(pricing-units): Support pricing units in current usage by @floganz in getlago/lago-api#3945
- misc(subscription): Ensure
Subscriptions::UpdateService
usesperform_after_commit
by @groyoh in getlago/lago-api#3950 - chore(webhook): Update webhook endpoint created in seeds to a working one by @groyoh in getlago/lago-api#3951
- feat(entitlement): GQL to create, update and delete features by @julienbourdeau in getlago/lago-api#3937
- feat (wallet-limitations): add wallet_targets table and model by @lovrocolic in getlago/lago-api#3952
- fix(activity-logs): Fix
Utils::ActivityLog.produce_after_commit
when passing block by @groyoh in getlago/lago-api#3953 - Fix/audits logs not available by @mariohd in getlago/lago-api#3938
- misc(seeds): Update seeds to include tax, add-on and pay-in-advance plan by @groyoh in getlago/lago-api#3955
- misc: allow to remove a logo when passing nil by @ansmonjol in getlago/lago-api#3957
- test(subscription): Add and update tests for subscription services by @groyoh in getlago/lago-api#3962
- fix(audit-logs): Create invoice generated a...
v1.31.0
https://getlago.com/docs/guide/migration/migration-to-v1.31.0
Front changes
- fix: no hyperlinks for deleted activity type by @keellyp in getlago/lago-front#2272
- feat: Void invoices by @stephenlago99 in getlago/lago-front#2212
- misc: autofill code on name update in form by @ansmonjol in getlago/lago-front#2271
- bug: restore old button version to fix auto spinner display by @ansmonjol in getlago/lago-front#2274
- deps: remove styled-components by @ansmonjol in getlago/lago-front#2276
- feat: allow to create custom pricing by @ansmonjol in getlago/lago-front#2275
- bug: better spacing for details and navigation by @ansmonjol in getlago/lago-front#2277
- feat: add frame-ancestors for ojin by @keellyp in getlago/lago-front#2278
- refactor(design-sytem): migrate icons by @keellyp in getlago/lago-front#2273
- bug: make sure inputs are aligned when error is displayed by @ansmonjol in getlago/lago-front#2279
- feat: handle CPU in plan form and details by @ansmonjol in getlago/lago-front#2280
- misc: small adjustments for custom pricing units by @ansmonjol in getlago/lago-front#2284
Full Changelog: getlago/lago-front@v1.30.0...v1.31.0
API changes
- Fix daily usages by @ivannovosad in getlago/lago-api#3840
- feat: Void and generate credit notes by @brunomiguelpinto in getlago/lago-api#3748
- misc(sidekiq): Add configs for usage backfill by @ivannovosad in getlago/lago-api#3852
- feat(pricing_group_keys): Allow cascading override by @vincent-pochet in getlago/lago-api#3850
- feat: Generate credit note validate License by @brunomiguelpinto in getlago/lago-api#3848
- misc(clickhouse): Add retries on to_sql by @vincent-pochet in getlago/lago-api#3855
- feat(pricing-units): Add PricingUnitQuery with filter by name or code by @floganz in getlago/lago-api#3854
- fix(no-customer-on-payment):early return when payment method has no c… by @mariohd in getlago/lago-api#3826
- Fix: Retry ViesCheck after rescuing from any Valvat Maintenance exception by @diegocharles in getlago/lago-api#3844
- feat: Admin add organization by @brunomiguelpinto in getlago/lago-api#3856
- misc(clickhouse): Rewrite aggregation queries using Arel by @vincent-pochet in getlago/lago-api#3858
- fix(invoice): Fix race-condition in invoice update jobs by @groyoh in getlago/lago-api#3851
- fix(seeds): Fix alerting seeds when no premium license is set by @groyoh in getlago/lago-api#3860
- migration: create invoices#void_invoice_id references by @diegocharles in getlago/lago-api#3815
- feat(stripe): Fix Stripe.api_version to
2025-04-30.basil
by @julienbourdeau in getlago/lago-api#3823 - fix: cascade charge updates in batches by @lovrocolic in getlago/lago-api#3861
- fix(customer): Fix array parameters in
GET /api/v1/customers
by @groyoh in getlago/lago-api#3862 - fix(customer): Fix email validator by @ivannovosad in getlago/lago-api#3590
- fix(customer): Fix email validation and add tests by @groyoh in getlago/lago-api#3847
- Fix: process cascade charge creation in batches by @lovrocolic in getlago/lago-api#3864
- Chore: dead jobs small fixes by @annvelents in getlago/lago-api#3863
- Reapply "chore(organization): Not null organization_id" (#3838) by @vincent-pochet in getlago/lago-api#3841
- Reapply "chore(db): Squash old migrations into a single file" (#3839) by @vincent-pochet in getlago/lago-api#3842
- Feat(multientities): data fix for billing entitiy sequential id on invoices by @annvelents in getlago/lago-api#3820
- update changed scope by @annvelents in getlago/lago-api#3869
Full Changelog: getlago/lago-api@v1.30.0...v1.31.0
What's Changed
- misc(sidekiq): Add api-usages-backfill-worker service by @ivannovosad in #547
- misc(pdf): Align gotenberg versions between prod and dev environment by @floganz in #549
- misc(version): Bump version to 1.31.0 by @vincent-pochet in #550
Full Changelog: v1.30.0...v1.31.0
v1.30.0
What's Changed
- feat(api-logs): add api_logs topic to redpanda by @mariohd in #543
- chore(filters): Add cache management by @vincent-pochet in #542
- fix(processor): No TLS for cache by @vincent-pochet in #544
- release: Bump version to v1.30.0 by @groyoh in #546
New Contributors
Full Changelog: v1.29.0...v1.30.0
v1.29.0
What's Changed
- fix(docker): Fix redis-server version by @jdenquin in #532
- feat(audit_logs): Add activity_logs kafka topic by @rsempe in #519
- fix(docker): Fix encryption keys generation by @jdenquin in #534
- misc: Bump ruby to 3.4.4 by @vincent-pochet in #533
- chore(deployment): Add docker compose production by @jdenquin in #529
- feat(docker): Add PDF Generation in one docker image by @jdenquin in #536
- misc(version): bump version to 1.29.0 by @ancorcruz in #539
Full Changelog: v1.28.1...v1.29.0