v1.0.0-beta.226
niklasvh/html2canvasv1.0.0-beta.226Jan 16, 2026by github-actions[bot]
AI Summary
This beta release introduces significant updates to the entitlement system, including multi-subject support, streaming usage lookups, and ClickHouse integration improvements. It also includes numerous bug fixes and dependency updates.
Key Highlights
- Expose TotalAvailableGrantedAmount
- Remove Redis based highwatermark cache
- Multi-subject entitlement subjects
- Add annotations and metadata to meter
- Persist sync state
Breaking Changes
- Refactor static entitlement config type to string
New Features
- Streaming lookup by customer key and subjects
- Allow setting key prefix for progress manager
- Add annotations and metadata to meter
- Add clickhouse retries
Full Release Notes
<!-- Release notes generated using configuration in .github/release.yml at v1.0.0-beta.226 --> ## What's Changed ### Exciting New Features 🎉 * feat(entitlement): expose TotalAvailableGrantedAmount by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3556 * chore: remove redis based highwatermark cache by @turip in https://github.com/openmeterio/openmeter/pull/3605 * feat(multi-subject): entitlement subjects by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3576 * feat: allow setting key prefix for progress manager by @turip in https://github.com/openmeterio/openmeter/pull/3615 * feat(streaming): lookup usage by customer key and subjects by @hekike in https://github.com/openmeterio/openmeter/pull/3178 * feat: add annotations and metadata to meter by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3626 * feat: add clickhouse retries by @turip in https://github.com/openmeterio/openmeter/pull/3691 * feat: persist sync state by @turip in https://github.com/openmeterio/openmeter/pull/3711 ### Bug Fixes 🐛 * fix(sdk): javascript client customer stripe method by @tothandras in https://github.com/openmeterio/openmeter/pull/3597 * fix: event reconcile by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3598 * chore: fix no migrations to run error by @turip in https://github.com/openmeterio/openmeter/pull/3599 * fix: notification channel state out-of-sync by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3600 * fix: delivery status sync by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3604 * fix: issueAfterReset and Grants used together error by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3609 * fix: validation of max rules per channel by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3625 * fix(subs): use correct timing validation by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3637 * fix: fix draftuntil logging by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3638 * fix: allow entitlement and subscription creation if customer has no subjects assigned by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3642 * fix: streaming customer validations by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3643 * fix: validate params in param validation by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3644 * fix(planaddon): max quantity of plan add-on by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3655 * fix: use correct defaults by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3660 * fix: validate features before publishing plans/add-ons by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3661 * fix: static entitlement deserialization by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3701 * fix(pc): resolve only active features by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3716 * fix(api): static entitlement mapping by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3726 * fix(stripe): client array allocation by @hekike in https://github.com/openmeterio/openmeter/pull/3732 * fix(billing): support customers without subjects by @hekike in https://github.com/openmeterio/openmeter/pull/3734 * fix(stripe): invoice sync line limit by @hekike in https://github.com/openmeterio/openmeter/pull/3737 * fix(invoice): customer usage attribution by @hekike in https://github.com/openmeterio/openmeter/pull/3739 * fix: entitlement config compare by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3741 * fix(meterexport): allow groubpys by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3689 * fix: filtering grants by customers by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3746 * fix(entitlements): total active grant calculation by @tothandras in https://github.com/openmeterio/openmeter/pull/3745 * fix: list entitlement by event subject by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3748 * fix: list grants by customer subjects by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3749 * fix: error handling in reconcile loop by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3753 * fix: resolving svix endpoints by msg attempts by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3754 * fix: entitlement query for customer meters by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3758 ### Breaking Changes 🛠 * refactor!: static entitlement config type to string by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3736 ### Dependency Updates ⬆️ * chore(deps): bump the k8s group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3612 * chore(deps): bump the golang group with 2 updates by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3610 * chore(deps): bump github.com/prometheus/common from 0.67.2 to 0.67.3 in the prometheus group by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3621 * chore(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3622 * chore(deps): bump github.com/samber/slog-multi from 1.5.0 to 1.6.0 in the samber group by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3624 * chore(deps-dev): bump black from 25.9.0 to 25.11.0 in /api/client/python in the development-dependencies group by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3611 * chore(deps): bump google.golang.org/grpc from 1.76.0 to 1.77.0 in the googlecloud group by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3629 * chore(deps): bump the redis group with 2 updates by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3630 * chore(deps): bump github.com/invopop/gobl from 0.302.1 to 0.303.0 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3632 * chore(deps): bump github.com/prometheus/common from 0.67.3 to 0.67.4 in the prometheus group by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3639 * chore(deps): bump github.com/rickb777/period from 1.0.19 to 1.0.21 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3631 * chore(deps): bump github.com/go-resty/resty/v2 from 2.16.5 to 2.17.0 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3641 * chore(deps): bump github.com/golang-migrate/migrate/v4 from 4.19.0 to 4.19.1 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3662 * chore(deps): bump github.com/eclipse/paho.mqtt.golang from 1.5.0 to 1.5.1 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3659 * chore(deps): bump github.com/go-co-op/gocron/v2 from 2.18.0 to 2.18.2 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3657 * chore(deps): bump the redis group with 2 updates by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3656 * chore(deps): bump github.com/xdg-go/scram from 1.1.2 to 1.2.0 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3658 * chore(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3673 * chore(deps): bump the redis group with 2 updates by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3671 * chore(deps): bump the golang group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3705 * chore(deps): bump the k8s group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3710 * chore(deps): bump the otel group with 15 updates by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3706 * chore(deps): bump github.com/invopop/gobl from 0.303.0 to 0.304.1 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3714 * chore(deps): bump github.com/go-co-op/gocron/v2 from 2.18.2 to 2.19.0 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3715 * chore(deps): bump github.com/svix/svix-webhooks from 1.81.0 to 1.82.0 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3672 * chore(deps): bump github.com/ClickHouse/ch-go from 0.68.0 to 0.69.0 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3713 * chore(deps): bump urllib3 from 2.5.0 to 2.6.0 in /api/client/python by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3665 * chore(deps): bump urllib3 from 2.5.0 to 2.6.0 in /api/client/python/examples by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3666 * chore(deps): bump github.com/invopop/gobl to v0.304.2 by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3717 * chore(deps): bump github.com/go-resty/resty/v2 from 2.17.0 to 2.17.1 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3725 * chore(deps): bump github.com/ClickHouse/clickhouse-go/v2 from 2.40.3 to 2.42.0 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3724 * chore(deps): bump urllib3 from 2.6.0 to 2.6.2 in /api/client/python in the production-dependencies group by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3723 * chore(deps): bump google.golang.org/protobuf from 1.36.10 to 1.36.11 in the googlecloud group by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3719 * chore(deps): bump github.com/svix/svix-webhooks from 1.82.0 to 1.83.0 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3727 * chore(deps): bump github.com/XSAM/otelsql from 0.40.0 to 0.41.0 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3728 * chore(deps): bump github.com/jackc/pgx/v5 from 5.7.6 to 5.8.0 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3744 * chore(deps): bump github.com/samber/slog-multi from 1.6.0 to 1.7.0 in the samber group by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3776 * chore(deps): bump aiohttp from 3.13.1 to 3.13.3 in /api/client/python/examples by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3751 * chore(deps): bump aiohttp from 3.13.1 to 3.13.3 in /api/client/python by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3752 * chore(deps): bump github.com/confluentinc/confluent-kafka-go/v2 from 2.12.0 to 2.13.0 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3769 * chore(deps): bump urllib3 from 2.6.2 to 2.6.3 in /api/client/python by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3763 * chore(deps): bump urllib3 from 2.6.0 to 2.6.3 in /api/client/python/examples by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3762 * chore(deps): bump google.golang.org/grpc from 1.77.0 to 1.78.0 in the googlecloud group by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3735 * chore(deps): bump github.com/huandu/go-sqlbuilder from 1.38.1 to 1.38.2 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3756 * chore(deps): bump github.com/svix/svix-webhooks from 1.83.0 to 1.84.1 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3757 * chore(deps): bump github.com/prometheus/common from 0.67.4 to 0.67.5 in the prometheus group by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3768 * chore(deps): bump the k8s group across 1 directory with 3 updates by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/3729 ### Other Changes * refactor: improve event reconcile by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3602 * refactor: balance worker partition affinity by @turip in https://github.com/openmeterio/openmeter/pull/3603 * chore: use derive for eq checks by @turip in https://github.com/openmeterio/openmeter/pull/3521 * fix: reconcile state after msg resend by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3613 * chore(api): update JS client dependencies by @tothandras in https://github.com/openmeterio/openmeter/pull/3620 * fix: add validations on grant input by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3433 * feat(api): add missing methods to JS SDK by @tothandras in https://github.com/openmeterio/openmeter/pull/3640 * refactor: sink-worker lifecycle by @chrisgacsal in https://github.com/openmeterio/openmeter/pull/3647 * feat(billing): store payment processing entered at ts on invoice by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3645 * refactor: validate database inside the actual handler logic by @turip in https://github.com/openmeterio/openmeter/pull/3664 * refactor: standardize ingest http handler [OM-87] by @turip in https://github.com/openmeterio/openmeter/pull/3675 * refactor(customer): make usageattribution optional by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3682 * feat(api): customer v3 API by @tothandras in https://github.com/openmeterio/openmeter/pull/3690 * feat(api): v3 meter by @tothandras in https://github.com/openmeterio/openmeter/pull/3692 * feat: allow triggering subscription sync via events by @turip in https://github.com/openmeterio/openmeter/pull/3695 * feat(api): v3 list entitlement access by @tothandras in https://github.com/openmeterio/openmeter/pull/3693 * feat(api): add filter by key support to list-customers operation by @gergely-kurucz-konghq in https://github.com/openmeterio/openmeter/pull/3694 * feat(api): v3 subscription api by @tothandras in https://github.com/openmeterio/openmeter/pull/3696 * chore: retry queries on scaling by @turip in https://github.com/openmeterio/openmeter/pull/3702 * feat(api): error mapping by @tothandras in https://github.com/openmeterio/openmeter/pull/3708 * chore(client): update javascript dependencies by @tothandras in https://github.com/openmeterio/openmeter/pull/3747 * feat: detailed line schema by @turip in https://github.com/openmeterio/openmeter/pull/3770 * feat: enforce gathering invoice uniqueness by @turip in https://github.com/openmeterio/openmeter/pull/3772 * chore(docs): update api docs by @GAlexIHU in https://github.com/openmeterio/openmeter/pull/3774 **Full Changelog**: https://github.com/openmeterio/openmeter/compare/v1.0.0-beta.225...v1.0.0-beta.226