v2.0.21

GyulyVGC/sniffnetv2.0.21Jul 4, 2026by omkar273

AI Summary

This release updates the Swagger specification and introduces WebhookLoggingConfig for persistence. It also enhances meter usage handling, adds support for checkout flows and integrations, and fixes several tenant-scoped API key checks and configuration bindings.

Key Highlights

  • Added WebhookLoggingConfig for webhook request persistence.
  • Enhanced meter usage handling and added analytics benchmarks.
  • Added support for cross-system integrations and payment methods.
  • Added checkout flow and session support.
  • Fixed tenant-scoped API key checks and various configuration bindings.

New Features

  • Added WebhookLoggingConfig for webhook request persistence.
  • Enabled meter usage functionality with event ingestion logs.
  • Added support for integration cross-system ledger and payment method handling.
  • Added checkout flow and session support with cleanup.
  • Added timezone support to invoicing.
  • Added DLQ (Dead Letter Queue) for event ingestion consumers.
  • Added support for tenant auth middleware.
  • Added support for config_value field on entitlements.
  • Added graceful fallback to cached balance on backend failure.
  • Added FINAL benchmark for meter usage.

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