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(docker): Single docker image by @jdenquin in #464
- fix(ga): Fix single docker image ga by @jdenquin in #466
- fix(gha): use submodules by @jdenquin in #467
- misc: Remove useless env variable LAGO_LICENSE_URL by @rsempe in #469
- misc: Bump version to v1.22.0 by @vincent-pochet in #471
Full Changelog: v1.21.0...v1.22.0