What's Changed
- bug(ProgressiveBilling): take failed invoices into account by @nudded in #3127
- misc(billing): Split billing job per organization by @vincent-pochet in #3109
- bug(ProgressiveBilling) - Also recalculate current_usage when invoiced usage is changed by @nudded in #3128
- misc: Introduce BaseResult to get rid of OpenStruct by @vincent-pochet in #3122
- chore(versions): Bump redis related gems and configure reconnection in redlock by @nudded in #3132
- fix: clickhouse related specs by @vincent-pochet in #3138
- feat: add Singapore to tax invoices label countries by @brunomiguelpinto in #3136
- Fix(rev-share): do not display logo in credit note PDF by @annvelents in #3141
- imp(webhooks): Increase webhook endpoints limit to 10 by @jdenquin in #3143
- fix(invoice-preview): Prevent customer updates during invoice preview by @floganz in #3140
- perf(InvoiceGeneration) - add index on invoices to speed up fetching the highest organization_sequential_id by @nudded in #3146
- feat: change BillPaidCreditJob to high_priority by @brunomiguelpinto in #3145
- fix(anrok): Remove cache for Current Usage by @julienbourdeau in #3142
- fix(fees): Avoid empty invoice subscription on regroup fees by @vincent-pochet in #3147
- chore(spec): Use
stub_pdf_generation
helper by @julienbourdeau in #3148 - chore(spec): Use instance_double instead of OpenStruct by @julienbourdeau in #3150
- Fix(revenue-share): add self-billed field to data exports by @annvelents in #3149
- fix(invoice): Add GraphQL flag to know editable status by @vincent-pochet in #3152
- feat: added PaymentRequestMailer on rescue by @brunomiguelpinto in #3155
- chore(GraphQL): rename invoice subscription attribute by @ansmonjol in #3157
- bug(GracePeriod) - Make grace period update async for increased reliability by @nudded in #3154
- hotfix(invoice): Fix graphql object rendering by @vincent-pochet in #3158
- chore(Cleanup): remove dead code in Organizations::UpdateInvoiceGrace… by @nudded in #3159
- bug(Event): Propagate expression evaluation failure by @nudded in #3160
- fix: Remove tax cache from invoice preview by @lovrocolic in #3156
- Bug(BatchEvent): add validation error propagation to batch event service by @nudded in #3161
- fix: prevent calling eu tax service when not needed by @lovrocolic in #3134
- feat(api_key): cache api key and organization by @vincent-pochet in #3137
- New
remove_branding_watermark
Premium addons by @julienbourdeau in #3162 - chore(deps): bump net-imap from 0.5.5 to 0.5.6 by @dependabot in #3164
- fix(migrations): Remove migration tasks by @vincent-pochet in #3165
- chore(spec): group scattered it blocks for Graphql Types by @julienbourdeau in #3167
- chore(git): Add #3167 to .git-blame-ignore-revs by @julienbourdeau in #3168
- feat(data): Add revenue streams resolver by @rsempe in #3151
- fix(integrations): Fix invoices with progressive billing by @ivannovosad in #3166
- Revert "fix(integrations): Fix invoices with progressive billing" by @ivannovosad in #3170
Full Changelog: v1.20.2...v1.21.0