Releases: getlago/lago
v1.25.0
What's Changed
- misc(processor): Flag errors fore retry and capture and avoid commit by @vincent-pochet in #502
- feat(processor): Add redis to flag subscription for refresh by @vincent-pochet in #500
- fix(processor): Fix redis configuration for valkey by @vincent-pochet in #505
- Chore: bump Lago version to 1.25.0 by @annvelents in #509
Full Changelog: v1.24.1...v1.25.0
Front changes
- misc: make sure we notify change on query invocation by @ansmonjol in getlago/lago-front#2098
- misc(mrr): display printable data on loading and empty results by @ansmonjol in getlago/lago-front#2099
- feat(payment_providers): Add MoneyHash by @ansmonjol in getlago/lago-front#2097
- misc(RevenueStreams): improve XAxis tick display logic by @ansmonjol in getlago/lago-front#2101
- feat: add refresh button on usage drawer by @keellyp in getlago/lago-front#2102
- misc: release analytics and improve navigation by @ansmonjol in getlago/lago-front#2103
- bug(new-analytics): make sure dates are correctly handled by @ansmonjol in getlago/lago-front#2104
- bug: no text should be wrapped in table rows by @ansmonjol in getlago/lago-front#2106
- misc: export dialog to use tailwind by @ansmonjol in getlago/lago-front#2108
- refactor: details page migration by @keellyp in getlago/lago-front#2107
- misc(CreditNoteTable): remove warnings and styled components by @ansmonjol in getlago/lago-front#2105
- misc: fix badge alignment by @ansmonjol in getlago/lago-front#2109
- misc: improve our Sentry setup by @ansmonjol in getlago/lago-front#2112
- fix: wrap table with provider by @keellyp in getlago/lago-front#2114
- refactor: developers pages by @keellyp in getlago/lago-front#2111
- chore(deps) Update dependency vite to v6.2.5 [SECURITY] by @renovate in getlago/lago-front#2100
- chore(Sentry): enable replay sessions for errors by @ansmonjol in getlago/lago-front#2116
- refactor: update dates util function by @keellyp in getlago/lago-front#2115
- chore(Sentry): record replay for 30% of errors by @ansmonjol in getlago/lago-front#2117
- misc: fix wrong attr access raising error on Sentry by @ansmonjol in getlago/lago-front#2118
- feat: Download payment receipts by @stephenlago99 in getlago/lago-front#2062
Full Changelog: getlago/lago-front@v1.24.1...v1.25.0
API changes
- feat(taxes): Add jobs to update EU Taxes by @julienbourdeau in getlago/lago-api#3390
- fix(coupon): Allow updating description when already applied by @vincent-pochet in getlago/lago-api#3412
- misc: Remove count attributes from BillableMetric graphQL type object by @ancorcruz in getlago/lago-api#3403
- Feat(multientities): add API endpoints for billing_entities by @annvelents in getlago/lago-api#3408
- Feat(multientities): serialize billing_entity_code in API by @annvelents in getlago/lago-api#3411
- fix(regroup_fees): Compute taxable_base_amount_cents on applied taxes by @rsempe in getlago/lago-api#3415
- fix: Use BigDecimal instead of Float on amount details by @rsempe in getlago/lago-api#3416
- fix(redis): increase timeouts and retry counts, and reconnect counts, add retry_jitter to avoid lock contention by @roeeklinger in getlago/lago-api#3413
- fix(services): return valid Result in AutoGenerateService by @julienbourdeau in getlago/lago-api#3414
- feat(payment_providers): Add MoneyHash [Allow edits by maintainer] by @shahwan42 in getlago/lago-api#3418
- ftr(avalara-integration): add avalara model by @lovrocolic in getlago/lago-api#3419
- Fix(multientities): create customer with billing_entity when creating a subscription by @annvelents in getlago/lago-api#3421
- Fix Invoices::PrepaidCreditJob queueing to ensure uniqueness by @ancorcruz in getlago/lago-api#3422
- Feat(multientities): step-3 billing entity graphql endpoints by @annvelents in getlago/lago-api#3382
- Feat(multientities): assign billing_entity_id when creating fees by @annvelents in getlago/lago-api#3375
- fix(bug): Stripe payment intent creation payload by @ancorcruz in getlago/lago-api#3426
- fix(sentry): stackprof should be loaded before sentry by @jdenquin in getlago/lago-api#3423
- feat(avalara-integration): add base avalara graphql connection setup by @lovrocolic in getlago/lago-api#3424
- feat(payment-receipts): Use services by @ivannovosad in getlago/lago-api#3294
- Add env var to disable lifetime-usage refresh by @nudded in getlago/lago-api#3433
- misc: Remove schema.rb by @ivannovosad in getlago/lago-api#3438
- Feat(multientities): Add support of billing_entity filter in invoices query by @annvelents in getlago/lago-api#3427
- fix(payments): Fix payment of a one time payment request by @ivannovosad in getlago/lago-api#3441
- Feat(multientities): add billing_entity to invoices#preview by @annvelents in getlago/lago-api#3417
- Fix(multientities): add billing_entity_id to cache key for analytics by @annvelents in getlago/lago-api#3425
- feat(wallet-transaction): Populate invoice_id by @floganz in getlago/lago-api#3435
- fix(payment): Fix PaymentIntentSucceededService by @ivannovosad in getlago/lago-api#3442
- fix(fee): Add repeatable read isolation for in advance fees creation by @vincent-pochet in getlago/lago-api#3444
- feat(avalara-integration): add support for updating avalara connection by @lovrocolic in getlago/lago-api#3445
- Feat(multientities): Add support of billing_entity filter in customers query by @annvelents in getlago/lago-api#3428
- fix: fix credit note applied taxes by @lovrocolic in getlago/lago-api#3446
- Feat(multientities): Add support of billing_entity filter in credit_notes query by @annvelents in getlago/lago-api#3429
- Feat(multientities): graphql create and update user with billing entity by @annvelents in getlago/lago-api#3437
- Chore(fees): add migration to populate fees with organization_id by @annvelents in getlago/lago-api#3432
- feat (avalara-integration): add GQL support for creating avalara connection by @lovrocolic in getlago/lago-api#3443
- feat(processor): Add flag subscription refresh logic by @vincent-pochet in getlago/lago-api#3393
- feat(avalara-integration): add support for avalara mapping by @lovrocolic in getlago/lago-api#3450
- Feat(multientities): migration to populate billing_entity_id on fees by @annvelents in getlago/lago-api#3431
- Feat(multientities): update discarded customers to be assigned to a billing entity by @annvelents in getlago/lago-api#3434
- fix(post-process): Enable TLS for valkey by @vincent-pochet in getlago/lago-api#3451
- Feat(multientities): Small fixes at the end of step 3 implementation by @annvelents in getlago/lago-api#3452
- fix(post-process): Fix redis connection by @vincent-pochet in getlago/lago-api#3453
- fix(cashfree): wrong module name by @julienbourdeau in getlago/lago-api#3454
- misc(processor): Change config for refresh by @vincent-pochet in getlago/lago-api#3455
New Contributors
- @shahwan42 made their first contribution in getlago/lago-api#3418
Full Changelog: getlago/lago-api@v1.24.1...v1.25.0
v1.24.1
v1.24.0
What's Changed
- chore(Release): Bump version to 1.23.0 by @ancorcruz in #480
- feat(events): Add events post-processor by @vincent-pochet in #474
- chore(deps): bump golang.org/x/net from 0.34.0 to 0.36.0 in /events_processor by @dependabot in #481
- fix: Typo in events-processor path by @vincent-pochet in #482
- misc(kafka) Add more env variable for kafka setup by @vincent-pochet in #483
- misc: Capture startup errors and replace os.Exit with panic by @vincent-pochet in #484
- fix(sentry): Env variable by @vincent-pochet in #485
- fix(submodules): version should reflect tag by @jdenquin in #486
- misc: Update lago expression by @vincent-pochet in #487
- misc: Add failed_at timestamp to dead letter events by @vincent-pochet in #488
- feat(data): Add data env variables by @rsempe in #478
- chore(deploy): Add new docker compose configuration by @jdenquin in #479
- feat(pdf): Add disable pdf generation env variables by @ivannovosad in #490
- misc: Use connection pools by @vincent-pochet in #492
- misc: Improve events-processor by @vincent-pochet in #493
- misc: Align go module name with folder name by @vincent-pochet in #494
- misc(processor): Makes db max connection configurable by @vincent-pochet in #495
- feat(event): handle in advance using source metadata payload by @vincent-pochet in #496
- misc(processor): Avoid capturing not found errors by @vincent-pochet in #497
- chore(deploy): Add docker compose with traefik configuration by @jdenquin in #491
- misc(processor): Enrich sentry error with event by @vincent-pochet in #498
- chore(Release) - Bump version to v1.24.0 by @nudded in #501
New Contributors
- @ancorcruz made their first contribution in #480
- @dependabot made their first contribution in #481
Full Changelog: v1.23.0...v1.24.0
v1.23.0
Front-end changes
- misc: extract revenue sreams methods for testing by @ansmonjol in getlago/lago-front#2054
- fix: table alignement by @keellyp in getlago/lago-front#2055
- misc: revenue streams UX improvements by @ansmonjol in getlago/lago-front#2056
- fix(text): updating stripe connection button by @julienbourdeau in getlago/lago-front#2057
- feat: revamp create wallet and create topup layout by @keellyp in getlago/lago-front#2058
- feat: add new avatar badge component by @keellyp in getlago/lago-front#2059
- misc: adjust disputed modal description by @ansmonjol in getlago/lago-front#2060
- chore(deps-minor) Update dependency prismjs to v1.30.0 [SECURITY] by @renovate in getlago/lago-front#2063
- fix(paymentList): merge cache issue by @keellyp in getlago/lago-front#2064
New Contributors
- @julienbourdeau made their first contribution in getlago/lago-front#2057
Full Changelog: getlago/lago-front@v1.22.1...v1.23.0
Back-end changes
- feat(stripe): Pre-authorize payment before creating subscription by @julienbourdeau in getlago/lago-api#3262
- chore(logs): Improve logging to json by @jdenquin in getlago/lago-api#3272
- feat(data): Add mrrs plans resolver by @rsempe in getlago/lago-api#3293
- fix(logs): Parse AJ logs in json by @jdenquin in getlago/lago-api#3301
- feat(preauth): Prepare Stripe Authorization for recent versions by @julienbourdeau in getlago/lago-api#3303
- feat(netsuite): enforce customer external id to be NetSuite EntityId by @sarkissianraffi in getlago/lago-api#3286
- chore(logs): Add level to json by @jdenquin in getlago/lago-api#3304
- fix: make json parsing more resilient by @lovrocolic in getlago/lago-api#3298
- feat(payment-receipts): Add pdf templates by @ivannovosad in getlago/lago-api#3248
- fix(invoice-preview): Add charge duration to boundaries during preview generation by @floganz in getlago/lago-api#3305
- feat(payment-receipts): Add services to create payment receipt and generate pdf by @ivannovosad in getlago/lago-api#3255
- feat(data): Add usages invoiced resolver by @rsempe in getlago/lago-api#3306
- feat(payment-receipts): Add mailer for payment receipts by @ivannovosad in getlago/lago-api#3264
- feat(payment-receipts): Add GraphQL mutation and type by @ivannovosad in getlago/lago-api#3289
- Misc: migrate invoice_errors to error_details by @annvelents in getlago/lago-api#3211
- chore(config): Improve the RSA Keys configuration by @jdenquin in getlago/lago-api#3309
- misc(wallet): Reduce number of queries to flag refresh by @vincent-pochet in getlago/lago-api#3311
- fix(dunning): adapt refund logic with dunning by @lovrocolic in getlago/lago-api#3308
- chore(deps): bump rack from 2.2.11 to 2.2.13 by @dependabot in getlago/lago-api#3314
- Feat(multi-entities): add services to update billing_entity by @annvelents in getlago/lago-api#3251
- chore(validation): Refactor Expiration Date Validation to Use Centralized Validator by @brunomiguelpinto in getlago/lago-api#3312
- Fix: overdue invoices should not include invoices not ready to be paid by @annvelents in getlago/lago-api#3315
Full Changelog: getlago/lago-api@v1.22.1...v1.23.0
What's Changed
New Contributors
Full Changelog: v1.22.1...v1.23.0
v1.22.1
v1.22.0
Front-end changes
- misc: HorizontalDataTable can interact with given data index state by @ansmonjol in getlago/lago-front#2025
- refactor: migrate integrations pages by @keellyp in getlago/lago-front#2026
- fix: handle not found error for lifetime usage by @keellyp in getlago/lago-front#2027
- feat(lago-668) - Manual payment by @keellyp in getlago/lago-front#2006
- fix: add location when search params changes to history by @keellyp in getlago/lago-front#2029
- fix: add empty state for partner filter by @keellyp in getlago/lago-front#2028
- chore(deps-major) Update dependency @sentry/react to v9 by @renovate in getlago/lago-front#2030
- chore(deps-minor) Update dependency vite to v6.1.0 by @renovate in getlago/lago-front#2031
- fix: convert date to ISO format by default by @keellyp in getlago/lago-front#2032
- refactor: replace react-window usage for tanstack/virtual by @keellyp in getlago/lago-front#2034
- misc: adjust HorizontalDataTable behaviors by @ansmonjol in getlago/lago-front#2036
- misc: add new MultipleLineChart component by @ansmonjol in getlago/lago-front#2035
- feat: add stripe crypto payment method by @keellyp in getlago/lago-front#2033
- fix: compare numbers with same precision by @keellyp in getlago/lago-front#2038
- misc: improve new analytics page skeleton by @ansmonjol in getlago/lago-front#2039
- secu: fix CVE #93 by @ansmonjol in getlago/lago-front#2040
- fix: remove usage of Date api in favour of DateTime by @keellyp in getlago/lago-front#2041
- misc: few improvement for new analytics by @ansmonjol in getlago/lago-front#2042
- feat: add support for stripe bank transfers by @keellyp in getlago/lago-front#2037
Full Changelog: getlago/lago-front@v1.21.0...v1.22.0
API changes
- feat(data): Compute daily usages for positive fees only by @rsempe in getlago/lago-api#3172
- feat(wallet): New
wallet.(created|updated|terminated)
webhooks by @julienbourdeau in getlago/lago-api#3133 - feat(DataExport): move processing to default queue by @nudded in getlago/lago-api#3175
- fix(fee-estimation): fix rounding when small amounts provided by @floganz in getlago/lago-api#3174
- misc: Add kafka event consumer by @vincent-pochet in getlago/lago-api#3176
- chore(rubocop): Disable or fix last errors by @julienbourdeau in getlago/lago-api#3179
- chore(style): Fix all string litteral quotes (Style/StringLiterals) by @julienbourdeau in getlago/lago-api#3177
- chore(deps): bump rack from 2.2.10 to 2.2.11 by @dependabot in getlago/lago-api#3180
- chore(rubocop): Enable Style/StringLiterals by @julienbourdeau in getlago/lago-api#3181
- fix: Avoid startup issue with missing LAGO_KARAFKA_WEB_SECRET by @vincent-pochet in getlago/lago-api#3183
- fix(rate-limit): Fix rate limit errors by @ivannovosad in getlago/lago-api#3184
- fix(invoice-webhooks): Fix progressive billing invoice not having webhook on payment retry by @floganz in getlago/lago-api#3182
- fix(karafka): Fix env config by @vincent-pochet in getlago/lago-api#3186
- fix(invoices): Fix progressive billing by @ivannovosad in getlago/lago-api#3188
- feat(webhooks): Add subscription updated webhook by @ivannovosad in getlago/lago-api#3169
- feat(data): Remove in_advance_fee_amount_cents from revenue streams by @rsempe in getlago/lago-api#3187
- feat(regroup_fee): Sum fees to get invoice totals instead of recomputing taxes by @julienbourdeau in getlago/lago-api#3153
- misc: Extract DailyUsages::FillHistoryJob to a new long_running queue by @rsempe in getlago/lago-api#3192
- misc: Change queue from low_priority to default when creating a payment by @rsempe in getlago/lago-api#3193
- fix(stripe): Avoid raising not_found for deleted stripe customers by @vincent-pochet in getlago/lago-api#3194
- fix(add_on): Validate presence of code by @vincent-pochet in getlago/lago-api#3195
- fix: Don't raise error when invoice's status is invalid by @rsempe in getlago/lago-api#3197
- fix(payment): Handle deleted customers by @vincent-pochet in getlago/lago-api#3196
- misc(charge): Index pay_in_advance charges to speed-up post processing by @vincent-pochet in getlago/lago-api#3189
- fix(integration): Avoid raising RecordNotUnique on race condition by @vincent-pochet in getlago/lago-api#3199
- feat(data): Do not create daily usage when no usage by @rsempe in getlago/lago-api#3198
- fix(webhook): Handle errors with payment and refunds by @vincent-pochet in getlago/lago-api#3200
- misc(mailer): Improve attachements names by @vincent-pochet in getlago/lago-api#3201
- fix(data): Convert revenue stream amount currency to non nullable by @rsempe in getlago/lago-api#3202
- misc(stripe): Improve error code handling by @vincent-pochet in getlago/lago-api#3203
- fix(customer): Add validation om customer type by @vincent-pochet in getlago/lago-api#3204
- fix(integration): Do not raise when invalid login attempt on netsuite by @rsempe in getlago/lago-api#3205
- Feat(manual payments): Support for Partial/Manual Payments by @brunomiguelpinto in getlago/lago-api#3125
- misc(integration): Add retry for invoice creation on Net::ReadTimeout by @vincent-pochet in getlago/lago-api#3207
- fix(spec): tentative fix for flacky test by @julienbourdeau in getlago/lago-api#3213
- feat(multi-entities): Add billing entity model by @ancorcruz in getlago/lago-api#3217
- chore(deps): bump nokogiri from 1.16.8 to 1.18.3 by @dependabot in getlago/lago-api#3216
- feat(stripe): Add Stripe
crypto
payment method by @julienbourdeau in getlago/lago-api#3214 - feat(mailers): Add from email premium integration by @jdenquin in getlago/lago-api#3218
- feat(dev): Add console helpers for local development by @julienbourdeau in getlago/lago-api#3210
- chore(deps): Update rubocop and standard by @julienbourdeau in getlago/lago-api#3221
- misc(incoming_webhook): Refact handling for Adyen and Cashfree by @vincent-pochet in getlago/lago-api#3212
- fix: Add unique index on payment provider id by @rsempe in getlago/lago-api#3223
- fix(currency): Use some ISO codes instead of symbols by @vincent-pochet in getlago/lago-api#3225
- fix: Delete duplicated failed payments by @rsempe in getlago/lago-api#3226
- fix(manual_payments): Fix Incorrect total_paid_amount_cents for Invoices Without Payments by @brunomiguelpinto in getlago/lago-api#3219
- feat(gql): Introduce ObfuscatedStringType by @julienbourdeau in getlago/lago-api#3209
- chore(spec): Merging rails_helper into spec_helper by @julienbourdeau in getlago/lago-api#3208
- feat(invoice-preview): generating invoice review for existing subscriptions by @lovrocolic in getlago/lago-api#3231
- fix(stripe): Avoid raising for concurent status update by @vincent-pochet in getlago/lago-api#3232
- fix(netsuite): Prevent trying to create customer with max netsuite state reached by @rsempe in getlago/lago-api#3233
- fix(integration): Fix error handling for Bad Gateway errors received as HTTP 200 by @vincent-pochet in getlago/lago-api#3234
- fix: Netsuite sync with customer nil state by @rsempe in getlago/lago-api#3235
- feat(stripe): Stop listening to
charge.succeeded
webhook by @julienbourdeau in getlago/lago-api#3228 - feat(Uniqueness) - Mark BillNonInvoiceableFeesJob as unique by @nudded in getlago/lago-api#3239
- feat(multi-entities): Add billing entities applied taxes relationship by @ancorcruz in getlago/lago-api#3227
- Feat(multi-entities): add references to and from billing_entity by @annvelents in getlago/lago-api#3224
- misc: Update rails to v7.2 by @ancorcruz in getlago/lago-api#2894
- Revert "misc: Update rails to v7.2" by @rsempe in getlago/lago-api#3243
- fix(netsuite): Use max length when creating netsuite customer by @rsempe in getlago/lago-api#3245
- misc(payment): Factorise logic for payment_url generation by @vincent-pochet in getlago/lago-api#3238
- Feat stripe bank transfers by @brunomiguelpinto in getlago/lago-api#3236
Full Changelog: getlago/lago-api@v1.21.0...v1.22.0
What's Changed
- feat(dock...
v1.21.0
v1.20.2
1.20 migration notice
Please read https://doc.getlago.com/guide/migration/migration-to-v1.20.0 before upgrading to this version (if you haven't already)
What's Changed
- chore(docker-compose): Simplify docker compose file by @jdenquin in #452
- chore(release): bump version to 1.20.2 by @nudded in #460
Full Changelog: v1.20.1...v1.20.2
v1.20.1
1.20 migration notice
Please read https://doc.getlago.com/guide/migration/migration-to-v1.20.0 before upgrading to this version
What's Changed
- feat(docker): Use .env files for dev environment by @julienbourdeau in #455
- chore(release): Bump version to 1.20.1 by @nudded in #459
New Contributors
- @julienbourdeau made their first contribution in #455
Full Changelog: v1.20.0...v1.20.1
v1.20.0
Front changes
- misc: get last codegen by @ansmonjol in getlago/lago-front#2002
Full Changelog: getlago/lago-front@v1.19.1...v1.20.0
API changes
- fix(payment): Ensure payment status is checkd as a string by @vincent-pochet in getlago/lago-api#3104
- fix(cashfree): Fix webhook and payment flow by @AyushChothe in getlago/lago-api#3106
- feat(preview-invoice): add route and controller action by @lovrocolic in getlago/lago-api#3108
- Reapply "feat(invoice): Avoid generating 0 amount charge fees (#3032)" (#3059) by @vincent-pochet in getlago/lago-api#3068
- misc(fee): Delete zero amount finalized fees by @vincent-pochet in getlago/lago-api#3020
New Contributors
- @AyushChothe made their first contribution in getlago/lago-api#3106
Full Changelog: getlago/lago-api@v1.19.1...v1.20.0
What's Changed
- misc: Bump version to v1.19.1 by @annvelents in #457
- misc: Bump version to v1.20.0 by @vincent-pochet in #458
Full Changelog: v1.19.1...v1.20.0