• v0.10.0 121e400712

    v0.10.0
    All checks were successful
    Build, Test, Deploy / build (push) Successful in 3m10s
    Stable

    bullitt released this 2026-07-03 22:35:16 +02:00 | 95 commits to main since this release

    • feat(amazon): swap in polished Amazon logo (svg + 64x64 png)
    • docs: regenerate CHANGELOG.md for v0.9.0 [skip ci]
    Downloads
  • v0.9.0 810a446509

    v0.9.0
    All checks were successful
    Build, Test, Deploy / build (push) Successful in 4m37s
    Stable

    bullitt released this 2026-07-03 22:23:43 +02:00 | 97 commits to main since this release

    • feat(amazon): add Amazon.de carrier pack with deterministic email parsing
    • docs: regenerate CHANGELOG.md for v0.8.1 [skip ci]
    Downloads
  • v0.8.1 bdbb181223

    v0.8.1
    All checks were successful
    Build, Test, Deploy / build (push) Successful in 2m37s
    Stable

    bullitt released this 2026-07-01 10:52:44 +02:00 | 99 commits to main since this release

    • fix: make webhook notifier per-user, fix ntfy test endpoint reading global settings
    • docs: regenerate CHANGELOG.md for v0.8.0 [skip ci]
    Downloads
  • v0.8.0 d4657848e2

    v0.8.0
    All checks were successful
    Build, Test, Deploy / build (push) Successful in 4m49s
    Stable

    bullitt released this 2026-07-01 09:19:58 +02:00 | 101 commits to main since this release

    • Merge architecture-rework: implement all 20 architecture review findings
    • fix(security): stop leaking _jwt_secret via GET /api/settings
    • feat(frontend): add useApiResource hook, migrate Dashboard's main fetch (fixes #62)
    • refactor(frontend): split Settings.tsx into per-section components (fixes #59)
    • test: add tests for email_service.py, notifiers/webhook.py, middleware.py (fixes #66)
    • refactor: extract shipment routes into routers/shipments.py (fixes #50)
    • refactor: extract settings + scrapers routes into routers/ (part of #50)
    • refactor: extract auth routes into routers/auth.py (part of #50)
    • refactor: extract admin routes into routers/admin.py (part of #50)
    • refactor: add Pydantic models for remaining raw request.json() endpoints (fixes #52)
    • refactor: share ingest.py's upsert+event orchestration with manual creation (fixes #55)
    • feat: add centralized exception handler for unhandled errors (fixes #53)
    • refactor: move bulk-archive raw SQL from main.py into db.py (fixes #56)
    • refactor: consolidate three rate-limiter implementations into rate_limit.RateLimiter (fixes #51)
    • refactor(scheduler): consolidate _apply_result/scrape_single into one shared function (fixes #54)
    • test: add tests/test_db.py for direct db.py coverage (fixes #65)
    • fix(db): make upsert_shipment + add_event atomic via db.transaction() (fixes #57)
    • fix(frontend): accessibility gaps + top-level error boundary (fixes #63)
    • refactor(frontend): remove shadow-duplicate Shipment/Parser types (fixes #61)
    • refactor(frontend): extract shared AddShipmentModal, unify state-dot color logic (fixes #60)
    • build: raise CI coverage gate to 50% and audit the pinned lock file (fixes #67, #68)
    • test: restore architecture guard for carrier packs (fixes #64)
    • docs: add architecture and maintainability review
    • docs: regenerate CHANGELOG.md for v0.7.0 [skip ci]
    Downloads
  • v0.7.0 b30dac3a98

    v0.7.0
    All checks were successful
    Build, Test, Deploy / build (push) Successful in 2m45s
    Stable

    bullitt released this 2026-06-30 23:57:41 +02:00 | 125 commits to main since this release

    • Merge: commit Presidio PII module + dev scripts
    • feat: commit Presidio PII module (close latent prod break)
    • docs: make the Amazon Sieve match specific to the dispatch sender
    • docs: regenerate CHANGELOG.md for v0.6.0 [skip ci]
    Downloads
  • v0.6.0 0b0bb27fc7

    v0.6.0
    All checks were successful
    Build, Test, Deploy / build (push) Successful in 2m29s
    Stable

    bullitt released this 2026-06-30 23:47:15 +02:00 | 129 commits to main since this release

    • Merge: attribute tracking-inbox mail by recipient (Sieve auto-forward)
    • feat: attribute tracking-inbox mail by recipient (enable Sieve auto-forward)
    • docs: regenerate CHANGELOG.md for v0.5.1 [skip ci]
    Downloads
  • v0.5.1 4dc7da9d6e

    v0.5.1
    All checks were successful
    Build, Test, Deploy / build (push) Successful in 2m17s
    Stable

    bullitt released this 2026-06-30 23:35:30 +02:00 | 132 commits to main since this release

    • fix: distinguish unknown vs admin-only rejected keys in settings log
    • docs: regenerate CHANGELOG.md for v0.5.0 [skip ci]
    Downloads
  • v0.5.0 1b8e601e12

    v0.5.0
    All checks were successful
    Build, Test, Deploy / build (push) Successful in 2m51s
    Stable

    bullitt released this 2026-06-30 23:29:14 +02:00 | 134 commits to main since this release

    • Merge: separate personal vs admin settings + gate global writes
    • feat: separate personal vs admin settings in UX + gate global writes
    • docs: regenerate CHANGELOG.md for v0.4.0 [skip ci]
    Downloads
  • v0.4.0 cd259f853f

    v0.4.0
    All checks were successful
    Build, Test, Deploy / build (push) Successful in 2m48s
    Stable

    bullitt released this 2026-06-30 23:04:51 +02:00 | 137 commits to main since this release

    • Merge: shared tracking inbox, verified addresses, per-user MQTT
    • docs: document per-user MQTT connection architecture
    • feat: shared forward-to-ingest tracking inbox, verified addresses, per-user MQTT
    • docs: regenerate CHANGELOG.md for v0.3.1 [skip ci]
    Downloads
  • v0.3.1 d2cc0db569

    v0.3.1
    All checks were successful
    Build, Test, Deploy / build (push) Successful in 2m22s
    Stable

    bullitt released this 2026-06-30 21:55:14 +02:00 | 141 commits to main since this release

    • fix: use python3 healthcheck (curl not in image)
    • docs: regenerate CHANGELOG.md for v0.3.0 [skip ci]
    Downloads