Releases: getbooboo/python
Releases · getbooboo/python
Release list
v0.16.0
Features
- Install handshake.
booboo.init()now sends a tiny{"handshake": true}ping so your project shows as connected in the dashboard before the first error ever happens. Not an event: it never counts toward your quota andbefore_senddoesn't see it. Disable withBOOBOO_HANDSHAKE=0.
v0.15.0
Fixes
- Flask: HTTP errors are no longer turned into 500s. The error handler returned a bare
raisefor everything butNotFound, soabort(403), 405s and friends surfaced as Internal Server Errors.HTTPExceptions are now returned as-is (5xx ones are still reported); only unhandled exceptions are captured and re-raised. - Delivery failures are logged. A rejected event (wrong DSN → 403, quota → 429, oversized payload) or an unreachable endpoint used to fail silently. They now emit
logger.warningon thebooboologger (rate-limited to once per minute per cause), so a broken install is visible in your app log instead of looking like "no errors yet".
Features
-
debugoption:booboo.init(..., debug=True)(orBOOBOO_DEBUG=1) logs every send and drop on thebooboologger. -
releaseoption: Newreleaseparameter onbooboo.init()(andBoobooClient). Tags every event with a release/version identifier (e.g. a git SHA or"1.4.2"), enabling release tracking on issues ("introduced in release X", per-release filtering). Falls back to theBOOBOO_RELEASEenvironment variable when unset.
v0.14.0
Features
before_sendhook: newbefore_send=option onbooboo.init(). Inspect or modify every event before
transmission, or returnNoneto drop it. Enables value-level PII scrubbing (IBANs, payment references, emails inside
variable values) that the built-in name-based scrubber can't do. If the hook raises, the event is dropped — never sent
unscrubbed.
See the docs for details and a scrubbing example.
v0.13.0
Features
- URL-style DSNs —
booboo.init(dsn)now accepts both bare tokens (e.g."abc123...") and URL DSNs (e.g.
"https://abc123@ingest.booboo.dev/your-org/your-project"). When given a URL, the SDK parses out the host to derive the ingest endpoint
automatically — no need to passendpoint=separately. Bare-token DSNs continue to work unchanged.
Changed
- Default ingest endpoint is now
https://ingest.booboo.dev/(previouslyhttps://api.booboo.dev/ingest/). Existing installs that
passendpoint=explicitly are unaffected.api.booboo.dev/ingest/continues to accept events from older SDK versions.
Full changelog: https://github.com/getbooboo/python/blob/main/CHANGELOG.md
v0.12.0
Changed
- 404 errors are now filtered by default in Django and Flask integrations. Use
booboo.capture_exception()in a custom 404 handler if you
still want to track them.
v0.11.0
Features
- Django Channels support:
ProtocolTypeRouteris automatically patched whenchannelsis installed — errors in both HTTP and
WebSocket handlers are captured with full request context. - WebSocket error capture: ASGI middleware now captures errors in WebSocket connections (previously only HTTP requests were handled).
v0.10.0
Features
capture_message(message, level)— Send plain message events that aren't tied to an exception. Useful for tracking deployments,
warnings, or custom events.ignore_errors— New parameter onbooboo.init()to suppress known exception types from being reported. Usesisinstance()matching
so subclasses are automatically caught (e.g.[OSError]also suppressesConnectionError,FileNotFoundError, etc.). Filtering runs before
stack trace extraction for zero overhead on ignored errors.
Changes
endpointparameter moved to end of argument list in bothbooboo.init()andBoobooClient().
Full changelog: https://github.com/getbooboo/python/blob/main/CHANGELOG.md
v0.9.0
Features
- Environment support:
booboo.init()now accepts anenvironmentparameter (e.g."production","staging"). The value is attached to every event and can be used to filter issues in the dashboard.
v0.8.0
Fixed
- SDK no longer crashes user applications when thread creation fails (e.g., during interpreter shutdown). Replaced
thread-per-event model with a single background worker thread + bounded queue. - Fixed memory leak: completed thread objects were accumulated indefinitely in long-running processes.
- ASGI middleware no longer crashes on malformed request headers.
Improved
- Event payloads exceeding 100KB are silently dropped instead of failing on the server.
- Local variable capture limited to 50 per frame to prevent oversized payloads.