3.0.0
fcm-django 3.0.0 includes new bulk-personalization support, improved Firebase response inspection, safer admin behavior, updated Python support, and several tooling/runtime fixes.
Breaking Changes
- Dropped Python
3.9support. - Minimum supported Python is now
3.10.
Added
- Added
send_bulk_personalized_messages()toFCMDeviceQuerySetfor sending notification batches with per-device title/body templating (#190, #287). - Added convenience summary helpers on
FirebaseResponseDict:success_countfailure_counthas_failuresall_failedfailed_registration_idsfailed_exceptionssummary
Fixed
- Fixed Django admin test-send actions so Firebase send failures no longer crash the admin with a 500; errors are now surfaced gracefully in the UI (#272).
- Fixed
APP_VERBOSE_NAME=Noneso the app falls back to the documented default verbose name instead of leaving admin/app config in a broken state. - Improved documentation for inspecting batch send failures and non-deactivation Firebase errors.
Python Support
- Added Python
3.14support. - Python support is now:
3.103.113.123.133.14
Tooling
- Upgraded Black to
26.3.1.
Upgrade Notes
- If you are still on Python
3.9, upgrade to Python3.10+before upgrading tofcm-django 3.0.0. - No existing Firebase send return types were changed; the new response helpers are additive.
New Contributors
- @acidrunn3r made their first contribution in #290
Full Changelog: 2.3.1...3.0.0