Releases: getlago/lago
v1.8.0
What's Changed
- misc: Rename dev containers by @vincent-pochet in #382
Full Changelog: v1.7.0...v1.8.0
v1.7.0
⚠️ Reminder: API changes
As announced a few months ago, this release updates the event ingestion process and removes deprecated API fields.
Changes include:
1️⃣ Replacing groups with filters
The new dimension system based on filters is already available. It allows users to create billable metrics with more than two dimensions, and makes it easier to create charges based on custom event properties. The former dimension system based on groups is now permanently removed from the Lago API (see all changes).
2️⃣ Marking external_subscription_id as mandatory for events
Events that only include external_customer_id will no longer be taken into account when aggregating usage (learn more). This change will streamline the event validation process and enable real-time billing capabilities.
3️⃣ Removing deprecated API fields
For the sake of clarity and to preserve the quality of the API, we’ve deprecated several legacy fields (see full list).
👉 Migration to v1.2.0 (full post)
Front changes
- feat: sync invoice with Xero by @ansmonjol in getlago/lago-front#1606
- bug: prevent chain form update by @ansmonjol in getlago/lago-front#1608
Full Changelog: getlago/lago-front@v1.6.4...v1.7.0
API changes
- feat(event): Add clickhouse pre-aggregation config by @vincent-pochet in getlago/lago-api#2252
- misc: Remove deprecated group handling by @vincent-pochet in getlago/lago-api#2257
- misc: Remove deprecated API fields by @vincent-pochet in getlago/lago-api#2261
- misc: Force external_subscription_id when creating events by @rsempe in getlago/lago-api#2270
- feat(applied-taxes): add logic for creating applied taxes based on external provider by @lovrocolic in getlago/lago-api#2267
Full Changelog: getlago/lago-api@v1.6.4...v1.7.0
What's Changed
- misc(version): Bump to v1.7.0 by @vincent-pochet in #381
Full Changelog: v1.6.4...v1.7.0
v1.6.4
API Changes
- fix(stripe): Add invoice description to payment url payload by @ivannovosad in getlago/lago-api#2278
- fix: Fix flaky test for commitment fees amount sort by @brunomiguelpinto in getlago/lago-api#2284
- fix(analytics): Prevent fetching deleted customer analytics by @rsempe in getlago/lago-api#2285
- feat: Add partial index to fees on charge_id and invoice_id by @brunomiguelpinto in getlago/lago-api#2283
Front Changes
- feat: implement new font system by @ansmonjol in getlago/lago-front#1602
- bug(xero): fetch accounts in payment mapping modal by @ansmonjol in getlago/lago-front#1603
- fix: search by tax name when getting taxes for add-on by @annvelents in getlago/lago-front#1604
- chore(BM): query heavy calculation attribute on uniq object query by @ansmonjol in getlago/lago-front#1605
- bug: prevent useless query after BM deletion getlago/lago-front@876c484
What's Changed
Full Changelog: v1.6.3...v1.6.4
v1.6.3
API Changes
- fix(stripe): nil result on small amount by @vincent-pochet in getlago/lago-api#2279
- feat(dunning): Add customer portal analytics resources by @rsempe in getlago/lago-api#2236
- misc: remove groups from event post validation by @vincent-pochet in getlago/lago-api#2280
- misc: Add LAGO_CLICKHOUSE_MIGRATIONS_ENABLED env by @vincent-pochet in getlago/lago-api#2281
Front Changes
- bug: fix error assertion for graduated error display by @ansmonjol in getlago/lago-front#1599
- feat: dunning display by @keellyp in getlago/lago-front#1584
- misc: simple copy adjustment by @ansmonjol in getlago/lago-front#1600
What's Changed
Full Changelog: v1.6.2...v1.6.3
v1.6.2
API Changes
- fix(integrations): Fix creating a deleted customer by @ivannovosad in getlago/lago-api#2265
- fix (integration-customers): adapt integration customer queries by @lovrocolic in getlago/lago-api#2269
- feat(events): Track event sent without external_subscription_id for /estimate_fees by @julienbourdeau in getlago/lago-api#2271
- fix: disable transaction on migration by @brunomiguelpinto in getlago/lago-api#2273
- fix: add disable_ddl_transaction by @brunomiguelpinto in getlago/lago-api#2274
- feat(export-invoice-fees): Export invoice fees to CSV by @ancorcruz in getlago/lago-api#2268
- fix(export-invoices): Namespace DataExports graphQL enum types by @ancorcruz in getlago/lago-api#2275
- fix(migrations): Split add_column and index by @julienbourdeau in getlago/lago-api#2276
- fix(migrations): Split add_column and index by @julienbourdeau in getlago/lago-api#2277
Front Changes
- chore(deps-minor) Update dependency typescript to v5.5.3 by @renovate in getlago/lago-front#1592
- chore(deps-minor) Update typescript-eslint monorepo to v7.15.0 by @renovate in getlago/lago-front#1594
- chore(deps-minor) Update sentry-javascript monorepo by @renovate in getlago/lago-front#1593
- bug: set correct z-index for nav elements by @ansmonjol in getlago/lago-front#1597
- misc: fix copy used for PP section by @ansmonjol in getlago/lago-front#1596
- bug: improve charge model logic by @ansmonjol in getlago/lago-front#1595
- bug: display balanceAmountCents voidable in CN list by @ansmonjol in getlago/lago-front#1598
What's Changed
Full Changelog: v1.6.1...v1.6.2
v1.6.1
What's Changed
- misc: Update start guide in README by @vincent-pochet in #371
- feat(event): Add Kafka topic for clickhouse pre-aggregation by @vincent-pochet in #372
API Changes
- feat(xero): Add services and payloads for contacts by @ivannovosad in getlago/lago-api#2211
- chore(factories): Don't use Faker names for random codes by @julienbourdeau in getlago/lago-api#2222
- misc: Prevent fetching non-authorized resources by @rsempe in getlago/lago-api#2227
- feat(anrok-integration): add support for customer shipping address on the API side by @lovrocolic in getlago/lago-api#2217
- misc(sidekiq): New approach for cron monitoring by @Vincent-P ochet in getlago/lago-api#2225
- misc(currency) add IRR by @vincent-pochet in getlago/lago-api#2230
- fix(bm): Handle colon in billable metric code by @vincent-pochet in getlago/lago-api#2234
- feat(export invoices): Create data export by @ancorcruz in getlago/lago-api#2226
- chore(schema): Commit fresh schema.rb by @julienbourdeau in getlago/lago-api#2237
- feat (netsuite-integration): Add BE support for netsuite TBA by @lovrocolic in getlago/lago-api#2238
- fix(wallet): Prevent from having duplicate Invoices::PrepaidCreditJob by @rsempe in getlago/lago-api#2243
- fix(trial): Handle timezone correct to bill subscription on billing day by @julienbourdeau in getlago/lago-api#2244
- fix(netsuite-integration): limit netsuite payload rate by @lovrocolic in getlago/lago-api#2242
- feat(fees): Invoice non-invoiceable fees at the end of the period by @julienbourdeau in getlago/lago-api#2171
- feat(event): Add view to allow caching of charge/filters for billable_metrics by @vincent-pochet in getlago/lago-api#2231
- feat(charges): Add
regroup_paid_fees
to Charge by @julienbourdeau in getlago/lago-api#2232 - Add all available filters to /api/v1/invoices endpoint by @ancorcruz in getlago/lago-api#2250
- feat: Add Discard Handling for AuthenticationError by @brunomiguelpinto in getlago/lago-api#2239
- chore(perf): Add missing frozen_string_literal comment by @julienbourdeau in getlago/lago-api#2251
- feat(papertrail): Add Lago Version to papertrail metadata by @julienbourdeau in getlago/lago-api#2240
- fix: Startup script does not always perform migrations by @vincent-pochet in getlago/lago-api#2246
- feat(event): Pre-aggregation grouped_by with charge filters by @vincent-pochet in getlago/lago-api#2255
- feat(export invoices): add mutation to request data export for invoices by @ancorcruz in getlago/lago-api#2245
- fix(signup): Use correct env var to check if signup is disabled by @jdenquin in getlago/lago-api#2256
- feat: Enable Regroup Fees Feature by @brunomiguelpinto in getlago/lago-api#2253
- feat(export invoices): CSV export by @ancorcruz in getlago/lago-api#2248
- feat (tax-integrations): Add anrok fetch services by @lovrocolic in getlago/lago-api#2247
- fix(grouped-usage): Fix graphql grouped usage when no display name by @jdenquin in getlago/lago-api#2259
- feat: add link to payment methods by @vincent-pochet in getlago/lago-api#2235
- feat(dx): Add
find
helper in Rails console by @julienbourdeau in getlago/lago-api#2258 - feat(deprecation): Add reset methods by @julienbourdeau in getlago/lago-api#2262
- fix: Ensure Consistent Return of
result
Object on Stripe Exceptions by @brunomiguelpinto in getlago/lago-api#2263 - feat: Add ability to soft delete fees by @brunomiguelpinto in getlago/lago-api#2233
- fix: Normalize CSV Comparison in Tests to Ignore Quotes by @brunomiguelpinto in getlago/lago-api#2264
Full Changelog: getlago/lago-api@v1.6.0...v1.7.0
Front Changes
- feat: allow to link a xero integration to a customer by @ansmonjol in getlago/lago-front#1571
- fix: percentage display in coupon page by @keellyp in getlago/lago-front#1573
- feat: add shipping address by @keellyp in getlago/lago-front#1572
- bug: charge min amount should default to undefined if not set by @ansmonjol in getlago/lago-front#1574
- misc(currency) add IRR by @ansmonjol in getlago/lago-front#1577
- misc: change quick filter width for all screen size by @ansmonjol in getlago/lago-front#1576
- chore(deps-major) Update testing-library monorepo (major) by @renovate in getlago/lago-front#1579
- fix: shipping address in show more details by @keellyp in getlago/lago-front#1580
- fix: handle falsy value for name by @keellyp in getlago/lago-front#1581
- feat: use new TBA connection for Netuite by @ansmonjol in getlago/lago-front#1582
- bug(combobox): fix option width when link is present by @ansmonjol in getlago/lago-front#1583
- misc: few app improvements by @ansmonjol in getlago/lago-front#1585
- misc: add error message if external id already exist by @ansmonjol in getlago/lago-front#1586
- fix: customer details grid layout by @keellyp in getlago/lago-front#1588
- feat: add link as Stripe method by @ansmonjol in getlago/lago-front#1589
- feat: add succeededAt date by @keellyp in getlago/lago-front#1587
Full Changelog: v1.6.0...v1.6.1
v1.6.0
What's Changed
- feat: Add pdf worker to docker compose by @brunomiguelpinto in #363
- Fix: Ensure Container Name is Unique by @brunomiguelpinto in #364
- misc: Bump version from 1.5.1 to 1.6.0 by @rsempe in #366
New Contributors
- @brunomiguelpinto made their first contribution in #363
Full Changelog: v1.5.1...v1.6.0
v1.5.1
Front changes
- bug: restore date picker label display by @ansmonjol in getlago/lago-front#1533
- bug: make invoice switcher button use caption text by @ansmonjol in getlago/lago-front#1534
- ftr: add netsuite integration by @ansmonjol in getlago/lago-front#1463
- bug: allow to add Netsuite connection on customer edit by @ansmonjol in getlago/lago-front#1536
- misc: add new navigationTab component by @ansmonjol in getlago/lago-front#1535
- misc: add default empty state in credit note list page by @ansmonjol in getlago/lago-front#1537
Full Changelog: getlago/lago-front@v1.5.0...v1.5.1
API changes
- fest(accounting-integrations): enable integration customers calls by @lovrocolic in getlago/lago-api#2054
- feat(integrations): Trigger invoices and sales orders syncs by @ivannovosad in getlago/lago-api#2050
- feat(integrations): Trigger credit notes sync by @ivannovosad in getlago/lago-api#2097
- feat(integrations): Trigger payments sync by @ivannovosad in getlago/lago-api#2123
- chore(deps): bump actionpack from 7.0.8.1 to 7.0.8.4 by @dependabot in getlago/lago-api#2131
- misc: Try to speed up group to filter migration by @vincent-pochet in getlago/lago-api#2130
- Reapply "misc: Add scheduler monitoring for sentry if enabled" (#2112) by @vincent-pochet in getlago/lago-api#2129
- feat(billing): Add billing_at arg to BillingService by @julienbourdeau in getlago/lago-api#2128
- fix(stripe): Add more ignore invoice not found error when in test mode by @vincent-pochet in getlago/lago-api#2137
- fix(service): Ignore current_user if it's not an instance of User by @julienbourdeau in getlago/lago-api#2134
- feat(xero): Add models by @ivannovosad in getlago/lago-api#2138
- chore(spec): Use
awesome_print
to debug tests by @julienbourdeau in getlago/lago-api#2140 - chore(invoice): Rename
Invoices::CreateService
toInvoices:CreateOneOffService
by @julienbourdeau in getlago/lago-api#2141 - feat(tax-integration): Add base logic for anrok customer and mapping by @lovrocolic in getlago/lago-api#2135
- fix(filters): Fix deleting filters by @ivannovosad in getlago/lago-api#2146
- feat(xero): Add integration services by @ivannovosad in getlago/lago-api#2142
- Revert "Reapply "misc: Add scheduler monitoring for sentry if enabled" (#2112) (#2129)" by @vincent-pochet in getlago/lago-api#2148
- feat(events): Refactor PayInAdvance Billable Metric validation by @julienbourdeau in getlago/lago-api#2143
Full Changelog: getlago/lago-api@v1.5.0...v1.5.1
What's Changed
- misc: Add support for postgres schema by @vincent-pochet in #360
- misc(version): Bump to v1.5.1 by @vincent-pochet in #362
Full Changelog: v1.5.0...v1.5.1
v1.5.0
v1.4.0
API Changes
- feat(accounting-integrations): add credit note type in collection mapping by @lovrocolic in getlago/lago-api#2027
- fix(events): Fix event serialize when not saved in PG by @jdenquin in getlago/lago-api#2028
- chore(deps): bump rexml from 3.2.5 to 3.2.8 by @dependabot in getlago/lago-api#2029
- chore: rubocop by @julienbourdeau in getlago/lago-api#2024
- fix: Attempt to fix flacky test in unique count scenario by @vincent-pochet in getlago/lago-api#2030
- fix(gql): Missing billing_configuration solution for OrganizationType by @julienbourdeau in getlago/lago-api#2032
- misc(clickhouse): Turn on SSL support for clickhouse by @vincent-pochet in getlago/lago-api#2035
- Integrations invoices models only by @ivannovosad in getlago/lago-api#2012
- chore(gql): move organization types to organizations subfolder by @julienbourdeau in getlago/lago-api#2034
- misc(okta): add okta in integration enum by @jdenquin in getlago/lago-api#2038
- feat(accounting-integrations): Add service that push Lago invoice in accounting provider by @lovrocolic in getlago/lago-api#2033
- chore(puma): Tweak puma configuration by @jdenquin in getlago/lago-api#2037
- misc: add Okta as an integration type union by @ansmonjol in getlago/lago-api#2041
- misc: membership role cannot be null by @ansmonjol in getlago/lago-api#2040
- fix(integrations): Address customer QA returns by @ivannovosad in getlago/lago-api#2042
- feat(tests): Test dates service with tz change during grace period by @julienbourdeau in getlago/lago-api#2016
- fix(integrations): Add an association and indices by @ivannovosad in getlago/lago-api#2044
- misc: Enable TrailingCommaInHashLiteral rubocop rule by @rsempe in getlago/lago-api#2031
- misc: Ignore TrailingCommaInHashLiteral commit for blame by @rsempe in getlago/lago-api#2046
- fix(custom_agg): Improve scenarios to match real use cases by @vincent-pochet in getlago/lago-api#2015
- feat(gql): Add admin_count custom metadata for organization members by @julienbourdeau in getlago/lago-api#2039
- feat(webhook): Break down SendWebhookJob into 2 jobs (one creates the models, the other sends HTTP) by @julienbourdeau in getlago/lago-api#1993
- fix(integrations): Fix integration customer update service by @ivannovosad in getlago/lago-api#2047
- feat(wallet): Do not refresh wallets balance without cache by @rsempe in getlago/lago-api#2048
- fix(webhooks): change webhook payload format by @lovrocolic in getlago/lago-api#2053
- feat (accounting-integrations): add logic for creating integration sales order by @lovrocolic in getlago/lago-api#2049
- Integrations invoices jobs by @ivannovosad in getlago/lago-api#2020
- feat(integrations): Add graphql for syncing invoices by @ivannovosad in getlago/lago-api#2043
- feat(rbac): Allow role to be edited in graphql by @julienbourdeau in getlago/lago-api#2052
- fix(integration): Fix sync services and netsuite graphql type by @ivannovosad in getlago/lago-api#2057
- chore(tests): Add cache metadata to configure Rails.cache driver by @julienbourdeau in getlago/lago-api#2055
- misc: Stop using quantified events by @vincent-pochet in getlago/lago-api#1987
- bug: admin_count should count active memberships by @ansmonjol in getlago/lago-api#2060
- feat: Introduce Deprecation tracking by @julienbourdeau in getlago/lago-api#2056
- feat(wallet): Handle method and target_ongoing_balance for recurring transaction rule by @rsempe in getlago/lago-api#2051
- feat(okta): Add Okta integration uniqueness by @jdenquin in getlago/lago-api#2059
- feat(integrations): return external_id in invoice graphql object by @lovrocolic in getlago/lago-api#2058
- misc: Auto retry PDF generate jobs in case of HTTP errors by @vincent-pochet in getlago/lago-api#2064
- misc: Preload taxes for charge fees creation by @vincent-pochet in getlago/lago-api#2063
- fix(integrations): Add integration id to integration customer input by @ivannovosad in getlago/lago-api#2066
- fix(gocardless): Ignore refund not found when not comming from lago by @vincent-pochet in getlago/lago-api#2067
- misc: Enable TrailingCommaInBlockArgs rubocop rule by @rsempe in getlago/lago-api#2068
- misc: Enable TrailingCommaInArrayLiteral rubocop rule by @rsempe in getlago/lago-api#2070
- fix(integrations): Send webhook after create invoice fails by @ivannovosad in getlago/lago-api#2069
- fix (integrations): add possibility to filter bm and add-ons in graphql resolvers by @lovrocolic in getlago/lago-api#2071
- feat(wallet): Extract validation of RecurringTransactionRule by @rsempe in getlago/lago-api#2072
- feat(clickhouse): Rewrite count query without CTE by @vincent-pochet in getlago/lago-api#2073
- misc: add disable wallet refresh env var by @lovrocolic in getlago/lago-api#2062
- feat(wallet): Remove duplication on wallet rules validation by @rsempe in getlago/lago-api#2074
- feat: Parrallelize charge usage computation by @vincent-pochet in getlago/lago-api#2076
- fix(current-usage): Manage connection pools with parallel threads by @vincent-pochet in getlago/lago-api#2077
- feat(integrations): Include integration customers in customer created webhook by @ivannovosad in getlago/lago-api#2075
- feat(integrations): Add credit notes to graphql by @brunomiguelpinto in getlago/lago-api#2080
- feat(integrations): Allow to sync invoice even if no item is mapped by @ivannovosad in getlago/lago-api#2079
- feat(wallet): Extract creation of wallet transaction rule by @rsempe in getlago/lago-api#2083
- misc(clickhouse): Define pool number by @jdenquin in getlago/lago-api#2089
- fix(subscription): Pending subscription cancel status by @brunomiguelpinto in getlago/lago-api#2082
- fix(integrations): Sync credit notes add should_sync_credit_note? by @ivannovosad in getlago/lago-api#2084
- misc: Add a rake task to expire the cache of a given subscription by @vincent-pochet in getlago/lago-api#2081
- feat(tax-integration): add anrok model changes by @lovrocolic in getlago/lago-api#2095
- fix(webhook): Deserialize payload for older webhooks by @julienbourdeau in getlago/lago-api#2092
- fix(integrations): Sync credit notes add service by @ivannovosad in getlago/lago-api#2085
- fix(subscription): fix handling of started_at/ended_at by @vincent-pochet in getlago/lago-api#2096
- feat(wallet): Refresh wallet balance on update by @rsempe in getlago/lago-api#2094
- fix(integrations): Sync credit notes - create job by @ivannovosad in getlago/lago-api#2086
- feat(invoice): Hide subscription fee when 0 by @vincent-pochet in getlago/lago-api#2093
- fix(integrations): Sync credit notes graphql by @ivannovosad in getlago/lago-api#2088
- feat(wallet): Add started_at to recurring_transaction_rules by @rsempe in getlago/lago-api#2098
- feat(email): Use
img
tag to display Lago logo in emails by @julienbourdeau in getlago/lago-api#2023 - feat(integrations): Fix credit notes amount by @ivannovosad in getlago/lago-api#2099
- feat(pdf): Use
img
tag for Lago logo in invoices by @julienbourdeau in getlago/lago-api#2021
Front Changes
- chore: fetch memberships and their organizations by @ansmonjol in getlago/lago-front#1503
- bug: fix invoice items aligments by @ansmonjol in getlago/lago-front#1505
- feat: add RBAC core features by @ansmonjol in getlago/lago-front#1504
- feat: add analytics route role guard by @ansmonjol in getlago/lago-front#1506
- feat: add billable metrics role guard by @ansmonjol in getlago/lago-front#1507
- feat: add plan route and actions role guard by @ansmonjol in getlago/lago-front#1508
- feat: add addOns route and actions role guard by @ansmonjol in getlago/lago-front#1509
- feat: add coupons route and actions role guard by @ansmonjol in getlago/lago-front#1510
- misc: improve replacement regex in script by @ansmonjol in getlago/lago-front#1511
- feat: add coupon details page by @ansmonjol in getlago/lago-front#1512
- bug: better handling of user loading in the app by @ansmonjol in getlago/lago-front#1514
- feat: add large batch of ...