All notable changes to django-tee will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Pluggable error-reporting backends (
django_tee.backends). Rollbar is no longer a special case — it sits alongside a new built-in Sentry backend, and custom callables can be plugged in via the newDJANGO_TEE_ERROR_BACKENDSDjango setting (entries are either built-in names or dotted paths). - Sentry integration via
pip install "django-tee[sentry]"— exceptions are forwarded tosentry_sdk.capture_exception. - New
all-backendsextra:pip install "django-tee[all-backends]"installs both Rollbar and Sentry SDKs. - Test coverage for backend dispatch (autodetect, explicit setting, custom callable, failing-backend isolation).
django_tee.core.execute()now fans the exception out to every configured backend instead of the previous hard-codedrollbarcall. With no settings and no SDKs installed, behavior is unchanged. With onlyrollbarinstalled, behavior is unchanged.- A backend that itself raises while reporting no longer breaks other backends or masks the wrapped command's traceback — failures are swallowed per backend.
- Initial public release.
- Extracted from the bpp project, where it had been in use since 2021.
python manage.py tee <command> [args...]wrapper.- Programmatic
django_tee.core.execute(argv). django_tee.models.Logadmin (read-only).- Optional
rollbarintegration viapip install "django-tee[rollbar]". - Test suite running against PostgreSQL via testcontainers.
- The Django app label is
tee(notdjango_tee) so that installations that previously had a hand-rolledteeapp inlined in their project (e.g. bpp) can drop indjango-teewithout renaming tables or rewritingdjango_migrationsrows.