| Age | Commit message (Expand) | Author | Files | Lines |
| 27 hours | release: 0.30.0HEADv0.30.0master | Danilo M. | 2 | -1/+7 |
| 27 hours | test: keep the cron-drain test off the real sync status | Danilo M. | 1 | -2/+6 |
| 27 hours | docs: close item 206, the calendar windowcalendar | Danilo M. | 2 | -37/+37 |
| 6 days | feat: close the calendar's event pane with Escape | Danilo M. | 6 | -9/+47 |
| 6 days | feat: hide the calendar's event pane while nothing is selected | Danilo M. | 1 | -0/+4 |
| 6 days | fix: stop a chip's colour flooding the next calendar day cell | Danilo M. | 1 | -0/+3 |
| 6 days | fix: drop orphaned overrides when a series stops, plus review minors | Danilo M. | 10 | -2/+162 |
| 6 days | docs: the calendar entry stays when it is unconfigured, and it says so | Danilo M. | 4 | -8/+15 |
| 6 days | docs: document the calendar, translate it, file its follow-ups | Danilo M. | 9 | -23/+765 |
| 6 days | feat: open the calendar from the View menu and the toolbar | Danilo M. | 4 | -0/+87 |
| 6 days | fix: add the toolbar New button, sync the month controls, and let a stale sav... | Danilo M. | 3 | -4/+81 |
| 6 days | feat: the calendar window, with undo and a stale-safe save | Danilo M. | 5 | -0/+1089 |
| 6 days | fix: show the collection swatch and translate the attendee line in the event ... | Danilo M. | 2 | -3/+16 |
| 6 days | feat: show and edit a calendar event in the side pane | Danilo M. | 3 | -0/+621 |
| 6 days | fix: swallow the calendar more-line double-click and clear the agenda selection | Danilo M. | 2 | -2/+14 |
| 6 days | feat: paint the calendar's month grid and agenda list | Danilo M. | 5 | -0/+387 |
| 6 days | feat: lay out the calendar's month grid without a painter | Danilo M. | 5 | -0/+221 |
| 6 days | test: a write during a run queues one more calendar sync | Danilo M. | 2 | -4/+39 |
| 6 days | feat: debounce the calendar sync command after writes | Danilo M. | 5 | -0/+221 |
| 6 days | test: pin the calendar config's reported error paths | Danilo M. | 1 | -0/+50 |
| 6 days | feat: read the calendar's config keys | Danilo M. | 3 | -0/+102 |
| 6 days | feat: write calendar files atomically, refusing stale ones | Danilo M. | 5 | -0/+233 |
| 6 days | test: an occurrence delete keeps the exdates already there | Danilo M. | 1 | -0/+19 |
| 6 days | feat: edit or delete one occurrence of a repeating event | Danilo M. | 2 | -3/+122 |
| 6 days | fix: compare sameMeaning overrides by recurrence id and check the uid | Danilo M. | 2 | -2/+50 |
| 6 days | feat: edit a calendar event in place and write new ones | Danilo M. | 2 | -3/+412 |
| 6 days | feat: an event is editable only when the user organises it | Danilo M. | 2 | -1/+41 |
| 6 days | fix: expand a long dense series completely and flag overrides' own all-day | Danilo M. | 2 | -4/+39 |
| 6 days | feat: expand calendar occurrences in each event's own zone | Danilo M. | 2 | -2/+249 |
| 6 days | fix: an empty RRULE means does-not-repeat, not a custom rule | Danilo M. | 2 | -0/+16 |
| 6 days | feat: model the calendar's repeat control as RRULE text | Danilo M. | 2 | -4/+361 |
| 6 days | feat: read every time form and load a calendar vdir | Danilo M. | 2 | -1/+195 |
| 6 days | feat: parse one calendar event with libical (item 206) | Danilo M. | 11 | -1/+630 |
| 6 days | docs: plan the calendar window (item 206) | Danilo M. | 1 | -0/+5468 |
| 6 days | docs: close backlog item 204, contact completion shipped | Danilo M. | 2 | -82/+100 |
| 6 days | docs: specify the calendar window (item 206) | Danilo M. | 1 | -0/+372 |
| 12 days | fix: sanitise untrusted contact names on insertion | Danilo M. | 2 | -23/+100 |
| 12 days | docs: document contact completion and refresh Italian translation | Danilo M. | 3 | -3/+47 |
| 12 days | feat: load the contact store once and feed both consumers | Danilo M. | 2 | -0/+30 |
| 12 days | feat: complete contacts in the query bar | Danilo M. | 3 | -5/+153 |
| 12 days | feat: complete contacts in the composer recipients | Danilo M. | 3 | -5/+515 |
| 12 days | feat: add the contacts_dir config key | Danilo M. | 3 | -0/+150 |
| 12 days | feat: add ContactStore, the vCard address-book parse | Danilo M. | 14 | -0/+711 |
| 12 days | docs: add the contact completion implementation plan | Danilo M. | 2 | -3/+342 |
| 12 days | docs: reconcile the backlog with the notes, and split item 72 | Danilo M. | 1 | -19/+270 |
| 2026-09-14 | docs: close the backlog items shipped in 0.29.0 | Danilo M. | 2 | -319/+309 |
| 2026-09-14 | docs: add the CLI selectors implementation plan | Danilo M. | 1 | -0/+2044 |
| 2026-09-14 | release: 0.29.0v0.29.0 | Danilo M. | 2 | -1/+9 |
| 2026-09-14 | docs: use the renamed helper names in item 202 | Danilo M. | 1 | -3/+3 |
| 2026-09-14 | fix(hooks): spam is not an inbox arrival | Danilo M. | 5 | -73/+232 |