v1.10.0

getlago/lagov1.10.0Sep 2, 2024by vincent-pochet

AI Summary

A major feature release introducing Progressive Billing for plans and subscriptions, and integrating Anrok taxes.

Key Highlights

  • Introduced Progressive Billing for plans and subscriptions
  • Integrated Anrok taxes for invoicing
  • Added email validation
  • Introduced usage thresholds GraphQL schema

New Features

  • Progressive Billing (plans/subscriptions)
  • Anrok tax integration
  • Email validation
  • Usage thresholds GraphQL

Full Release Notes

## Front changes
* misc: new translations scripts by @ansmonjol in https://github.com/getlago/lago-front/pull/1670
* chore: remove Ditto words by @ansmonjol in https://github.com/getlago/lago-front/pull/1673
* chore: simple copy update by @ansmonjol in https://github.com/getlago/lago-front/pull/1674
* chore(deps-major) Update dependency @graphql-codegen/cli to v5 by @renovate in https://github.com/getlago/lago-front/pull/1676
* chore(deps): bump braces from 3.0.2 to 3.0.3 by @dependabot in https://github.com/getlago/lago-front/pull/1675
* chore(deps-minor) Update Apollo GraphQL packages by @renovate in https://github.com/getlago/lago-front/pull/1677
* chore(deps-minor) Update dependency graphql to v16.9.0 by @renovate in https://github.com/getlago/lago-front/pull/1678
* chore(deps-minor) Update dependency ts-jest to v29.2.4 by @renovate in https://github.com/getlago/lago-front/pull/1680
* chore(deps-minor) Update testing-library monorepo by @renovate in https://github.com/getlago/lago-front/pull/1681
* chore(deps-minor) Update dependency webpack to v5.93.0 by @renovate in https://github.com/getlago/lago-front/pull/1682
* feat: migrate invoicelist with table component by @keellyp in https://github.com/getlago/lago-front/pull/1672
* misc: refactor plan advanced settings section by @ansmonjol in https://github.com/getlago/lago-front/pull/1684
* misc: resolve ws security issue by @ansmonjol in https://github.com/getlago/lago-front/pull/1685
* bug(navigationTab) fix max height falsy value by @ansmonjol in https://github.com/getlago/lago-front/pull/1686
* misc: don't require removed package by @ansmonjol in https://github.com/getlago/lago-front/pull/1687
* chore(deps): bump express from 4.18.1 to 4.19.2 by @dependabot in https://github.com/getlago/lago-front/pull/1688
* misc: fix jose CVE and fix package version by @ansmonjol in https://github.com/getlago/lago-front/pull/1689
* misc(docker): Update nginx and dependencies by @jdenquin in https://github.com/getlago/lago-front/pull/1691
* chore: fix ws deep package version by @ansmonjol in https://github.com/getlago/lago-front/pull/1692
* bug(plan details) fix minimum commitment display condition by @ansmonjol in https://github.com/getlago/lago-front/pull/1693
* chore: align wording related to connections by @ansmonjol in https://github.com/getlago/lago-front/pull/1694
* misc: update copy by @AlexEven in https://github.com/getlago/lago-front/pull/1695
* feat: tie our systems with Anrok taxes by @keellyp in https://github.com/getlago/lago-front/pull/1683
* misc: remove anrok ff usage by @ansmonjol in https://github.com/getlago/lago-front/pull/1698
* feat(plan details): display progressive billing details by @ansmonjol in https://github.com/getlago/lago-front/pull/1690
* feat: progressive billing (plan + subscription) by @keellyp in https://github.com/getlago/lago-front/pull/1696
* feat: add missing translations by @keellyp in https://github.com/getlago/lago-front/pull/1700
* misc(rate): default display up to 4 digit unless override by @ansmonjol in https://github.com/getlago/lago-front/pull/1697
* chore(createInvoice): nicely display Anrok tax error by @ansmonjol in https://github.com/getlago/lago-front/pull/1701
* misc: prevent rendering broken links by @ansmonjol in https://github.com/getlago/lago-front/pull/1703
* bug: fix invoice tax aount by @ansmonjol in https://github.com/getlago/lago-front/pull/1704
* bug(oneOffInvoice) fix tax display from provider by @ansmonjol in https://github.com/getlago/lago-front/pull/1706

## New Contributors
* @AlexEven made their first contribution in https://github.com/getlago/lago-front/pull/1695

**Full Changelog**: https://github.com/getlago/lago-front/compare/v1.9.0...v1.10.0

## API changes
* feat(ProgressiveBilling): Usage threshold should be soft deleted by @vincent-pochet in https://github.com/getlago/lago-api/pull/2429
* fix(anrok): renamed field error_details to details on error_details object by @annvelents in https://github.com/getlago/lago-api/pull/2430
* Fix(anrok): no fallback_item mapping is found by @annvelents in https://github.com/getlago/lago-api/pull/2428
* Fix: fix flaky test for eu_auto_taxes_service_spec by @annvelents in https://github.com/getlago/lago-api/pull/2436
* feat: add email validation by @brunomiguelpinto in https://github.com/getlago/lago-api/pull/2431
* feat(dunning): Add skeleton for creating a payment request by @rsempe in https://github.com/getlago/lago-api/pull/2426
* misc(devex) - Add annotations to model files by @nudded in https://github.com/getlago/lago-api/pull/2349
* feat(tresholds): Add GraphQL for usage thresholds by @ivannovosad in https://github.com/getlago/lago-api/pull/2397
* feat(ProgressiveBilling): Update PDF template by @vincent-pochet in https://github.com/getlago/lago-api/pull/2432
* feat(ProgressiveBilling) - add Clock::RefreshLifetimeUsagesJob + LifetimeUsages::RecalculateAndCheckService by @nudded in https://github.com/getlago/lago-api/pull/2435
* Fix progressive billing spec by @nudded in https://github.com/getlago/lago-api/pull/2438
* feat(ProgressiveBilling) - add negative_amount_cents to invoices by @nudded in https://github.com/getlago/lago-api/pull/2427
* feat(ProgressiveBilling): Apply credit notes, coupons and prepaid credits to invoice by @vincent-pochet in https://github.com/getlago/lago-api/pull/2433
* feat(ProgressiveBilling): Add progressive billing invoice relation to credit by @vincent-pochet in https://github.com/getlago/lago-api/pull/2440
* misc(build): Update internal build action by @jdenquin in https://github.com/getlago/lago-api/pull/2442
* misc: add scenario test that covers subscription upgrade and termination case by @lovrocolic in https://github.com/getlago/lago-api/pull/2444
* Implement Credits::ProgressiveBillingService and add it to Invoices::CalculateFeesService by @nudded in https://github.com/getlago/lago-api/pull/2443
* feat(dunning): Create payment request by @rsempe in https://github.com/getlago/lago-api/pull/2441
* feat(netsuite): Add shipping and billing address to create contact payload by @ivannovosad in https://github.com/getlago/lago-api/pull/2439
* feat(progressive-billing): Add progressive_billing to IntegrationTypeEnum by @ivannovosad in https://github.com/getlago/lago-api/pull/2447
* 🐛 bug(ProgressiveBilling) Don't set recalculation flags to true when creating LifetimeUsage by @nudded in https://github.com/getlago/lago-api/pull/2448
* Revert "feat(netsuite): Add shipping and billing address to create contact by @ivannovosad in https://github.com/getlago/lago-api/pull/2450
* feat(dunning): Prevent creating payment request when not overdue by @rsempe in https://github.com/getlago/lago-api/pull/2445
* fix: Remove conflict with a built-in method on graphql by @rsempe in https://github.com/getlago/lago-api/pull/2452
* misc(graphql): Update dependencies by @jdenquin in https://github.com/getlago/lago-api/pull/2451
* 🐛 bug(ProgressiveBilling) - Set refreshed_at timestamps for LifetimeUsage by @nudded in https://github.com/getlago/lago-api/pull/2449
* 🐛 bug(ProgressiveBilling) - Only perform calculations for active subscriptions by @nudded in https://github.com/getlago/lago-api/pull/2454
* feat(ProgressiveBilling) - rename Fees::ChargeService.create to .call by @nudded in https://github.com/getlago/lago-api/pull/2446
* Feat (anrok): display special provider rules in pdf by @annvelents in https://github.com/getlago/lago-api/pull/2425
* feat(ProgressiveBilling) - Add historical_usage_amount_cents to LifetimeUsage by @nudded in https://github.com/getlago/lago-api/pull/2457
* chore: Upgrade our `clickhouse-activerecord` fork by @julienbourdeau in https://github.com/getlago/lago-api/pull/2437
* feat(dunning): Refactor payment_requests and remove payable_groups by @rsempe in https://github.com/getlago/lago-api/pull/2456
* feat(ProgressiveBilling) - Add support for LAGO_LIFETIME_USAGE_REFRESH_INTERVAL_SECONDS  by @nudded in https://github.com/getlago/lago-api/pull/2460
* Add shipping and billing address to create contact with a fix by @ivannovosad in https://github.com/getlago/lago-api/pull/2455
* feat(ProgressiveBilling): Bill current usage by @vincent-pochet in https://github.com/getlago/lago-api/pull/2461
* feat: Unify Email Validation Across the Application by @brunomiguelpinto in https://github.com/getlago/lago-api/pull/2464
* chore(deps): bump rexml from 3.3.3 to 3.3.6 by @dependabot in https://github.com/getlago/lago-api/pull/2467
* feat(ProgressiveBilling): Apply credit to progressive billing invoices by @vincent-pochet in https://github.com/getlago/lago-api/pull/2463
* feat(ProgressiveBilling): Update PDF template by @vincent-pochet in https://github.com/getlago/lago-api/pull/2465
* chore(DB) - Add strong_migrations gem and annotate existing migrations by @nudded in https://github.com/getlago/lago-api/pull/2466
* feat(dunning): Prevent creation of payment request by @rsempe in https://github.com/getlago/lago-api/pull/2459
* feat(netsuite): Cleanup email and phone in contact payloads by @ivannovosad in https://github.com/getlago/lago-api/pull/2470
* feat(billing): Delay job retry on billing day by @julienbourdeau in https://github.com/getlago/lago-api/pull/2363
* feat(ProgressiveBilling): Improvements on PDF and APIs by @vincent-pochet in https://github.com/getlago/lago-api/pull/2469
* feat(dunning): Create stripe payment by @ancorcruz in https://github.com/getlago/lago-api/pull/2471
* feat(dunning): Create Adyen payment by @ancorcruz in https://github.com/getlago/lago-api/pull/2474
* Feat(anrok): add fields to graphql response on applied taxes by @annvelents in https://github.com/getlago/lago-api/pull/2473
* feat(ProgressiveBilling): Add invocing reason on the progressive billing invoice template by @vincent-pochet in https://github.com/getlago/lago-api/pull/2472
* feat(dunning): Create GoCardLess payment by @ancorcruz in https://github.com/getlago/lago-api/pull/2481
* feat(ProgressiveBilling) - automated CreditNote generation at the periodic invoice if needed by @nudded in https://github.com/getlago/lago-api/pull/2475
* feat(ProgressiveBilling) - take draft invoices into account for LifetimeUsage refreshing by @nudded in https://github.com/getlago/lago-api/pull/2477
* feat(ProgressiveBilling): Use draft invoices and previous subscriptions by @vincent-pochet in https://github.com/getlago/lago-api/pull/2480
* feat: fix email validation by @brunomiguelpinto in https://github.com/getlago/lago-api/pull/2483
* fix (tax-integrations): Update flow for syncing Anrok customer by @lovrocolic in https://github.com/getlago/lago-api/pull/2484
* Increase default pool size to 10 for staging databases by @nudded in https://github.com/getlago/lago-api/pull/2487
* feat(dunning): Create payment on payment request creation by @ancorcruz in https://github.com/getlago/lago-api/pull/2485
* fix(tax-integrations): condition for displaying sync action by @lovrocolic in https://github.com/getlago/lago-api/pull/2490
* Fix(anrok): include error details when serializing drafted invoice to webhook by @annvelents in https://github.com/getlago/lago-api/pull/2492
* misc(netsuite): Process payload errors by @ivannovosad in https://github.com/getlago/lago-api/pull/2489
* Fix(anrok): return only number of failed invoices by @annvelents in https://github.com/getlago/lago-api/pull/2496
* feat(dunning): Send email reminder when creating a payment request by @rsempe in https://github.com/getlago/lago-api/pull/2491
* fix (tax-integrations): expose external account id on anrok customer by @lovrocolic in https://github.com/getlago/lago-api/pull/2494
* feat(dunning): Generate Payment url for stripe and adyen by @ancorcruz in https://github.com/getlago/lago-api/pull/2495
* fix(tax-integrations): update anrok error webhook attributes by @lovrocolic in https://github.com/getlago/lago-api/pull/2497
* feat(dunning): Extend payment request response by @rsempe in https://github.com/getlago/lago-api/pull/2498
* Feat(anrok): GraphQL add enum type for tax codes that are applicable on whole invoice by @annvelents in https://github.com/getlago/lago-api/pull/2499
* feat(dunning): Add payment_request.payment_failure webhook by @ancorcruz in https://github.com/getlago/lago-api/pull/2501
* Fix(anrok): Paginate collections in graphQL mutations when sending collection_type by @annvelents in https://github.com/getlago/lago-api/pull/2502
* feat(dunning): Generate PDF files for payment request invoices by @rsempe in https://github.com/getlago/lago-api/pull/2500
* update all invoice types with new tax views by @annvelents in https://github.com/getlago/lago-api/pull/2503
* feat(dunning): complete test setting expectations of the payloads sent to stripe and adyen PSPs by @ancorcruz in https://github.com/getlago/lago-api/pull/2504
* feat(dunning): Add dunning to premium integrations by @rsempe in https://github.com/getlago/lago-api/pull/2505
* feat (tax-integrations): Use Anrok taxes for one off invoices by @lovrocolic in https://github.com/getlago/lago-api/pull/2478
* feat (tax-integrations): handle current usage with tax provider by @lovrocolic in https://github.com/getlago/lago-api/pull/2468
* feat(ProgressiveBilling) - Fix QA remarks by @nudded in https://github.com/getlago/lago-api/pull/2493
* feat (tax-integrations): Use Anrok taxes in subscription invoices flow by @lovrocolic in https://github.com/getlago/lago-api/pull/2486
* Fix(PDF): align text in one-off invoice table the same way as in subscription invoice by @annvelents in https://github.com/getlago/lago-api/pull/2507
* Fix(anrok): make tax object on applied tax optional by @annvelents in https://github.com/getlago/lago-api/pull/2508
* feat (tax-integrations): Use Anrok taxes in pay in advance flow by @lovrocolic in https://github.com/getlago/lago-api/pull/2488
* fix (tax-integrations): add missing safe operators by @lovrocolic in https://github.com/getlago/lago-api/pull/2509
* feat(dunning): define right description/reference/product name within stripe and adyen payloads by @ancorcruz in https://github.com/getlago/lago-api/pull/2510
* fix(thresholds): Fix updating plan with deleted thresholds by @ivannovosad in https://github.com/getlago/lago-api/pull/2479
* feat(ProgressiveBilling): Expose Invoice#AppliedUsageThresholds in REST API by @vincent-pochet in https://github.com/getlago/lago-api/pull/2511
* fix (tax-integrations): do not call update integration customer external service for anrok by @lovrocolic in https://github.com/getlago/lago-api/pull/2514
* fix (tax-integrations): use billing address if there is no shipping address by @lovrocolic in https://github.com/getlago/lago-api/pull/2515
* feat(precise_amount): Add migration, model methods and serializer by @ivannovosad in https://github.com/getlago/lago-api/pull/2516
* fix (tax-integrations): apply zero tax for unknown tax exemption by @lovrocolic in https://github.com/getlago/lago-api/pull/2517
* feat(invoices): Ability to skip 0 invoices by @brunomiguelpinto in https://github.com/getlago/lago-api/pull/2462
* Fix: allow code for plans_controller#show to contain dots by @annvelents in https://github.com/getlago/lago-api/pull/2434
* feat(dunning): Add update_payment_status for gocardless payments by @ancorcruz in https://github.com/getlago/lago-api/pull/2518
* feat(dunning): Add customerId to invoices graphql resolver by @rsempe in https://github.com/getlago/lago-api/pull/2513
* Feat(anrok): add enumed_tax_code to tax breakdown serialization by @annvelents in https://github.com/getlago/lago-api/pull/2512
* feat(dunning): Add hasOverdueInvoices field to customer resolver by @rsempe in https://github.com/getlago/lago-api/pull/2520
* feat(ProgressiveBilling) - Only refresh LifeTimeUsage for premium integrations with progressive_billing enabled by @nudded in https://github.com/getlago/lago-api/pull/2523
* feat(dunning): Add update_payment_status for stripe payments by @ancorcruz in https://github.com/getlago/lago-api/pull/2521
* feat(dunning): Add update_payment_status for adyen payments by @ancorcruz in https://github.com/getlago/lago-api/pull/2522


**Full Changelog**: https://github.com/getlago/lago-api/compare/v1.9.0...v1.10.0

## What's Changed
* Remove obsolete docker-compose.yml version by @alecspopa in https://github.com/getlago/lago/pull/395
* misc(version): Bump to v1.10.0 by @vincent-pochet in https://github.com/getlago/lago/pull/396

## New Contributors
* @alecspopa made their first contribution in https://github.com/getlago/lago/pull/395

**Full Changelog**: https://github.com/getlago/lago/compare/v1.9.0...v1.10.0