v2.1.20

feder-cr/AIHawkv2.1.20Jun 22, 2026by omkar273

AI Summary

This release focuses on fixing commitment and analytics billing logic, adding coupon retrieval features, and enhancing invoice customization. It also introduces Kafka dual-write support for AWS-to-GCP migration and various improvements to the Zoho integration.

Key Highlights

  • Fixed per-bucket analytics and commitment billing logic
  • Added endpoint to retrieve coupon by promo code
  • Added support to customize invoice number format
  • Added support for manually creating invoice PDFs
  • Added Kafka dual-write for AWS→GCP migration

New Features

  • Coupon retrieval by promo code
  • Invoice number format customization
  • Manual invoice PDF creation
  • Kafka dual-write for AWS→GCP migration
  • Service account name in list API keys response

Full Release Notes

## What's Changed
* fix(commitment): correct per-bucket analytics — summaries, true-up, and fill scoping by @DiabolusGX in https://github.com/flexprice/flexprice/pull/1997
* main -> develop by @omkar273 in https://github.com/flexprice/flexprice/pull/2001
* fix(commitment): bucket-level true-up in invoice billing + customer sweep; effective point window by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2000
* refactor(commitment): scope billing window-fill to true-up-able windows; table-driven tests by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2002
* feat(coupons): add endpoint to retrieve coupon by promo code by @omkar273 in https://github.com/flexprice/flexprice/pull/2008
* main -> develop by @omkar273 in https://github.com/flexprice/flexprice/pull/2011
* chore(ci): push develop tag and enable multi-arch builds on develop branch by @agrim123 in https://github.com/flexprice/flexprice/pull/2007
* fix(ci): drop linux/arm/v7 from release build by @agrim123 in https://github.com/flexprice/flexprice/pull/2012
* perf(ci): cross-compile Go natively instead of QEMU emulation by @agrim123 in https://github.com/flexprice/flexprice/pull/2013
* fix(analytics): event count and bucket line-items query by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2014
* Release by @omkar273 in https://github.com/flexprice/flexprice/pull/2004
* feat(benchmark): relation fields by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2015
* Release by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2016
* feat(invoice): add support to customize invoice number format by @omkar273 in https://github.com/flexprice/flexprice/pull/2019
* Develop by @omkar273 in https://github.com/flexprice/flexprice/pull/2020
* feat(invoices): add suppport to manually create invoice pdf by @omkar273 in https://github.com/flexprice/flexprice/pull/2021
* fix(meter-usage): Group by properties in bucketed meters by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2022
* fix(ee): Fix imports by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2023
* main -> develop by @omkar273 in https://github.com/flexprice/flexprice/pull/2026
* feat(secret): add support for service account name in list api keys response by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2029
* Develop by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2027
* refactor(auth): update GenerateDevToken method by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2030
* Release by @Gursimar10 in https://github.com/flexprice/flexprice/pull/2031
* refactor(meter-usage): Empty properties handling by @DiabolusGX in https://github.com/flexprice/flexprice/pull/2032
* feat(kafka): optional second-cluster dual-write for AWS→GCP migration by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2028
* fix(config): bind auth.secret + primary kafka SASL creds from env by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2035
* feat(targets): add Enabled field to control target inclusion in runs by @omkar273 in https://github.com/flexprice/flexprice/pull/2036
* feat(zoho):do not send fp inv number to zoho and update fp invoice nu… by @Gursimar10 in https://github.com/flexprice/flexprice/pull/2038
* fix(config): bind deployment.mode from FLEXPRICE_DEPLOYMENT_MODE by @ojasagarwal-flex in https://github.com/flexprice/flexprice/pull/2041
* feat(zoho):do not send fp inv number to zoho and update fp invoice number with zoho inv number by @Gursimar10 in https://github.com/flexprice/flexprice/pull/2039
* Merge pull request #2039 from Gursimar10/zoho_changes by @Gursimar10 in https://github.com/flexprice/flexprice/pull/2045
* Fix/coupons by @omkar273 in https://github.com/flexprice/flexprice/pull/2046
* refactor(subscription): rename AssociationID to CouponAssociationID and TaxAssociationID by @subratsahilgupta in https://github.com/flexprice/flexprice/pull/2047
* Release by @Gursimar10 in https://github.com/flexprice/flexprice/pull/2050


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