v1.0.0-beta.189
openmeterio/openmeterv1.0.0-beta.189Feb 11, 2025by tothandras
AI Summary
A major release introducing comprehensive billing and invoicing capabilities, including Stripe integration and usage-based pricing.
Key Highlights
- Invoicing API and billing profiles
- Stripe integration with webhooks and status management
- Usage-based pricing support
- Plan API implementation
- Node.js and JavaScript SDK release
New Features
- Invoicing API
- Billing Profiles
- Stripe Webhooks
- Usage-based pricing
- Plan API
- Node.js SDK
Full Release Notes
<!-- Release notes generated using configuration in .github/release.yml at v1.0.0-beta.189 --> ## What's Changed ### Exciting New Features 🎉 * feat(app): implement by @hekike in https://github.com/openmeterio/openmeter/pull/1684 * feat: invoicing api by @turip in https://github.com/openmeterio/openmeter/pull/1641 * feat(sink): extends poll config by @hekike in https://github.com/openmeterio/openmeter/pull/1699 * feat(sink): config validation by @hekike in https://github.com/openmeterio/openmeter/pull/1700 * feat(sink): make async insert configurable by @hekike in https://github.com/openmeterio/openmeter/pull/1701 * feat: add Plan API to typespec by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1686 * feat(sink): query settings by @hekike in https://github.com/openmeterio/openmeter/pull/1708 * feat: billing profiles by @turip in https://github.com/openmeterio/openmeter/pull/1703 * feat(api): remove key from customer paths by @hekike in https://github.com/openmeterio/openmeter/pull/1746 * feat: add otel log support by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1730 * feat: pending line item creation by @turip in https://github.com/openmeterio/openmeter/pull/1738 * feat(compose): add ch-ui by @hekike in https://github.com/openmeterio/openmeter/pull/1748 * feat(secret): add app id and key to secret id by @hekike in https://github.com/openmeterio/openmeter/pull/1764 * feat: invoice lifecycle by @turip in https://github.com/openmeterio/openmeter/pull/1766 * feat(kafka): reduce verbosity of kafka logs by @hekike in https://github.com/openmeterio/openmeter/pull/1777 * feat(customer): add filters by @hekike in https://github.com/openmeterio/openmeter/pull/1778 * feat: validation errors api by @turip in https://github.com/openmeterio/openmeter/pull/1772 * feat: add db schema and types for Plan API by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1788 * feat: add service/repo interfaces for Plan API by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1799 * feat: add initial version of Plan API implementation by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1801 * feat: support usage based pricing by @turip in https://github.com/openmeterio/openmeter/pull/1787 * feat(api): add plan service to the server by @tothandras in https://github.com/openmeterio/openmeter/pull/1827 * feat(api): change notification api to beta by @hekike in https://github.com/openmeterio/openmeter/pull/1836 * feat(api): change entitlements api to beta by @hekike in https://github.com/openmeterio/openmeter/pull/1837 * feat(api): accept application/json content-type for ingest by @tothandras in https://github.com/openmeterio/openmeter/pull/1856 * feat: invoice line details calculations by @turip in https://github.com/openmeterio/openmeter/pull/1834 * feat: add Discount support to Plan API by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1898 * feat: totals calculations by @turip in https://github.com/openmeterio/openmeter/pull/1896 * feat: implement billing api methods by @turip in https://github.com/openmeterio/openmeter/pull/1902 * feat: line updating by @turip in https://github.com/openmeterio/openmeter/pull/1905 * feat: support line deletion by @turip in https://github.com/openmeterio/openmeter/pull/1920 * feat: delete invoice by @turip in https://github.com/openmeterio/openmeter/pull/1921 * feat(streaming): raw event connector by @hekike in https://github.com/openmeterio/openmeter/pull/1720 * Subscription Internals V2 by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1851 * feat: invoicing app support by @turip in https://github.com/openmeterio/openmeter/pull/1931 * feat(customer): app data rest api by @hekike in https://github.com/openmeterio/openmeter/pull/1919 * Add API Handlers to existing implementation by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1922 * feat: expose external ids by @turip in https://github.com/openmeterio/openmeter/pull/1933 * Add SubscriptionID field to Customer by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1949 * Unique count entitlements by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1953 * Custom subscriptions by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1955 * feat: billing add subscription metadata to lines by @turip in https://github.com/openmeterio/openmeter/pull/1959 * feat: billing worker by @turip in https://github.com/openmeterio/openmeter/pull/1958 * feat(entitlement): enable by default by @hekike in https://github.com/openmeterio/openmeter/pull/1970 * feat: wire in subscription events by @turip in https://github.com/openmeterio/openmeter/pull/1977 * feat: recalculate gathering invoices by @turip in https://github.com/openmeterio/openmeter/pull/1976 * Subscription Change by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1974 * feat(billing): add external id to invoice line discount by @hekike in https://github.com/openmeterio/openmeter/pull/1989 * feat(invoice): stripe app invoice sync by @hekike in https://github.com/openmeterio/openmeter/pull/1978 * feat(stripe): update api key by @hekike in https://github.com/openmeterio/openmeter/pull/1993 * feat(app): stripe status by @hekike in https://github.com/openmeterio/openmeter/pull/1994 * feat(app): set stripe as default billing profile by @hekike in https://github.com/openmeterio/openmeter/pull/1998 * feat(billing): disallow deleting default profile by @hekike in https://github.com/openmeterio/openmeter/pull/2005 * feat(billing): profile default update by @hekike in https://github.com/openmeterio/openmeter/pull/2008 * feat: use plan phase duration and index instead of start after by @tothandras in https://github.com/openmeterio/openmeter/pull/2010 * feat: expose next possible state [OM-1007] by @turip in https://github.com/openmeterio/openmeter/pull/2024 * feat: make progressive billing optional by @turip in https://github.com/openmeterio/openmeter/pull/2030 * feat: add validate billing stack before creating a paid subscription by @turip in https://github.com/openmeterio/openmeter/pull/2033 * Entitlements ISO support by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2045 * feat(app): remove icon by @hekike in https://github.com/openmeterio/openmeter/pull/2058 * feat: create database sturcture and entities for invoice discounts by @turip in https://github.com/openmeterio/openmeter/pull/2036 * feat(stripe): webhook no auth by @hekike in https://github.com/openmeterio/openmeter/pull/2079 * refactor: use plurar for category names in billing API by @turip in https://github.com/openmeterio/openmeter/pull/2087 * Expose API to exclude inactive entitlements by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2088 * feat: support subscription edit syncronization by @turip in https://github.com/openmeterio/openmeter/pull/2077 * feat(app): pass down customer currency to create checkout session by @hekike in https://github.com/openmeterio/openmeter/pull/2096 * feat: Invoice update api endpoint by @turip in https://github.com/openmeterio/openmeter/pull/2100 * feat: implement subscription line adding on invoice creation by @turip in https://github.com/openmeterio/openmeter/pull/2105 * Add Customer filtering by subscription plan key by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2104 * Entitlement Value check for Customer by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2133 * feat(stripe): subscribe to invoice webhooks by @hekike in https://github.com/openmeterio/openmeter/pull/2135 * feat(app): reuse app error codes in stripe app by @hekike in https://github.com/openmeterio/openmeter/pull/2144 * feat: configure tax included excluded on lines by @turip in https://github.com/openmeterio/openmeter/pull/2146 * feat(api): new Node.js & JavaScript SDK by @tothandras in https://github.com/openmeterio/openmeter/pull/2147 * feat: make tax codes and inclusion configurable in billing profiles by @turip in https://github.com/openmeterio/openmeter/pull/2156 * feat(app): stripe app validate customer data by @hekike in https://github.com/openmeterio/openmeter/pull/2158 * feat(app): pass email in stripe checkout session customer create by @hekike in https://github.com/openmeterio/openmeter/pull/2164 * feat(app): stripe checkout session params by @hekike in https://github.com/openmeterio/openmeter/pull/2169 * feat(customer): add optional key by @hekike in https://github.com/openmeterio/openmeter/pull/2172 * feat(billing): implement invoice collector by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2179 * feat: sent to customer at field by @turip in https://github.com/openmeterio/openmeter/pull/2182 * feat: support payment states by @turip in https://github.com/openmeterio/openmeter/pull/2183 * Possibility to enforce billing alignment for plans by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2163 * feat: support stripe webhooks for payment statuses by @turip in https://github.com/openmeterio/openmeter/pull/2171 * feat: add support for background invoice progressing by @turip in https://github.com/openmeterio/openmeter/pull/2211 * feat(app): secret update with id change by @hekike in https://github.com/openmeterio/openmeter/pull/2209 * Subscription Alignment by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2210 ### Bug Fixes 🐛 * fix: fix slice init length by @cuishuang in https://github.com/openmeterio/openmeter/pull/1615 * fix: typespec entitlements by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1616 * fix: exit if application initialization fails by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1638 * fix(api): stripeCustomerId to be nullable by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1649 * fix(api): notification channel request by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1651 * fix: use kafka configuration to create admin client by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1657 * Fixes entitlement creation by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1698 * fix(storage): async insert by @hekike in https://github.com/openmeterio/openmeter/pull/1704 * fix(sink): remove max poll records config by @hekike in https://github.com/openmeterio/openmeter/pull/1705 * Generate Go SDK from new OpenAPI by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1733 * fix: treat inactive entitlement as deleted by @turip in https://github.com/openmeterio/openmeter/pull/1767 * fix(telemetry): filter otel logs by log level by @hekike in https://github.com/openmeterio/openmeter/pull/1773 * fix(entitlement): use at when getting active entitlements by @hekike in https://github.com/openmeterio/openmeter/pull/1812 * fix: multiple issues in Plan API by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1824 * fix(telemetry): service name by @hekike in https://github.com/openmeterio/openmeter/pull/1810 * Map NoAccessValue to API by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1826 * fix(log): contextual logging by @hekike in https://github.com/openmeterio/openmeter/pull/1829 * fix: updating Feature in Plan RateCard by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1832 * fix: Plan API by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1833 * fix(logger): http context on logs by @hekike in https://github.com/openmeterio/openmeter/pull/1838 * fix: Plan Discount JSON serialization by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1840 * fix(serializer): allow cloudevents without data by @hekike in https://github.com/openmeterio/openmeter/pull/1853 * fix: mk Price optional for FlatFeeRateCard by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1852 * fix: updating PlanPhase to have no RateCards by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1869 * fix: updating Plan to have no PlanPhases by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1873 * fix(api): return empty array instead of null by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1874 * fix: Plan status check at PlanPhase operations by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1875 * fix: Plan/Phase request mapping in HTTP driver by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1877 * fix(api): plan metadata & allow draft deletion by @tothandras in https://github.com/openmeterio/openmeter/pull/1878 * fix(api): customer api create and edit by @tothandras in https://github.com/openmeterio/openmeter/pull/1882 * fix: Plan API implementation by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1885 * fix: updating RateCards in PlanPhase by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1887 * fix: listing deleted PlanPhases by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1889 * fix: validate Plan before Publish by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1893 * fix: creating duplicated Plans by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1894 * fix(customer): delete customer subjects by @hekike in https://github.com/openmeterio/openmeter/pull/1888 * fix(customer): api mapping by @hekike in https://github.com/openmeterio/openmeter/pull/1897 * fix: panic on no customer address is set by @turip in https://github.com/openmeterio/openmeter/pull/1983 * fix: Kafka metrics by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1985 * fix(streaming): group by order for raw event connector by @hekike in https://github.com/openmeterio/openmeter/pull/1987 * fix(invoice): stripe sync quantity by @hekike in https://github.com/openmeterio/openmeter/pull/2001 * Fix Subscription Status mapping by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2026 * fix(app): masked api key in http handler by @hekike in https://github.com/openmeterio/openmeter/pull/2047 * fix(app): stripe uninstall with invalid api key by @hekike in https://github.com/openmeterio/openmeter/pull/2051 * Fix Subscription Managed Entitlements by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2075 * BillingValidation Error Mapping by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2076 * fix(app): default by @hekike in https://github.com/openmeterio/openmeter/pull/2071 * fix(stripe): webhook setup url by @hekike in https://github.com/openmeterio/openmeter/pull/2078 * fix(stripe): set webhook api version by @hekike in https://github.com/openmeterio/openmeter/pull/2080 * fix(e2e): increase timeout by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2083 * fix(app): handle customer data deleted at by @hekike in https://github.com/openmeterio/openmeter/pull/2084 * fix: tiered price upToAmount type by @turip in https://github.com/openmeterio/openmeter/pull/2092 * fix: wrapping validation errors properly by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2097 * fix: number schema by @turip in https://github.com/openmeterio/openmeter/pull/2098 * Add missing items by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2099 * Fix Phase Stretching by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2094 * fix: one-time fee support by @turip in https://github.com/openmeterio/openmeter/pull/2103 * fix: ListInvoices fixes by @turip in https://github.com/openmeterio/openmeter/pull/2120 * fix: split lines should not be returned for gathering invoices by @turip in https://github.com/openmeterio/openmeter/pull/2124 * fix: invoice action on gathering invoices by @turip in https://github.com/openmeterio/openmeter/pull/2128 * fix: manually deleted lines should no be synced back by subscription by @turip in https://github.com/openmeterio/openmeter/pull/2132 * feat: only syncronize lines that have changed by @turip in https://github.com/openmeterio/openmeter/pull/2145 * feat(stripe): fix response with embedded by @hekike in https://github.com/openmeterio/openmeter/pull/2149 * feat: add support for tax included and tax code settings on invoices by @turip in https://github.com/openmeterio/openmeter/pull/2148 * fix: invoice updates should allow adding new lines without IDs by @turip in https://github.com/openmeterio/openmeter/pull/2157 * fix: uppercase names by @turip in https://github.com/openmeterio/openmeter/pull/2161 * fix: stripe sync issues by @turip in https://github.com/openmeterio/openmeter/pull/2159 * fix: invoice event unmarshaling by @turip in https://github.com/openmeterio/openmeter/pull/2162 * Fix entitlement history bugs by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2160 * Fix Feature Archivation Checks by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2167 * Exclude deleted plan contents from GET response by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2185 * fix(billing): asOf calculation for invoicing by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2191 * fix(billing): skip invoices with no billable lines by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2192 * fix(stripe): checkout session input validation by @hekike in https://github.com/openmeterio/openmeter/pull/2207 * fix(stripe): checkout session input validation by @hekike in https://github.com/openmeterio/openmeter/pull/2208 * refactor: improve apps error handling by @turip in https://github.com/openmeterio/openmeter/pull/2214 * fix: billing error reporting by @turip in https://github.com/openmeterio/openmeter/pull/2213 * fix: collection errors by @turip in https://github.com/openmeterio/openmeter/pull/2215 * fix: empty Plan Phase validation by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2217 * fix: improve stripe logging by @turip in https://github.com/openmeterio/openmeter/pull/2219 * Fix Nil-ish Time Comparison by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2216 * Fix one-time lines in aligned subs by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2226 * fix: only publish events after successful commits by @turip in https://github.com/openmeterio/openmeter/pull/2218 * Dont list grants of deleted entitlements by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2225 * fix(sink): deadlock in flushhandler by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2243 * fix: subscribing to namespaces on shutdown by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2245 ### Breaking Changes 🛠 * feat(events): only accept json object by @hekike in https://github.com/openmeterio/openmeter/pull/1857 * refactor: billing api drop customer parts by @turip in https://github.com/openmeterio/openmeter/pull/1945 * fix: disable pro rating by @turip in https://github.com/openmeterio/openmeter/pull/2102 * feat: Tiered price's first bucket's flat fee is always billed by @turip in https://github.com/openmeterio/openmeter/pull/2119 ### Deprecations ❌ * feat: remove TZ from customers and billing by @turip in https://github.com/openmeterio/openmeter/pull/2055 * fix: remove workflow ID and timestamps by @turip in https://github.com/openmeterio/openmeter/pull/2117 * refactor: remove per line edit endpoints from invoicing by @turip in https://github.com/openmeterio/openmeter/pull/2140 ### Dependency Updates ⬆️ * chore(deps): bump github.com/invopop/validation from 0.7.0 to 0.8.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1625 * chore(deps): bump golang.org/x/net from 0.29.0 to 0.30.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1623 * chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.28.0 to 2.29.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1622 * chore(deps): bump golang from 1.23.1-alpine3.20 to 1.23.2-alpine3.20 by @dependabot in https://github.com/openmeterio/openmeter/pull/1619 * chore(deps): bump github.com/svix/svix-webhooks from 1.36.0 to 1.38.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1621 * chore(deps): bump github.com/invopop/gobl from 0.115.1 to 0.200.1 by @dependabot in https://github.com/openmeterio/openmeter/pull/1624 * build: update dagger by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1656 * Update kafka by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1660 * chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc from 1.30.0 to 1.31.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1675 * chore(deps): bump github.com/XSAM/otelsql from 0.34.0 to 0.35.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1677 * chore(deps): bump go.opentelemetry.io/otel/exporters/prometheus from 0.51.0 to 0.53.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1674 * chore(deps): bump aiohttp from 3.10.8 to 3.10.9 in /api/client/python in the production-dependencies group by @dependabot in https://github.com/openmeterio/openmeter/pull/1628 * chore: update otelslog by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1719 * chore(deps): bump github.com/stripe/stripe-go/v80 from 80.0.0 to 80.2.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1725 * chore(deps): bump github.com/go-viper/mapstructure/v2 from 2.1.0 to 2.2.1 by @dependabot in https://github.com/openmeterio/openmeter/pull/1724 * chore(deps): bump github.com/invopop/gobl from 0.200.1 to 0.202.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1721 * chore(deps): bump github.com/getkin/kin-openapi from 0.127.0 to 0.128.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1722 * chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.29.0 to 2.30.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1723 * chore(deps): bump the k8s group with 2 updates by @dependabot in https://github.com/openmeterio/openmeter/pull/1754 * chore(deps): bump github.com/golang-migrate/migrate/v4 from 4.17.1 to 4.18.1 by @dependabot in https://github.com/openmeterio/openmeter/pull/1756 * chore(deps): bump cloud.google.com/go from 0.112.1 to 0.116.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1755 * chore(deps): bump github.com/redis/go-redis/v9 from 9.6.1 to 9.7.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1758 * chore(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.55.0 to 0.56.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1757 * Update client dependencies by @tothandras in https://github.com/openmeterio/openmeter/pull/1770 * chore(deps): bump github.com/stripe/stripe-go/v80 from 80.2.0 to 80.2.1 by @dependabot in https://github.com/openmeterio/openmeter/pull/1780 * chore(deps): bump github.com/ThreeDotsLabs/watermill from 1.3.7 to 1.4.1 by @dependabot in https://github.com/openmeterio/openmeter/pull/1781 * chore(deps): bump github.com/huandu/go-sqlbuilder from 1.30.0 to 1.31.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1782 * chore(deps): bump sigs.k8s.io/controller-runtime from 0.19.0 to 0.19.1 by @dependabot in https://github.com/openmeterio/openmeter/pull/1783 * chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.30.0 to 1.31.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1779 * chore(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 by @dependabot in https://github.com/openmeterio/openmeter/pull/1786 * chore(api): update node & web dependencies by @tothandras in https://github.com/openmeterio/openmeter/pull/1792 * chore(deps): bump vite from 5.2.13 to 5.4.10 in /api/client/web by @dependabot in https://github.com/openmeterio/openmeter/pull/1771 * chore(deps): bump go.opentelemetry.io/otel/log from 0.7.0 to 0.8.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1814 * chore(deps): bump github.com/rickb777/period from 1.0.6 to 1.0.7 by @dependabot in https://github.com/openmeterio/openmeter/pull/1816 * chore(deps): bump github.com/huandu/go-sqlbuilder from 1.31.0 to 1.32.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1817 * Update Helm Chart with new services & features by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1803 * chore(deps): bump go.opentelemetry.io/otel/sdk from 1.31.0 to 1.32.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1818 * chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc from 1.31.0 to 1.32.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1815 * chore(deps): bump golang from 1.23.2-alpine3.20 to 1.23.3-alpine3.20 by @dependabot in https://github.com/openmeterio/openmeter/pull/1813 * chore(deps): bump the production-dependencies group across 1 directory with 3 updates by @dependabot in https://github.com/openmeterio/openmeter/pull/1785 * chore(deps): bump Svix to v1.40.0 by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1847 * chore(deps): bump github.com/invopop/gobl from 0.202.0 to 0.205.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1862 * chore(deps): bump alpine from `beefdbd` to `1e42bbe` by @dependabot in https://github.com/openmeterio/openmeter/pull/1867 * chore(deps): bump golang from `0974259` to `c694a4d` by @dependabot in https://github.com/openmeterio/openmeter/pull/1868 * chore(deps): bump go.opentelemetry.io/otel/exporters/prometheus from 0.53.0 to 0.54.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1865 * chore(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.56.0 to 0.57.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1866 * chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.31.0 to 1.32.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1864 * chore(client): update Node and Web client dependencies by @tothandras in https://github.com/openmeterio/openmeter/pull/1891 * chore(deps): bump aiohttp from 3.10.10 to 3.11.6 in /api/client/python in the production-dependencies group across 1 directory by @dependabot in https://github.com/openmeterio/openmeter/pull/1890 * chore(deps): bump aiohttp from 3.10.2 to 3.10.11 in /api/client/python/examples/async by @dependabot in https://github.com/openmeterio/openmeter/pull/1880 * chore(deps): bump the k8s group with 2 updates by @dependabot in https://github.com/openmeterio/openmeter/pull/1910 * chore(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1911 * chore(deps): bump github.com/invopop/gobl from 0.205.0 to 0.205.1 by @dependabot in https://github.com/openmeterio/openmeter/pull/1913 * chore(deps): bump github.com/svix/svix-webhooks from 1.40.0 to 1.42.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1924 * chore: bump librdkafka to 2.6.1 by @tothandras in https://github.com/openmeterio/openmeter/pull/1927 * chore(deps): bump github.com/confluentinc/confluent-kafka-go/v2 from 2.6.0 to 2.6.1 by @dependabot in https://github.com/openmeterio/openmeter/pull/1925 * chore(deps): bump google.golang.org/protobuf from 1.35.1 to 1.35.2 by @dependabot in https://github.com/openmeterio/openmeter/pull/1912 * chore(deps): bump go.opentelemetry.io/contrib/bridges/otelslog from 0.6.0 to 0.7.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1914 * chore(deps): bump github.com/peterldowns/pgtestdb from 0.0.14 to 0.1.1 by @dependabot in https://github.com/openmeterio/openmeter/pull/1926 * chore(deps): bump aiohttp from 3.11.6 to 3.11.9 in /api/client/python in the production-dependencies group across 1 directory by @dependabot in https://github.com/openmeterio/openmeter/pull/1928 * chore(deps): bump github.com/huandu/go-sqlbuilder from 1.32.0 to 1.33.1 by @dependabot in https://github.com/openmeterio/openmeter/pull/1937 * chore(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdoutlog from 0.7.0 to 0.8.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1935 * chore(deps): bump golang.org/x/crypto from 0.28.0 to 0.31.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1980 * chore(client): update dependencies by @tothandras in https://github.com/openmeterio/openmeter/pull/1982 * chore(deps): bump golang from 1.23.3-alpine3.20 to 1.23.4-alpine3.20 by @dependabot in https://github.com/openmeterio/openmeter/pull/1940 * chore(deps): bump the k8s group with 3 updates by @dependabot in https://github.com/openmeterio/openmeter/pull/1966 * chore(deps): bump tonistiigi/xx from 1.5.0 to 1.6.1 by @dependabot in https://github.com/openmeterio/openmeter/pull/1965 * chore(deps): bump sigs.k8s.io/controller-runtime from 0.19.1 to 0.19.3 by @dependabot in https://github.com/openmeterio/openmeter/pull/1936 * chore(deps): bump google.golang.org/grpc from 1.67.1 to 1.69.2 by @dependabot in https://github.com/openmeterio/openmeter/pull/1986 * chore(deps): bump go.opentelemetry.io/otel/trace from 1.32.0 to 1.33.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1991 * chore(deps): bump aiohttp from 3.11.9 to 3.11.11 in /api/client/python in the production-dependencies group across 1 directory by @dependabot in https://github.com/openmeterio/openmeter/pull/1992 * chore(otel): update dependencies by @hekike in https://github.com/openmeterio/openmeter/pull/2000 * chore(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdoutlog from 0.8.0 to 0.9.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1999 * chore(deps): bump github.com/invopop/gobl from 0.205.1 to 0.207.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/1969 * chore: bump Svix to 1.44 by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2003 * chore(deps): bump github.com/lmittmann/tint from 1.0.5 to 1.0.6 by @dependabot in https://github.com/openmeterio/openmeter/pull/2012 * chore(deps): bump github.com/go-chi/chi/v5 from 5.1.0 to 5.2.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/2011 * chore(deps): bump github.com/samber/slog-multi from 1.2.4 to 1.3.3 by @dependabot in https://github.com/openmeterio/openmeter/pull/2013 * chore(deps): bump github.com/XSAM/otelsql from 0.35.0 to 0.36.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/2014 * chore(deps): bump github.com/redis/go-redis/extra/redisotel/v9 from 9.5.3 to 9.7.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/2015 * chore(api): update typespec to 0.63.0 by @tothandras in https://github.com/openmeterio/openmeter/pull/2023 * chore(deps): bump alpine from 3.21.0 to 3.21.2 by @dependabot in https://github.com/openmeterio/openmeter/pull/2061 * chore(deps): bump golang from `6c5c959` to `c233391` by @dependabot in https://github.com/openmeterio/openmeter/pull/2062 * chore(deps): bump google.golang.org/protobuf from 1.36.1 to 1.36.2 by @dependabot in https://github.com/openmeterio/openmeter/pull/2063 * chore(deps): bump github.com/svix/svix-webhooks from 1.44.0 to 1.56.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/2064 * chore(deps): bump sigs.k8s.io/controller-runtime from 0.19.3 to 0.19.4 by @dependabot in https://github.com/openmeterio/openmeter/pull/2065 * chore(deps): bump github.com/alpacahq/alpacadecimal from 0.0.4 to 0.0.5 by @dependabot in https://github.com/openmeterio/openmeter/pull/2067 * chore(deps): bump golang.org/x/net from 0.33.0 to 0.34.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/2066 * chore: bump confluent-kafka-go to v.2.8.0 by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2090 * chore(api): update typespec by @tothandras in https://github.com/openmeterio/openmeter/pull/2115 * chore: bump benthos version to 4.45.1 by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2139 * chore(deps): bump golang from 1.23.4-alpine3.21 to 1.23.5-alpine3.21 by @dependabot in https://github.com/openmeterio/openmeter/pull/2106 * chore(deps): bump the k8s group with 2 updates by @dependabot in https://github.com/openmeterio/openmeter/pull/2107 * chore(deps): bump go.opentelemetry.io/otel/metric from 1.33.0 to 1.34.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/2108 * chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc from 0.9.0 to 0.10.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/2109 * chore(deps): bump sigs.k8s.io/controller-runtime from 0.19.4 to 0.20.1 by @dependabot in https://github.com/openmeterio/openmeter/pull/2150 * chore(deps): bump google.golang.org/protobuf from 1.36.2 to 1.36.4 by @dependabot in https://github.com/openmeterio/openmeter/pull/2151 * chore(deps): bump github.com/IBM/sarama from 1.43.3 to 1.45.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/2195 * chore(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.58.0 to 0.59.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/2197 * chore(deps): bump github.com/golang-migrate/migrate/v4 from 4.18.1 to 4.18.2 by @dependabot in https://github.com/openmeterio/openmeter/pull/2198 * chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.30.0 to 2.30.2 by @dependabot in https://github.com/openmeterio/openmeter/pull/2194 * chore(deps): bump github.com/ThreeDotsLabs/watermill from 1.4.1 to 1.4.4 by @dependabot in https://github.com/openmeterio/openmeter/pull/2196 * chore: bump atlas to v0.30.0 by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2206 * chore(deps-dev): bump black from 24.8.0 to 25.1.0 in /api/client/python in the development-dependencies group across 1 directory by @dependabot in https://github.com/openmeterio/openmeter/pull/2202 * chore(deps): bump github.com/rickb777/period from 1.0.7 to 1.0.8 by @dependabot in https://github.com/openmeterio/openmeter/pull/2231 * chore(deps): bump github.com/alpacahq/alpacadecimal from 0.0.5 to 0.0.6 by @dependabot in https://github.com/openmeterio/openmeter/pull/2232 * chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.33.0 to 1.34.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/2235 * chore(deps): bump go.opentelemetry.io/contrib/bridges/otelslog from 0.8.0 to 0.9.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/2234 * chore(deps): bump golang from 1.23.5-alpine3.21 to 1.23.6-alpine3.21 by @dependabot in https://github.com/openmeterio/openmeter/pull/2236 * chore(deps): bump github.com/redpanda-data/connect/public/bundle/free/v4 from 4.45.1 to 4.46.0 by @dependabot in https://github.com/openmeterio/openmeter/pull/2233 * chore(deps): bump github.com/oklog/run to v1.1.1-0.20240127200640-eee6e044b77c by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2244 ### Other Changes * Use default returns for TX Repo helpers by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1606 * refactor: docker compose deployment by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1614 * refactor: log list events validation error on warn level by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1627 * Final TSP fixes by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1632 * Wire refactor by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1633 * chore: expose telemetry config by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1642 * feat: kafka topic provisoner by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1600 * refactor: move config to a different wire set by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1643 * add generate target to just by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1648 * refactor: topic provisioner config by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1645 * chore(deps): bump oapi-codegen to v2.4.1 by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1654 * Wire refactor round 2 by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1653 * refactor: otel initialization by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1662 * Relocate app packages by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1680 * [bot] Re-generate Web client by @openmeterbot in https://github.com/openmeterio/openmeter/pull/1685 * fix: mandate enum prefixes for generated APIs by @turip in https://github.com/openmeterio/openmeter/pull/1688 * feat: register handlers to namespace manager by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1694 * Entitlement Scheduling Internals by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1617 * refactor: Kafka config defaults by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1728 * feat(ingest): adopt topic provisioner by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1731 * refactor(sink): namespace and topic subscription update by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1729 * refactor: kafka config by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1734 * Drop separate logger initialization by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1736 * refactor(kafka): topic provisioning by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1740 * refactor: Plan API typespec by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1743 * refactor(api): mv TaxConfig to ProductCatalog by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1745 * Use transacting repos for customer package by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1739 * refactor(ingest): prefix metrics with openmeter by @sagikazarmark in https://github.com/openmeterio/openmeter/pull/1751 * Subscription api by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1613 * feat: create invoice backend logic by @turip in https://github.com/openmeterio/openmeter/pull/1763 * feat: add invoice workflow management API changes by @turip in https://github.com/openmeterio/openmeter/pull/1768 * Add TaxConfig to Subscription API by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1794 * refactor(api): Plan API by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1797 * Fix env parsing for POISTGRES_URL by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1800 * [bot] Re-generate Node.js client by @openmeterbot in https://github.com/openmeterio/openmeter/pull/1798 * [bot] Re-generate Node.js client by @openmeterbot in https://github.com/openmeterio/openmeter/pull/1802 * refactor: billing adopt plan types by @turip in https://github.com/openmeterio/openmeter/pull/1805 * refactor: add TX support to Plan API by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1808 * [bot] Re-generate Node.js client by @openmeterbot in https://github.com/openmeterio/openmeter/pull/1822 * chore: inactive entitlement handling by @turip in https://github.com/openmeterio/openmeter/pull/1828 * refactor: JSON serialization by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/1841 * refactor: billing api by @turip in https://github.com/openmeterio/openmeter/pull/1923 * [bot] Re-generate Node.js client by @openmeterbot in https://github.com/openmeterio/openmeter/pull/1951 * Expose BillingCadence for all RateCards by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1956 * Add missing assertions in Subscription tests by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2019 * Use error wrapping for generic errors by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2020 * fix: billing updated-at schemantics by @turip in https://github.com/openmeterio/openmeter/pull/2021 * [bot] Re-generate Node.js client by @openmeterbot in https://github.com/openmeterio/openmeter/pull/2016 * Add checks for Subscription dependencies so they cannot be updated inconsistently by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/1981 * fix: correct subscription event publishing by @turip in https://github.com/openmeterio/openmeter/pull/2032 * Test Subscription Edits by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2037 * feat: support listing invoices across namespaces by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2039 * Add missing errors to HTTP mappings by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2042 * Testing data-migrations by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2044 * fix: watermill retry logic and error reporting by @turip in https://github.com/openmeterio/openmeter/pull/2053 * Small api type fixes by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2052 * [bot] Re-generate Node.js client by @openmeterbot in https://github.com/openmeterio/openmeter/pull/2057 * feat(api): add dedicated field to recurring intervals thats always ISO format by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2054 * feat: disallow durations less than an hour by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2069 * fix(api): mk query params non-required by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2074 * feat: add invoice advance job by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2073 * Expose entitlement schedule cadence by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2086 * Entitlement API adjustments and fixes by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2093 * Add currency checks on Subs creation by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2095 * Add more Tests for Subscription Edit by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2121 * feat: implement period value calculation of the invoice by @turip in https://github.com/openmeterio/openmeter/pull/2125 * feat: currencies endpoint by @turip in https://github.com/openmeterio/openmeter/pull/2126 * feat: currencies endpoint v2 by @turip in https://github.com/openmeterio/openmeter/pull/2127 * fix: filter non-iso currencies from currency output by @turip in https://github.com/openmeterio/openmeter/pull/2131 * Hide inactive Items from current Phase of Subscription response by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2137 * feat: add collector to quickstart by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2118 * feat: implement invoice number generation by @turip in https://github.com/openmeterio/openmeter/pull/2142 * Subscription Housekeeping by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2129 * Fix recurrence by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2166 * Disallow items with periods less than 1 hour by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2168 * test(api): add tests to JavaScript SDK by @tothandras in https://github.com/openmeterio/openmeter/pull/2170 * feat(sdk): throw on error and export types in JavaScript SDK by @tothandras in https://github.com/openmeterio/openmeter/pull/2180 * chore: make invoice action api more descriptive by @turip in https://github.com/openmeterio/openmeter/pull/2200 * feat: rename state machine states (#2201) by @turip in https://github.com/openmeterio/openmeter/pull/2203 * refactor(billing): mk invoice collection asOf aligned by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/2204 * feat: canceled subscription should invoke invoice now by @turip in https://github.com/openmeterio/openmeter/pull/2212 * Test without nix cache by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/2176 * [bot] Re-generate JavaScript client by @openmeterbot in https://github.com/openmeterio/openmeter/pull/2223 * chore: change API tags from private preview to beta by @tothandras in https://github.com/openmeterio/openmeter/pull/2227 * fix: make sure we are propagating non not found errors by @turip in https://github.com/openmeterio/openmeter/pull/2228 * chore: use lo for error casting by @turip in https://github.com/openmeterio/openmeter/pull/2229 * feat: store status details in DB by @turip in https://github.com/openmeterio/openmeter/pull/2221 * feat: always persist the calculated taxconfig into the lines by @turip in https://github.com/openmeterio/openmeter/pull/2241 * feat: advance stuck invoices if any by @turip in https://github.com/openmeterio/openmeter/pull/2240 ## New Contributors * @cuishuang made their first contribution in https://github.com/openmeterio/openmeter/pull/1615 **Full Changelog**: https://github.com/openmeterio/openmeter/compare/v1.0.0-beta.186...v1.0.0-beta.189