Skip to content

Releases: DMontgomery40/Faxbot

v0.4-beta

23 Sep 09:28

Choose a tag to compare

Highlights

  • Traits‑first plugins, hybrid backends (outbound/inbound), canonical status/events, inbound idempotency, and a much more helpful Admin Console + docs.
  • Both SDKs released as v1.1.0 (Node + Python), aligned with the stable API surface.

Admin Console

  • Traits‑aware UX: surfaces only capabilities relevant to the active providers; no cross‑backend leakage.
  • Hybrid controls: pick outbound and inbound providers separately; settings export includes dual envs only when explicitly set.
  • Setup Wizard overhaul: clearer steps, provider tabs, inline validations, “Apply & Reload,” and environment snippets.
  • Diagnostics & Matrix: actionable checks, trait chips, backend‑specific hints and remediation, and rate‑limit awareness.
  • Plugins: manifest/registry docs + “Try it” guides; plugin builder polish.
  • Tools: Scripts & Tests, Terminal (local‑only, gated), Logs refinements.
  • Branding/UX: larger hero, mini‑banner header (auto light/dark), consistent motion, responsive spacing, and accessible lists.

API & Backends

  • Hybrid model (dual backends): FAX_OUTBOUND_BACKEND and FAX_INBOUND_BACKEND with legacy FAX_BACKEND fallback. Gated inbound routes honor inbound_enabled and the active inbound provider.
  • Canonicalization: provider status mapping via config/provider_status_map.json with a canonical queued/in_progress/success/failed layer.
  • Canonical events/models groundwork for outbound + inbound, adapter base, and middleware to enforce traits (strict mode ready).
  • Inbound idempotency: deduplicates (provider_sid, event_type) to avoid reprocessing cloud callbacks.
  • Cloud backends: Phaxio and Sinch improvements; HMAC verification defaults for cloud inbound; SignalWire (preview), FreeSWITCH (preview).
  • Self‑hosted SIP/Asterisk: AMI checks, TIFF/PDF pipeline, and clearer errors; SIP inbound gated by traits + secret.

Security & Compliance

  • Security moved to top‑level in docs; HIPAA guidance tightened with authoritative HHS/NIST/CFR references.
  • No PHI in logs/UI; secrets masked throughout; HTTPS enforcement option; Admin Console local‑only by default.
  • Audit log option; consistent error codes (400/401/404/413/415) across API and SDKs.

Docs

  • MkDocs Material migration completed (strict build clean): redirects added, dark mode default, favicon/logo corrected.
  • Deep polish: bullets, admonitions, code blocks with copy, content tabs with anchors, and version badges where useful.
  • Backend isolation in copy; “Learn more” links point to precise sections; canonical API reference linked at https://faxbot.net/api/v1/ and /api/v1/swagger.
  • iOS app docs: TestFlight invite flow + screenshots (no private build details).

SDKs (v1.1.0)

  • Node: npm i faxbot@1.1.0
  • Python: pip install faxbot==1.1.0
  • Identical API surface and error mapping; health checks; supports PDF/TXT; never integrates directly with providers (always calls Faxbot API).

MCP (Assistant Integration)

  • Node + Python MCP servers with stdio/HTTP/SSE; parity tools: send_fax, get_fax_status, list_inbound, get_inbound_pdf.
  • SSE OAuth option; HTTP/SSE JSON limit 16 MB; REST 10 MB raw; stdio supports filePath (no base64).

Upgrade Notes

  • If you stay single‑backend: keep FAX_BACKEND only (no change).
  • If you want hybrid: set FAX_OUTBOUND_BACKEND and/or FAX_INBOUND_BACKEND, then POST /admin/settings/reload.
  • Inbound
    • Enable with INBOUND_ENABLED=true.
    • SIP internal route requires FAX_INBOUND_BACKEND=sip (when dual is explicit) and ASTERISK_INBOUND_SECRET set.
    • Cloud inbound (Phaxio/Sinch) keep HMAC verification on by default.
  • Export/persist: /admin/settings/export only includes dual envs when you explicitly set them; copy to .env to persist.

Notable Fixes

  • Status map load made robust: resolves config/provider_status_map.json relative to repo root, stabilizing canonical mappings under tests and in production.
  • Sinch/diagnostics corrections; Admin UI TS strict mode cleaned up; CORS/OpenAPI access points stabilized.

Install/Use

  • Node SDK: npm i faxbot@1.1.0
  • Python SDK: pip install faxbot==1.1.0
  • API quick start: POST /fax (multipart: to, file), GET /fax/{id}
  • Admin endpoints behind API key with scopes; see /openapi.json.

Faxbot v0.3-beta

10 Sep 09:39

Choose a tag to compare

Faxbot v0.2-beta

08 Sep 03:10

Choose a tag to compare

Full Changelog: SDKv1...v2

SDKs v1.0.0

06 Sep 04:52

Choose a tag to compare

SDKv1

Update .gitignore t