What's Changed
- fix: resolve workspace access from the id the handler acts on by @thejesh23 in #1458
- fix: serve public-project assets to anonymous callers by @thejesh23 in #1459
- fix: enforce bulk task permissions by @ShiroKSH in #1462
- fix: upgrade ip-address to 10.3.1 (CVE-2026-69192) by @anupamme in #1483
- fix: move overrides to workspace config by @N1arko in #1456
- fix(deps): bump next to 15.5.21 to patch 8 disclosed advisories by @aeonframework in #1457
- fix(email): stop forcing SMTP auth when no credentials are set by @eeshsaxena in #1434
- fix: prevent task number gaps during partial import failures by @Sunil56224972 in #1468
- fix: persist task title activity atomically by @IEatCodeDaily in #1439
- fix(api): stop embedding task rows in the project list response by @alexmakarski in #1423
- fix(project): allow one-character names and keys by @Navdeepannu in #1441
- perf(web): avoid per-task kanban metadata requests by @xianjianlf2 in #1475
- fix(web): search tasks by issue identifier by @Rutledge in #1461
- fix(web): keep planned subtasks in backlog by @hydraxman in #1464
- fix: add date validation for task create/update to prevent Invalid Date in DB by @Sunil56224972 in #1470
- fix: include labels in task export by @Sunil56224972 in #1469
- fix(auth): let invited users without an account register by @josephkehan-prog in #1477
- feat(web): let admins copy a workspace invitation link by @davidescobrodr-lang in #1478
- feat(i18n): add Vietnamese (vi-VN) locale by @namtao in #1481
- feat: add Hindi (hi-IN) locale translation by @Sunil56224972 in #1471
- feat: add zh-CN locale by @shutter-cp in #1482
- feat(i18n): add Italian (it-IT) translation by @GaSeDevAI in #1455
- fix(api): GitHub installation verification and label detachment violations by @randoneering in #1445
- chore(deps): bump hono from 4.12.31 to 4.12.34 by @dependabot[bot] in #1487
- chore(deps): bump the npm-minor group across 1 directory with 62 updates by @dependabot[bot] in #1489
New Contributors
- @thejesh23 made their first contribution in #1458
- @ShiroKSH made their first contribution in #1462
- @anupamme made their first contribution in #1483
- @N1arko made their first contribution in #1456
- @aeonframework made their first contribution in #1457
- @eeshsaxena made their first contribution in #1434
- @Sunil56224972 made their first contribution in #1468
- @IEatCodeDaily made their first contribution in #1439
- @alexmakarski made their first contribution in #1423
- @xianjianlf2 made their first contribution in #1475
- @Rutledge made their first contribution in #1461
- @hydraxman made their first contribution in #1464
- @josephkehan-prog made their first contribution in #1477
- @davidescobrodr-lang made their first contribution in #1478
- @namtao made their first contribution in #1481
- @shutter-cp made their first contribution in #1482
- @GaSeDevAI made their first contribution in #1455
Full Changelog: v2.12.1...v2.12.2