From e25a3ab4f48ad2d79118d15042772bd98e29116d Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Mon, 19 Oct 2026 22:55:00 +0200 Subject: [PATCH] =?UTF-8?q?docs(changelog):=20record=20T-13/T-9=20?= =?UTF-8?q?=E2=80=94=20archive=20and=20trash=20a=20mailbox=20entry,=20look?= =?UTF-8?q?up=20by=20message=20number?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5 --- CHANGELOG.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2758bdd..5d01640 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- **Archive and trash a message in your own mailbox** (`scribe_mailbox_entries.archived_at` + and `trashed_at`, migration 009, core-api T-13) — deletion is per mailbox entry, never per + message, since a message is retained and shared by every recipient (D-66/D-70). `PATCH + /scribe/mailbox/{entry_id}` takes `archived` and `trashed` booleans beside `read` (true sets + the timestamp, false clears it); the response carries both states. `GET /scribe/mailbox` + takes `view`: `inbox` (default, neither archived nor trashed), `archive` (archived, not + trashed), `trash` (trashed, regardless of `archived_at`), `all`. `find` now excludes trashed + entries. +- **Look up a mailbox entry by message number** (core-api T-9) — `GET + /scribe/mailbox?message_id=N` answers the caller's own entry for that message, zero or one, + in any view, bypassing `unread`/`tag`/`before_id` so no client pages the unread-first/ + id-descending listing to find one. + ## [1.13.0] - 2026-10-19 ### Added