What's Changed
- feat(templates): project templates + marketplace (issue #979) by @chrisvel in #1278
- fix(projects): per-user area overrides for shared projects by @chrisvel in #1276
- fix(tags): prevent SQLITE_BUSY when seeding system tags on new database by @chrisvel in #1287
- fix(notes): functional copy button for code blocks in markdown by @chrisvel in #1288
- fix(mcp): enforce shared-project permissions in MCP tools by @chrisvel in #1290
- fix(docker): redirect DB_FILE to old path instead of copying to anonymous volume by @chrisvel in #1291
- fix(tasks): fix empty due_date for shared project tasks in detail view by @chrisvel in #1293
- perf(sqlite): fix N+1 notification queries blocking API requests by @chrisvel in #1296
- fix(deps): replace uuid with Node.js built-in crypto.randomUUID() by @chrisvel in #1297
- fix(migrations): make user_project_areas index creation idempotent by @chrisvel in #1301
- feat(sidebar): list projects with expand/collapse, pin, and color icons by @chrisvel in #1306
- build(deps): bump the npm_and_yarn group across 1 directory with 3 updates by @dependabot[bot] in #1302
- feat(sidebar): reorganize with bookmarks, boards, insights, and admin sections by @chrisvel in #1311
- perf: cache api/profile to eliminate redundant fetches on Today page by @chrisvel in #1312
- fix(recurring): correct monthly occurrence dates for UTC+ timezone users by @chrisvel in #1313
- fix(templates): prevent action menu from being clipped by card overflow by @chrisvel in #1314
- fix(habits): prevent habit completions from being double-counted in Today overview by @chrisvel in #1315
- fix(habits): prevent habit_total_completions from inflating on same-day completions by @chrisvel in #1317
- fix(mcp): correct archived task status mapping from 6 to 3 by @chrisvel in #1318
- fix(people): create self-person for newly provisioned users by @chrisvel in #1319
- fix(security): allow OIDC users to set an initial password by @chrisvel in #1320
- fix(oidc): query UserInfo endpoint to supplement ID token claims by @chrisvel in #1322
- fix(security): update npm dependencies to address Dependabot alerts by @chrisvel in #1324
- fix(tasks): persist tags when updating tasks via REST and MCP by @chrisvel in #1328
- fix(telegram): batch due/deferred notifications into one message per user by @chrisvel in #1329
- fix(sidebar): make views section match projects/tags expand/collapse style by @chrisvel in #1330
- feat(ai): restore AI Daily Brief with Today page toggle and bug fixes by @chrisvel in #1331
- feat(ai): multi-LLM support, user profile context, and dedicated AI settings tab by @chrisvel in #1333
- feat(mcp): add goals MCP tools; rename Bookmarks to Pinned Items by @chrisvel in #1334
- fix(caldav): fix date timezone handling and ETag on collection GET by @chrisvel in #1336
- feat(mcp): add Views and People tools (54 tools total) by @chrisvel in #1335
- fix(notes): fix new note "+" button opening then immediately closing by @chrisvel in #1337
- fix(security): patch 5 production vulnerabilities via dependency overrides and upgrades by @chrisvel in #1338
- feat(notes): rich editor with wikilinks, backlinks, slash commands, and note badges by @chrisvel in #1340
- fix(tasks): show assigned person for all users viewing shared tasks by @chrisvel in #1341
Full Changelog: v1.2.4...v1.3.1