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