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