Skip to content

3.0.0

Choose a tag to compare

@xtrinch xtrinch released this 01 Apr 09:19
· 16 commits to master since this release

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.9 support.
  • Minimum supported Python is now 3.10.

Added

  • Added send_bulk_personalized_messages() to FCMDeviceQuerySet for sending notification batches with per-device title/body templating (#190, #287).
  • Added convenience summary helpers on FirebaseResponseDict:
    • success_count
    • failure_count
    • has_failures
    • all_failed
    • failed_registration_ids
    • failed_exceptions
    • summary

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=None so 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.14 support.
  • Python support is now:
    • 3.10
    • 3.11
    • 3.12
    • 3.13
    • 3.14

Tooling

  • Upgraded Black to 26.3.1.

Upgrade Notes

  • If you are still on Python 3.9, upgrade to Python 3.10+ before upgrading to fcm-django 3.0.0.
  • No existing Firebase send return types were changed; the new response helpers are additive.

New Contributors

Full Changelog: 2.3.1...3.0.0