v2.0.21

lutzroeder/netronv2.0.21Jul 4, 2026by omkar273

AI Summary

A release focused on billing and metering enhancements, including webhook logging, meter usage improvements, checkout flow support, and cross-system integrations.

Key Highlights

  • Webhook logging configuration for request persistence.
  • Enhanced meter usage handling for non-subscription meters.
  • New checkout flow implementation.
  • Support for cross-system ledger and payment method integrations (e.g., Moyasar).
  • Timezone support added to invoicing.

New Features

  • WebhookLoggingConfig for persistence.
  • Meter usage enablement and event ingestion logs.
  • Checkout session support and cleanup.
  • Integration support for cross-system ledger and payment methods.
  • Chart rendering for `webhook.rate_limit` and `integration_events`.
  • Kafka dead letter queue (DLQ) for event ingestion consumers.
  • Tenant-scoped API key checks.
  • Timezone support in invoicing.

Full Release Notes

## What's Changed
* feat(swagger): update swagger spec by @omkar273 in https://github.com/flexprice/flexprice/pull/2051
* fix(user): ensure tenant-scoped API key checks in DeleteUser function by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2052
* main -> develop by @omkar273 in https://github.com/flexprice/flexprice/pull/2053
* refactor(user): simplify comment on tenant-scoped API key checks in DeleteUser function by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2054
* feat(logging): add WebhookLoggingConfig for webhook request persistence  by @Gursimar10 in https://github.com/flexprice/flexprice/pull/2034
* ci(deploy): publish GHCR :main tag on push to main by @agrim123 in https://github.com/flexprice/flexprice/pull/2056
* fix(meter-usage): Handle non-subscription meters in usage by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2057
* Fle 876 dev by @Gursimar10 in https://github.com/flexprice/flexprice/pull/2060
* Develop by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2059
* fix(meter-usage): Event ingestion logs by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2062
* feat(meter-usage): enable meter usage by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2063
* Develop by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2064
* Revert "fix(meter-usage): Event ingestion logs" by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2065
* feat(coupon): add expand for coupon and line item by @omkar273 in https://github.com/flexprice/flexprice/pull/2066
* feat(integration): add support for integration cross system ledger, payment method, and moyasar charge automatic by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2040
* feat(chart): render webhook.rate_limit + integration_events block by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2068
* feat(chart): render wallet_balance_alert config section by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2070
* feat(moyasar): enhance customer validation and improve logging in payment processing by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2072
* fix(config): bind Svix auth token env so webhooks stop 401-ing by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2078
* feat(chart): render remaining feature_flag fields by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2077
* Release by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2069
* feat(payment): update CreateSetupIntentRequest to use SecretProviderand enhance Moyasar setup intent handling with improved logging and success URL management by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2079
* refactor(setupintent): streamline success URL assignment logic in createMoyasarSetupIntent function by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2080
* fix(config): bind FLEXPRICE_REDIS_CLUSTER_MODE & REDIS_KEY_PREFIX env vars by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2083
* fix(config): bind FLEXPRICE_REDIS_CLUSTER_MODE & REDIS_KEY_PREFIX env vars (prod) by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2084
* main -> develop by @omkar273 in https://github.com/flexprice/flexprice/pull/2085
* feat(payment-method): add index by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2086
* Release by @omkar273 in https://github.com/flexprice/flexprice/pull/2082
* feat(helm): render checkout.base_url into app configmap by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2089
* feat(helm): render meter/replay/raw/benchmark consumer blocks in configmap by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2093
* fix(chart): remove HTTP /health probes from consumer + worker deployments by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2044
* feat(checkout): add checkout flow by @omkar273 in https://github.com/flexprice/flexprice/pull/2076
* feat(middleware): add support for tenant auth middleware by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2055
* refactor(router): standardize entity usage in checkout session routes by @omkar273 in https://github.com/flexprice/flexprice/pull/2096
* Hotfix/tax-assocations-err by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2094
* Develop by @omkar273 in https://github.com/flexprice/flexprice/pull/2097
* Release 26th June'26 by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2095
* feat(wallet): graceful fallback to cached balance on backend failure by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2092
* fix(wallet): fallback to older cached balance by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2100
* feat(analytics-benchmark): Add FINAL benchmark for meter usage by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2101
* fix return type by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2105
* Develop by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2106
* fix(resp-rbac): update error marking for existing credit notes and  handle entity, action for logs by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2098
* feat(checkout): add support for checkout session by @omkar273 in https://github.com/flexprice/flexprice/pull/2108
* feat(checkout): add support for checkout session cleanup by @omkar273 in https://github.com/flexprice/flexprice/pull/2110
* feat(customer-entitlements): add subscriptions field to CustomerEntitlementsResponse and update billing service response by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2104
* feat(webhook): enhance checkout session event handling by @omkar273 in https://github.com/flexprice/flexprice/pull/2111
* feat(feature-entitlement): add support for config_value field on entitlements with create, bulk create, update, and aggregation pipeline by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2103
* main -> develop by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2112
* Release by @omkar273 in https://github.com/flexprice/flexprice/pull/2109
* fix(price): increase entity limit from 3000 to 5000 by @Gursimar10 in https://github.com/flexprice/flexprice/pull/2113
* feat(kafka): add dlq for event ingestion consumers by @Gursimar10 in https://github.com/flexprice/flexprice/pull/2102
* refactor(cache): replace TrySetNX with AcquireLock  by @omkar273 in https://github.com/flexprice/flexprice/pull/2115
* Main by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2116
* refactor(billing): update billing date calculations to use parameter by @omkar273 in https://github.com/flexprice/flexprice/pull/2117
* refactor(billing): update billing date calculations params by @omkar273 in https://github.com/flexprice/flexprice/pull/2121
* Release by @omkar273 in https://github.com/flexprice/flexprice/pull/2122
* fix(config): BindEnv auth.supabase.service_key so GKE reads it (fixes /v1/users 500) by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2123
* feat(timezone): add timezone support to invoicing by @omkar273 in https://github.com/flexprice/flexprice/pull/2043
* Release by @omkar273 in https://github.com/flexprice/flexprice/pull/2124
* hotfix(billing): remove line items from entitlements response by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2126
* fix(config): BindEnv email.resend_api_key + render email.zapier_webhook_url by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2129
* refactro(expression): CEL expr enhancemens by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2114
* Release by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2134
* feat(kafka): add dlq on consumer group which ingest from events by @Gursimar10 in https://github.com/flexprice/flexprice/pull/2132
* Implement AGENTS.md structure and context sync by @omkar273 in https://github.com/flexprice/flexprice/pull/1953
* feat(subscription): allow addons on draft subscriptions by @omkar273 in https://github.com/flexprice/flexprice/pull/2048
* feat(e2eprobe): continuous synthetic API probe for prod monitoring by @DiabolusGX in https://github.com/flexprice/flexprice/pull/1956
* feat(e2eprobe): example env file by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2137
* feat(subscription): add ConfigValue field to OverrideEntitlementRequest and update processing logic by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2136
* feat(helm): consumer-only extraEnv (enables cache on consumer only) by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2138
* fix(subscription): refine validation messages for config feature overrides in ProcessSubscriptionEntitlementOverrides function by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2141
* Fix/config ent edit by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2143
* feat(e2eprobe): ship as standalone docker image by @agrim123 in https://github.com/flexprice/flexprice/pull/2142
* feat(kafka): add topic_dlq for remaining consumer groups in helm conf… by @Gursimar10 in https://github.com/flexprice/flexprice/pull/2144
* fix(entitlement): update validation to enable config features by default and adjust related tests by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2145
* fix(docker): keep swagger docs.go in build context (fixes develop build) by @agrim123 in https://github.com/flexprice/flexprice/pull/2147
* feat(meter-usage): Enable billing via meter usage by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2140
* main -> develop by @omkar273 in https://github.com/flexprice/flexprice/pull/2150
* feat(creditgrant): add EndDate update  by @omkar273 in https://github.com/flexprice/flexprice/pull/2149
* Release by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2139
* feat(meter_usage): add support for expand sources in meter usage analytics by @omkar273 in https://github.com/flexprice/flexprice/pull/2151
* Develop by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2152
* fix(paddle): handle paddle txn.completed webhook against subscription… by @Gursimar10 in https://github.com/flexprice/flexprice/pull/2153
* fix(stripe): preserve original quantity in invoice line item by @omkar273 in https://github.com/flexprice/flexprice/pull/2154
* feat(webhooks): return Svix app-portal token + app_id by @agrim123 in https://github.com/flexprice/flexprice/pull/2148
* hotfix(wallet): add SkipAsyncRecheck field to WalletBalanceAlertEvent to prevent duplicate processing of balance alerts by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2155
* feat(creditgrant): add EndDate update by @omkar273 in https://github.com/flexprice/flexprice/pull/2159
* RELEASE by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2158
* chore(config): new feature flag by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2163
* main -> develop by @omkar273 in https://github.com/flexprice/flexprice/pull/2164
* chore(logging): downgrade high-volume info logs to debug to reduce volume by @nkmishra1997 in https://github.com/flexprice/flexprice/pull/2160
* fix(tracing): make DB spans visible as Database Calls in OTEL + per-statement Postgres/ClickHouse spans by @nkmishra1997 in https://github.com/flexprice/flexprice/pull/2161
* feat(analytics): add discount handling to meter usage analytics by @omkar273 in https://github.com/flexprice/flexprice/pull/2135
* feat(billing): add tests for month-end date by @omkar273 in https://github.com/flexprice/flexprice/pull/2166
* Release by @nkmishra1997 in https://github.com/flexprice/flexprice/pull/2165


**Full Changelog**: https://github.com/flexprice/flexprice/compare/v2.1.20...v2.0.21