Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 24 Oct 04:47
· 106 commits to main since this release

   🚀 Features

   🐞 Bug Fixes

  • api:
    • Home's upcoming list skips draft incidents; empty analytics is left out  -  by @productdevbook and Claude Opus 5.5 (98615)
    • Account deletion and the workspace deletion job lock rows in opposite orders  -  by @productdevbook and Claude Opus 5.5 (214a8)
    • Retention and migration removal lock the workspace before deleting conversations  -  by @productdevbook and Claude Opus 5.5 (1e5a8)
    • Trace sampling decided by the server, one span per mail send, real transport and error messages  -  by @productdevbook and Claude Opus 5.5 (63931)
    • Audit log entries never fail an action, revoke once, owner-held audit:read  -  by @productdevbook and Claude Opus 5.5 (9966e)
    • Rate limits by the database clock, fail open, never wait for a second connection  -  by @productdevbook and Claude Opus 5.5 (c17ea)
    • Trash review findings: retries, purge budget, events, client frame, database clock  -  by @productdevbook and Claude Opus 5.5 (e638a)
    • Channel attachment limits accept narrowed wildcards and never widen  -  by @productdevbook and Claude Opus 5.5 (b9074)
    • Redaction review findings: feedback text, subject, batches, send and delivery races  -  by @productdevbook and Claude Opus 5.5 (9984c)
    • Widget socket reads its event cursor before loading the contact's conversations  -  by @productdevbook and Claude Opus 5.5 (a3090)
    • Macros survive removed members and deleted labels  -  by @productdevbook and Claude Opus 5.5 (9fa11)
    • Custom field clears run once per deletion, walk by id, and lifting spam needs required fields  -  by @productdevbook and Claude Opus 5.5 (2b3dd)
    • SLA clocks survive dropped policies, DST gaps and limited keys  -  by @productdevbook and Claude Opus 5.5 (7a914)
    • SAML sign-in cookie reaches the identity provider's POST  -  by @productdevbook and Claude Opus 5.5 (c7832)
    • A duplicate custom field key answers field_taken and never clears a live field  -  by @productdevbook and Claude Opus 5.5 (ea522)
    • Saved views need conversations:read, limit per owner and keep concurrent strips  -  by @productdevbook and Claude Opus 5.5 (f23e0)
    • Number the Slack SLA migration after saved views  -  by @productdevbook and Claude Opus 5.5 (92768)
    • Automation rules recheck idle, charge per rule, keep decisions and need owner-approved reply text  -  by @productdevbook and Claude Opus 5.5 (305a9)
    • Automatic assignment decides each waiting conversation alone and counts loads by index  -  by @productdevbook and Claude Opus 5.5 (42c54)
    • Conversation lists carry assign_waiting_since  -  by @productdevbook and Claude Opus 5.5 (758a5)
    • Slow webhook endpoints can't hold up assignment and other jobs  -  by @productdevbook and Claude Opus 5.5 (b98ef)
    • Assistants follow bots_may_send whatever resource their token names  -  by @productdevbook and Claude Opus 5.5 (67a5a)
    • Sessions can be signed out everywhere; redirect_uri and presence tightened  -  by @productdevbook and Claude Opus 5.5 (2d8b6)
    • User agents that are not UTF-8 no longer break sign-in or consent records  -  by @productdevbook and Claude Opus 5.5 (6e414)
    • App push previews are rendered at send time and follow redaction, trash and deletion  -  by @productdevbook and Claude Opus 5.5 (0adf2)
    • Slack posts follow redaction, trash and deletion  -  by @productdevbook and Claude Opus 5.5 (7b847)
    • Migration work rows forget people when it ends and when a contact is deleted  -  by @productdevbook and Claude Opus 5.5 (09d82)
    • Read the DMARC result as RFC 8601 says, not the first dmarc= text  -  by @productdevbook and Claude Opus 5.5 (96e42)
    • Automatic replies only to senders who passed DMARC  -  by @productdevbook and Claude Opus 5.5 (ee947)
    • Ingress caps, cost and address guards from the 0.1.0 review  -  by @productdevbook and Claude Opus 5.5 (6389f)
    • Believe DMARC only from our own receiver and only for one From  -  by @productdevbook and Claude Opus 5.5 (ac9fc)
    • Deleting a contact or inbox removes its events and webhook copies at once  -  by @productdevbook and Claude Opus 5.5 (df3d1)
    • Storage deletes retry, sending settings are audited, logs keep addresses out  -  by @productdevbook and Claude Opus 5.5 (c06e6)
    • Servers without SMTP still log sign-in codes  -  by @productdevbook and Claude Opus 5.5 (dae2e)
    • Deletions remove event and webhook copies by index and wait for writes in progress  -  by @productdevbook and Claude Opus 5.5 (05a4f)
    • SMTP errors keep addresses out of logs, traces and job errors  -  by @productdevbook and Claude Opus 5.5 (e3ed6)
    • Single sign-on sessions act only in their own workspace  -  by @productdevbook and Claude Opus 5.5 (9f858)
    • Slack replies and queued actions pass the SSO gate  -  by @productdevbook and Claude Opus 5.5 (e3ef5)
    • Requiring SSO ends other sessions; SSO sign-ins record their device  -  by @productdevbook and Claude Opus 5.5 (de141)
    • SSO sessions keep off person-wide settings; replaced providers end their sessions  -  by @productdevbook and Claude Opus 5.5 (42c50)
    • Address confirmation mails are capped per address  -  by @productdevbook and Claude Opus 5.5 (0f613)
    • A few sources can't use up a channel's rate limit  -  by @productdevbook and Claude Opus 5.5 (cd21a)
    • Client realtime sockets are capped and replay is bounded  -  by @productdevbook and Claude Opus 5.5 (77558)
    • Public endpoints hardened against cheap abuse  -  by @productdevbook and Claude Opus 5.5 (45957)
    • Share password tries are counted per network  -  by @productdevbook and Claude Opus 5.5 (f6819)
    • Public page caches evict in constant time  -  by @productdevbook and Claude Opus 5.5 (75ff2)
    • Caddy's domain check can't be held up by other callers  -  by @productdevbook and Claude Opus 5.5 (d89b7)
    • Extra client sockets are refused instead of closing older ones  -  by @productdevbook and Claude Opus 5.5 (94838)
    • Typed-address confirmations are capped per network and contact and say when held back  -  by @productdevbook and Claude Opus 5.5 (eaf28)
    • Abuse limits spend nobody's budget when they refuse  -  by @productdevbook and Claude Opus 5.5 (db980)
    • An e-mail address or catch-all routes mail only after its workspace proves it  -  by @productdevbook and Claude Opus 5.5 (5e1b8)
    • A workspace's own addresses stay its own, and no address is proven by mail it received  -  by @productdevbook and Claude Opus 5.5 (dcf5a)
    • Operator proofs bind to the listed address and never take mail from another workspace  -  by @productdevbook and Claude Opus 5.5 (b9c3a)
    • Opt-out keys are kept before any rotation, so opt-outs never silently stop matching  -  by @productdevbook and Claude Opus 5.5 (ad53f)
    • Jobs with unique states that River refused now insert, incl. the address-lost mail  -  by @productdevbook and Claude Opus 5.5 (f05a7)
  • sdk:
    • Translate the feedback and messages strings in every locale  -  by @productdevbook and Claude Opus 5.5 (6e9ba)
  • sdk/js:
  • sdk/shadcn:
    • The composer's file checks need no unreleased useyuva exports  -  by @productdevbook and Claude Opus 5.5 (a7829)
  • sdk/swift:
    • German strings for the Messages and Feedback tabs and feedback states  -  by @productdevbook and Claude Opus 5.5 (0d9f7)
  • status:
  • web:
    • Home reads every block from /v1/home and shows each site's visitors and the last broadcast  -  by @productdevbook and Claude Opus 5.5 (6de39)
    • Audit log sentences for trashed, restored and deleted conversations  -  by @productdevbook and Claude Opus 5.5 (ceaa3)
    • Restored conversations return to lists, bulk trash covers every selection  -  by @productdevbook and Claude Opus 5.5 (a55f5)
    • Readable audit log sentences for team actions  -  by @productdevbook and Claude Opus 5.5 (dd0b9)
    • Label the fields:manage scope and regenerate the API types  -  by @productdevbook and Claude Opus 5.5 (1836d)
    • Label the views:write scope and regenerate the API types  -  by @productdevbook and Claude Opus 5.5 (a4126)
    • SLA settings button, target summaries, route guard and the reports column  -  by @productdevbook and Claude Opus 5.5 (2c818)
    • The composer's To shows the address the contact last wrote from, not a Cc'd sender  -  by @productdevbook and Claude Opus 5.5 (40207)
    • The consent page says when an app may send as you  -  by @productdevbook and Claude Opus 5.5 (9b3d9)
    • Audit sentences for sending settings and channel addresses  -  by @productdevbook and Claude Opus 5.5 (88702)
    • Channels whose address needs proving count as needing attention  -  by @productdevbook and Claude Opus 5.5 (828d5)
    View changes on GitHub