| Age | Commit message (Expand) | Author | Files | Lines |
| 5 days | fix: sanitise untrusted contact names on insertionHEADmaster | Danilo M. | 2 | -23/+100 |
| 5 days | docs: document contact completion and refresh Italian translation | Danilo M. | 3 | -3/+47 |
| 5 days | feat: load the contact store once and feed both consumers | Danilo M. | 2 | -0/+30 |
| 5 days | feat: complete contacts in the query bar | Danilo M. | 3 | -5/+153 |
| 5 days | feat: complete contacts in the composer recipients | Danilo M. | 3 | -5/+515 |
| 5 days | feat: add the contacts_dir config key | Danilo M. | 3 | -0/+150 |
| 5 days | feat: add ContactStore, the vCard address-book parse | Danilo M. | 14 | -0/+711 |
| 5 days | docs: add the contact completion implementation plan | Danilo M. | 2 | -3/+342 |
| 5 days | docs: reconcile the backlog with the notes, and split item 72 | Danilo M. | 1 | -19/+270 |
| 9 days | docs: close the backlog items shipped in 0.29.0 | Danilo M. | 2 | -319/+309 |
| 9 days | docs: add the CLI selectors implementation plan | Danilo M. | 1 | -0/+2044 |
| 9 days | release: 0.29.0v0.29.0 | Danilo M. | 2 | -1/+9 |
| 9 days | docs: use the renamed helper names in item 202 | Danilo M. | 1 | -3/+3 |
| 9 days | fix(hooks): spam is not an inbox arrival | Danilo M. | 5 | -73/+232 |
| 9 days | fix: keep the message bar populated on a spam reply | Danilo M. | 3 | -9/+64 |
| 9 days | fix: the Not spam review findings | Danilo M. | 5 | -19/+145 |
| 9 days | feat: a Not spam action | Danilo M. | 9 | -93/+713 |
| 9 days | fix: gate spam like delete, and keep one origin in the model | Danilo M. | 6 | -19/+267 |
| 9 days | docs(i18n): correct the spam docs review findings | Danilo M. | 2 | -13/+11 |
| 9 days | docs(i18n): fix the spam docs review findings | Danilo M. | 3 | -15/+24 |
| 9 days | docs(i18n): translate the spam strings | Danilo M. | 4 | -10/+103 |
| 9 days | feat: find stranded spam mail | Danilo M. | 4 | -0/+117 |
| 9 days | feat: empty spam moves mail to the trash, per account | Danilo M. | 4 | -2/+285 |
| 9 days | feat: spam on the message bar, with a bug icon and junk fallback | Danilo M. | 3 | -92/+144 |
| 10 days | feat: mark spam moves mail to the account's spam folder | Danilo M. | 5 | -62/+482 |
| 10 days | refactor: rename the origin tag to moved-from: with overwrite semantics | Danilo M. | 10 | -67/+163 |
| 10 days | feat(config): a threaded, path-based spam filter | Danilo M. | 4 | -4/+56 |
| 10 days | feat(config): per-account spam folder and queries | Danilo M. | 3 | -11/+124 |
| 10 days | plan: mark spam moves mail, and there is a spam view | Danilo M. | 1 | -0/+468 |
| 10 days | docs: specify the CLI selectors and single-instance launch | Danilo M. | 1 | -0/+253 |
| 10 days | docs: reconcile the backlog and close item 184 | Danilo M. | 2 | -67/+236 |
| 13 days | docs: specify the Spam view, the spam move and Empty Spam | Danilo M. | 2 | -1/+390 |
| 2026-09-08 | docs: record the composer headings control and abuse reporting | Danilo M. | 1 | -0/+127 |
| 2026-09-08 | feat: make Sync follow the account being looked at | Danilo M. | 8 | -63/+322 |
| 2026-09-07 | fix: refresh the current query when the index changes | Danilo M. | 7 | -9/+166 |
| 2026-09-06 | fix: index the sent copy so it appears in the Sent view at once | Danilo M. | 7 | -0/+199 |
| 2026-09-06 | fix: keep one Message-ID across a draft's revisions | Danilo M. | 11 | -111/+436 |
| 2026-09-06 | docs: settle item 165 on a stable draft id, discarded at send | Danilo M. | 1 | -6/+42 |
| 2026-09-06 | fix: give the Sent and Drafts views one row per message, in date order | Danilo M. | 7 | -44/+440 |
| 2026-09-06 | docs: record Mark spam's absence from the message bar as item 190 | Danilo M. | 1 | -0/+64 |
| 2026-08-29 | docs: settle item 187 on Trash's shape | Danilo M. | 1 | -57/+67 |
| 2026-08-29 | docs: correct item 187 against the real folder layout | Danilo M. | 1 | -16/+60 |
| 2026-08-29 | fix: draw Important as a star on the message bar | Danilo M. | 2 | -3/+23 |
| 2026-08-29 | feat: put Star and Archive on the message bar too | Danilo M. | 5 | -86/+135 |
| 2026-08-29 | docs: record the message bar's next actions as item 189 | Danilo M. | 1 | -0/+66 |
| 2026-08-29 | feat: give the trash its own actions on the message bar | Danilo M. | 10 | -20/+470 |
| 2026-08-29 | fix: retry a sync that was skipped because another held the lock | Danilo M. | 5 | -60/+167 |
| 2026-08-29 | feat: have the sync script report what it did | Danilo M. | 15 | -68/+1320 |
| 2026-08-29 | docs: record the item 176 regression test flake as item 183 | Danilo M. | 1 | -0/+64 |
| 2026-08-29 | release: 0.28.0v0.28.0 | Danilo M. | 2 | -1/+14 |