Releases: getlago/lago-api
Releases · getlago/lago-api
v1.1.2
What's Changed
- feat (accounting-integrations): add integration destroy mutation by @lovrocolic in #1852
- chore(ci): Update pronto actions/checkout to v4 by @julienbourdeau in #1855
- feat(integrations-mutations): Add mutations for netsuite integration by @ivannovosad in #1850
- refactor: check validate_organization! on graphql resolve when RequiredOrganization included by @josemoyab in #1853
- chore(ci): tentative fix pronto by @julienbourdeau in #1857
- fix(pdf): Remove extra blank link in custom footer by @julienbourdeau in #1854
- feat(filter): Move group API fields into legacy serializers by @vincent-pochet in #1851
- misc: remove unnecessary organization validations by @lovrocolic in #1858
- feat(integrations-attributes): Add new attribute to netsuite integration by @ivannovosad in #1859
- feat(okta): Add Okta integration setup by @jdenquin in #1860
- chore(config): Move Sidekiq config to initializer by @julienbourdeau in #1861
- feat(filter): API - Render values in fees by @vincent-pochet in #1862
- feat(disputes): Add payment dispute stripe and adyen service by @ivannovosad in #1838
- fix(invoice): Bill usage-based charges if subscription is terminated on day one by @julienbourdeau in #1863
New Contributors
- @josemoyab made their first contribution in #1853
Full Changelog: v1.1.1...v1.1.2
v1.1.1
What's Changed
- fix(prepaid-credit): Automatic topup without any usage by @rsempe in #1816
- misc(observability): Add OpenTelemetry support by @jdenquin in #1817
- feat(model): Introduce Subscription.in_trial_period? by @julienbourdeau in #1820
- feat(disputes): Add dispute columns to invoices by @ivannovosad in #1818
- feat(disputes): Add payment_dispute_lost_at to analytics queries by @ivannovosad in #1822
- feat(disputes): Add route, controller action and service for lost disputes by @ivannovosad in #1823
- misc: Prevent duplications of at_time_zone methods by @rsempe in #1827
- feat(trial): Introduce Subscriptions::FreeTrialBillingService by @julienbourdeau in #1821
- misc: Extract pending subscription factory into a trait by @rsempe in #1830
- feat(disputes): Add graphql mutation for lost disputes by @ivannovosad in #1828
- misc(unique-count): Remove deprecated QuantifiedEvents by @vincent-pochet in #1825
- feat(filter): Handle adjusted fees and improve ignored filters by @vincent-pochet in #1831
- feat(disputes): Add payment_dispute_lost webhook by @ivannovosad in #1832
- feat(filter): GraphQL and BillableMetricFilter improvements by @vincent-pochet in #1833
- misc(sidekiq): use JSON Sidekiq Logger by @jdenquin in #1826
- fix: allow display name edition for all types of fees in draft invoice by @lovrocolic in #1837
- chore(env): define ActiveRecord encryption config by @julienbourdeau in #1839
- poc(billing): Refactor first invoice when pay plan.in_advance by @julienbourdeau in #1836
- fix(invoice): prevent NaN error while refreshing invoice by @lovrocolic in #1841
- fix(invoices): Fix boundaries when in advance anniversary by @vincent-pochet in #1840
- fix(grace-period): Avoid multiple finalize call when grace period is the same by @jdenquin in #1843
- feat (integrations): add base model and db setup for integrations by @lovrocolic in #1842
- fix(customer-editable): Fix Customer#editable? by @ivannovosad in #1844
- feat(filter): last mergeable changes before release by @vincent-pochet in #1848
- feat(accounting-integrations): add support for integrations graphql queries by @lovrocolic in #1849
Full Changelog: v1.1.0...v1.1.1
v1.1.0
What's Changed
- fix: Aggregation of weighted sum bm linked to a percentage charge model by @rsempe in #1775
- fix(credit-note): Store plan amount on fees to compute termination credit note by @vincent-pochet in #1776
- feat(filter): Add post event validation (again) by @vincent-pochet in #1769
- feat(filters): Add ChargeFilter#to_h by @rsempe in #1777
- fix(credit_note): Handle consecutive subscription upgrade by @vincent-pochet in #1778
- feat(invoice-numbering): add new per_organisation numbering logic by @lovrocolic in #1774
- feat(sso): Add Google signup by @jdenquin in #1779
- feat(min-spend): Add minimum commitment locales by @ivannovosad in #1783
- fix: Handle error in clockwork post validation by @vincent-pochet in #1786
- feat(min-spend): Add commitment-related methods to models by @ivannovosad in #1784
- feat(min-spend): Add minimum commitment to pdf invoice templates by @ivannovosad in #1785
- fix(payment): Stop failing all the process when failing to enqueue a payment by @vincent-pochet in #1789
- fix (date-boundaries): yearly plan boundaries for anniversary interval were incorrect by @lovrocolic in #1794
- fix(payment-methods): Fix provider payment methods by @ivannovosad in #1795
- feat(min-spend): Add services for minimum commitment calculations by @ivannovosad in #1788
- feat(min-spending): Add scenario specs by @ivannovosad in #1787
- feat(min-spend): Cleanup by @ivannovosad in #1782
- misc: Replace each with find_each in plan and customer delete services by @vincent-pochet in #1796
- feat(filter): Accept multiple values on a charge_filter_value by @vincent-pochet in #1793
- feat(filter): Create fee for each charge filter by @rsempe in #1790
- fix(invoices): assign correct issuing_date for charge pay in advance invoice by @lovrocolic in #1800
- feat(filter): Take match_all into account for aggregation by @vincent-pochet in #1799
- feat(filter): current usage charge with applied filters by @vincent-pochet in #1801
- fix(subscription-boundaries): adapt charges boundaries for upgrade case by @lovrocolic in #1797
- feat(filter): Update ALL_FILTER_VALUES constant by @vincent-pochet in #1802
- fix(filters): Allow update of charge model by @vincent-pochet in #1803
- fix(filter): Invoice should be created when default prices is set by @vincent-pochet in #1804
- chore(rubocop): disable new cops by default by @julienbourdeau in #1807
- feat(sso): Google Accept Invite by @jdenquin in #1806
- chore(rubocop): Fix RSpec/FilePath by @julienbourdeau in #1808
- fix(tax): Block Eu Tax Management if org is not in EU country by @julienbourdeau in #1805
- feat(filter): Pay in advance aggregation support by @vincent-pochet in #1798
- Refactor event transaction in estimate_pay_in_advance_service.rb by @ccfiel in #1813
- fix(filter): Return default filter in usage by @vincent-pochet in #1810
- feat (invoice-numbering): generate invoice number upon invoice finalization by @lovrocolic in #1811
- feat: adding SENTRY_ENVIRONMENT to sentry config by @inventionlabsSydney in #1781
- fix: Fix timezone issue with full free trial period by @rsempe in #1815
- misc: Add missing spec for fee estimate by @vincent-pochet in #1814
New Contributors
- @julienbourdeau made their first contribution in #1807
- @ccfiel made their first contribution in #1813
- @inventionlabsSydney made their first contribution in #1781
Full Changelog: v1.0.0...v1.0.1
v1.0.0
What's Changed
- feat(filter): Expose charge filters into GraphQL API by @vincent-pochet in #1735
- feat(filter): Add relation between charge filter and cached aggregation by @vincent-pochet in #1739
- misc: Add a test case for the 29th of february by @vincent-pochet in #1740
- misc: Remove wait time for subscription billing by @vincent-pochet in #1741
- feat(filter): Expose filter with fees and usage in GraphQL by @vincent-pochet in #1742
- feat(stripe-payment-methods): update stripe payment provider method list by @lovrocolic in #1738
- feat(filter): Sort bm filters and values by @rsempe in #1745
- feat(filter): Expose charge filters in API by @vincent-pochet in #1743
- feat(filter): Add relation between charge_filter and bm filters by @rsempe in #1746
- Revert "feat(filter): Add support for filter in plan override" by @vincent-pochet in #1747
- feat(filter): Add support for filter in plan override by @vincent-pochet in #1749
- misc: Remove unused code related to QuantifiedEvent by @rsempe in #1750
- feat(filter): Add missing charge filter id relations by @rsempe in #1752
- feat(filter): Preload charge filter and groups in past usage fees by @vincent-pochet in #1753
- misc: Add test for pay in advance subscription with free trial by @rsempe in #1756
- mics(graph) change type name by @ansmonjol in #1757
- feat(filter): Add post validation logic for events by @vincent-pochet in #1751
- feat(filter): Remove *_filters#lago_id in API by @vincent-pochet in #1758
- fix(sub-termination): update automatic credit note creation logic by @lovrocolic in #1755
- fix: Credit note calculation with trial period by @rsempe in #1759
- fix(stripe): Prevent stripe error form behing reraised by @vincent-pochet in #1762
- fix(filter): Billable metric creation and update from GraphQL by @vincent-pochet in #1764
- misc: Add github action to test DB migrations by @vincent-pochet in #1761
- fix(weighted-sum): Fix TypeError with grouped weighted sum by @vincent-pochet in #1765
- fix: Rollback post validation job with filters by @vincent-pochet in #1766
- feat(filter): Add match all value for charge_filters by @vincent-pochet in #1767
- fix: cover edge case when pending subscriptions need to be canceled by @lovrocolic in #1763
- feat(filter): Remove seeds for groups by @rsempe in #1768
- feat(filter): Prevent from having empty filter display name by @rsempe in #1770
- feat(filter): Prevent from having empty filter display name by @vincent-pochet in #1772
- misc: Prevent from having Adyen authentication deadjobs by @rsempe in #1771
- feat(sso): Add Google Auth Support by @jdenquin in #1744
- misc: Add index on ast_hour_events_mv#organization_id by @vincent-pochet in #1773
Full Changelog: v0.57.1-beta...v1.0.0
v0.57.1-beta
What's Changed
- fix: Add Net::HTTPBadResponse in the webhook error retry list by @vincent-pochet in #1714
- Syncronize with db/schema.rb generated by rails db:migrate by @dorianmariecom in #1718
- Add arm64-darwin-23 platform to Gemfile.lock by @dorianmariecom in #1716
- feat(minimum-spending): Add graphql commitment type by @ivannovosad in #1640
- fix(stripe): Handle validation error in PaymentProviders::Stripe::HandleEventJob by @vincent-pochet in #1722
- misc: Add ruby-lsp-rails in the gemfile by @vincent-pochet in #1723
- Fix flaky test for invoice finalize service by @dorianmariecom in #1720
- require a SEGMENT_WRITE_KEY by @dorianmariecom in #1717
- fix(groupe-by): Ensure all groups appears on invoice by @vincent-pochet in #1724
- fix(webhook): retry Errno::EPIPE errors by @vincent-pochet in #1725
- feat(filter): Discard filter and its values by @vincent-pochet in #1727
- misc(currency) add JOD by @ansmonjol in #1729
- build(deps): bump rails from 7.0.8 to 7.0.8.1 by @dependabot in #1731
- fix (credit-notes): handle NaN issue in draft invoice refresh part by @lovrocolic in #1733
- feat(unique-count): Refactor UniqueCountService and event ingestion by @vincent-pochet in #1709
- feat(edit-plan-amount-cents): Allow editing plan amount cents by @lovrocolic in #1726
- feat(filter): Add validations for charge filters and values by @vincent-pochet in #1728
- feat(filter): Add creation and update logic for charge filters by @vincent-pochet in #1730
- fix(credit-notes): recalculate credit note item upon draft invoice refresh by @lovrocolic in #1734
- fix: Deliver email with SendEmailJob by @vincent-pochet in #1736
- misc: fix flaky test by @lovrocolic in #1737
New Contributors
- @dorianmariecom made their first contribution in #1718
Full Changelog: v0.57.0-beta...v0.57.1-beta
v0.57.0-beta
What's Changed
- feat(unique-count): Implement basic unique count for PostgresStore by @rsempe in #1692
- misc: Fix typo sanitized_property_name by @rsempe in #1693
- feat(unique-count): Add prorated unique count method by @rsempe in #1694
- feat(unique-count): Add unique count to ClickhouseStore by @vincent-pochet in #1697
- feat(unique-count): Add grouped unique count to PostgresStore by @rsempe in #1696
- feat(unique-count): Add grouped prorated unique count to PostgresStore by @rsempe in #1698
- feat(unique-count): Add prorated unique count to ClickhouseStore by @vincent-pochet in #1700
- feat(unique-count): Add grouped_unique_count to ClickhouseStore by @rsempe in #1701
- fix (charge models): adjust volume charge model logic by @lovrocolic in #1699
- feat(unique-count): Add grouped_prorated_unique_count to ClickhouseStore by @rsempe in #1702
- feat(unique-count): Prorated unique count queries by @vincent-pochet in #1704
- fix (jobs-inside-transaction): add setup for after commit everywhere and fix customer.vies_check webhook by @lovrocolic in #1703
- feat (plan-changes): Adjust boundaries upon subscription upgrade by @lovrocolic in #1695
- fix(fees): Fix creating yearly in-arrears subscription fee by @ivannovosad in #1707
- feat(unique_count): Reafact queries and add prorated breakdown by @vincent-pochet in #1708
- fix: Updating plan with new charge by @rsempe in #1706
- feat(unique_count): Add active_unique_property to event stores by @vincent-pochet in #1710
- fix(subscriptions): fix edit subscription attached to parent plan by @lovrocolic in #1711
- fix (invoices): group invoices upon downgrade and upgrade by @lovrocolic in #1712
- fix: Fix a small edge case with datetime diff computation by @vincent-pochet in #1713
Full Changelog: v0.56.0-beta...v0.57.0-beta
v0.56.0-beta
What's Changed
- feat(payment-url): generate payment url for stripe and adyen by @lovrocolic in #1628
- feat(grouped_by): Add support for unique count by @vincent-pochet in #1668
- build(deps): bump nokogiri from 1.15.4 to 1.16.2 by @dependabot in #1673
- test(subscriptions): more list-subscriptions tests by @stephentgrammer in #1663
- fix (invoice-number): use organization timezone in per org numbering by @lovrocolic in #1671
- fix(one-off-invoices): support string as well for one-off units by @lovrocolic in #1675
- feat(grouped-by): Fix unique count aggregation by @vincent-pochet in #1679
- fix(clickhouse): Fix clickhouse strings by @jdenquin in #1680
- fix: Group scope for clickhouse store by @rsempe in #1681
- fix(invoice-pdf): handle invoice pdf template issues by @lovrocolic in #1677
- feat(grouped-by): Prorated unique count aggregation by @vincent-pochet in #1670
- feat(minimum-spending): Add support for plan overrides by @ivannovosad in #1629
- feat(grouped-by): Quantified event processing after event creation by @vincent-pochet in #1672
- fix(customers): Fix provider emails by @jdenquin in #1682
- fix(invoice-pdf): add new PDF template updates by @lovrocolic in #1684
- misc(html-invoices): Add route for showing invoices as html by @ivannovosad in #1667
- misc(puma): Upgrade to 6.x by @jdenquin in #1683
- fix: add guard operators to prevent fail if email is not defined by @lovrocolic in #1686
- fix(currency): Add missing KWD currency by @vincent-pochet in #1687
- feat(grouped_by): Filter charge models properties by @vincent-pochet in #1678
- feat(grouped-by): Cleanup and fixes to finalize the feature by @vincent-pochet in #1685
- fix(weighted-sum): Turn kafka timestamp into a string by @vincent-pochet in #1690
- misc: small refactoring regarding caching and event stores by @vincent-pochet in #1691
- fix(graphql): Fix potential travers on memberships by @jdenquin in #1688
- fix(payment): Fix Adyen invoice payment by @ivannovosad in #1689
New Contributors
- @stephentgrammer made their first contribution in #1663
Full Changelog: v0.55.0-beta...v0.56.0-beta
v0.55.0-beta
What's Changed
- Update Dockerfile to fix health check reliant on curl binary by @zeeshanmuhammad in #1621
- feat(group-by): handle group for in pay in advance charges by @vincent-pochet in #1620
- feat(filter): Add grouped_by logic on events aggregation by @vincent-pochet in #1624
- feat(group-by): Change grouped_by type for fees and cached_aggregation by @vincent-pochet in #1626
- fix: decrease adyen chekout url expiration time by @lovrocolic in #1627
- feat(minimum-spending): Add controllers for plan commitments by @ivannovosad in #1622
- feat(grouped-by) Refact AdjustedFees for grouped by by @vincent-pochet in #1630
- fix(clickhouse): Refact clickhouse grouped_max to prevent flaky tests by @vincent-pochet in #1631
- feat(clickhouse): Configure Kafka topic with env var by @jdenquin in #1632
- fix(payment-methods): Fix updating payment provider payment methods by @ivannovosad in #1633
- fix(grouped-by): Current usage for grouped charges by @vincent-pochet in #1636
- feat(grouped-by) Adapt sum aggregation to return grouped aggregation by @vincent-pochet in #1634
- feat(grouped-by): Current usage for in advance aggregation by @vincent-pochet in #1637
- feat(grouped-by): Add grouped count aggregation by @vincent-pochet in #1638
- feat(grouped-by): Add grouped prorated sum logic by @vincent-pochet in #1639
- feat(grouped-by): Adapt max aggregation to return grouped aggregation by @vincent-pochet in #1641
- feat(grouped-by): Adapt latest aggregation to return grouped aggregation by @vincent-pochet in #1642
- fix(grouped-by): GraphQL current usage was invalid by @vincent-pochet in #1645
- fix(event): Add missing organization scope to event stores by @vincent-pochet in #1647
- feat(clickhouse): Clickhouse migration paths by @jdenquin in #1646
- fix(grouped-by): Fix usage API when a group is set by @vincent-pochet in #1650
- Add database check by @odnobit in #1643
- feat(grouped-by): Add full logic on weighted sum aggregation by @vincent-pochet in #1649
- misc: Add started_at value to the default subscription factory by @rsempe in #1651
- feat(organizations): Add Show endpoint by @jdenquin in #1654
- feat (document-template): Adjust credit note and invoice templates by @lovrocolic in #1653
- misc: add scenario that checks boundaries in February for leap year by @lovrocolic in #1655
- feat(minimum-spending): Calculate minimum commitment amount cents by @ivannovosad in #1648
- fix(grouped-by): Current usage with in advance aggregation by @vincent-pochet in #1652
- feat(grouped-by): Basic refactoring for unique count aggregation by @vincent-pochet in #1656
- misc(ruby): update to 3.2.3 by @jdenquin in #1657
- feat(events) Modify events batch length limit by @odnobit in #1659
- fix: update scenario billing specs by @lovrocolic in #1658
- fix: update grouped_by display helper by @lovrocolic in #1661
- feat(prepaid-credits): Add service for refreshing wallets by @rsempe in #1618
- fix(grouped-by): temporary fallback for unique-count until it is finalized by @vincent-pochet in #1662
- misc: update ruby-version file by @lovrocolic in #1660
- fix: remove zero units fees from PDF template by @lovrocolic in #1664
- fix: Set organization_sequential_id only on invoice creation by @rsempe in #1665
- fix: Ensure subscription activation clock job cannot be enqueued twice by @vincent-pochet in #1666
New Contributors
- @zeeshanmuhammad made their first contribution in #1621
- @odnobit made their first contribution in #1643
Full Changelog: v0.54.2-beta...v0.55.0-beta
v0.54.2-beta
What's Changed
- feat(edit-draft-invoice): Apply adjusted fee on subscription fee by @lovrocolic in #1574
- feat(edit-draft-invoice): Apply adjusted fee on charge fee by @lovrocolic in #1586
- feat (edit-draft-invoice): add adjusted fee bool field in fee graphql object by @lovrocolic in #1587
- misc: Clean migration data task by @rsempe in #1623
Full Changelog: v0.54.1-beta...v0.54.2-beta
v0.54.1-beta
What's Changed
- misc(configuration): configure log level by @jdenquin in #1614
- fix: Initial migration is broken with missing task by @vincent-pochet in #1615
- feat(minimum-spending): Add serializers by @ivannovosad in #1613
- feat(filter): Discard filters with billable metrics by @vincent-pochet in #1608
- feat(filter): Handle billable metric filters in GraphQL and API by @vincent-pochet in #1609
- feat(group-by): add grouped_by_value logic to event stores by @vincent-pochet in #1617
- feat(group-by): Expose grouped_by for fees in GraphQL API by @vincent-pochet in #1616
- feat(filter): Create or update service for billable metric filters by @vincent-pochet in #1606
Full Changelog: v0.54.0-beta...v0.54.1-beta