Skip to content

Releases: getbooboo/python

v0.16.0

Choose a tag to compare

@tomreitsma tomreitsma released this 20 Aug 19:00

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 and before_send doesn't see it. Disable with BOOBOO_HANDSHAKE=0.

v0.15.0

Choose a tag to compare

@tomreitsma tomreitsma released this 20 Aug 18:36

Fixes

  • Flask: HTTP errors are no longer turned into 500s. The error handler returned a bare raise for everything but NotFound, so abort(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.warning on the booboo logger (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

  • debug option: booboo.init(..., debug=True) (or BOOBOO_DEBUG=1) logs every send and drop on the booboo logger.

  • release option: New release parameter on booboo.init() (and BoobooClient). 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 the BOOBOO_RELEASE environment variable when unset.

v0.14.0

Choose a tag to compare

@tomreitsma tomreitsma released this 09 Jun 20:06

Features

  • before_send hook: new before_send= option on booboo.init(). Inspect or modify every event before
    transmission, or return None to 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

Choose a tag to compare

@tomreitsma tomreitsma released this 13 May 14:22

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 pass endpoint= separately. Bare-token DSNs continue to work unchanged.

Changed

  • Default ingest endpoint is now https://ingest.booboo.dev/ (previously https://api.booboo.dev/ingest/). Existing installs that
    pass endpoint= 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

Choose a tag to compare

@tomreitsma tomreitsma released this 12 Mar 15:55

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

Choose a tag to compare

@tomreitsma tomreitsma released this 11 Mar 09:48

Features

  • Django Channels support: ProtocolTypeRouter is automatically patched when channels is 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

Choose a tag to compare

@tomreitsma tomreitsma released this 03 Mar 16:20

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 on booboo.init() to suppress known exception types from being reported. Uses isinstance() matching
    so subclasses are automatically caught (e.g. [OSError] also suppresses ConnectionError, FileNotFoundError, etc.). Filtering runs before
    stack trace extraction for zero overhead on ignored errors.

Changes

  • endpoint parameter moved to end of argument list in both booboo.init() and BoobooClient().

Full changelog: https://github.com/getbooboo/python/blob/main/CHANGELOG.md

v0.9.0

Choose a tag to compare

@tomreitsma tomreitsma released this 23 Feb 21:07

Features

  • Environment support: booboo.init() now accepts an environment parameter (e.g. "production", "staging"). The value is attached to every event and can be used to filter issues in the dashboard.

v0.8.0

Choose a tag to compare

@tomreitsma tomreitsma released this 23 Feb 18:35

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.

v0.7.0

Choose a tag to compare

@tomreitsma tomreitsma released this 20 Feb 14:48

Initial release