This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [kaneo](https://github.com/usekaneo/kaneo) | minor | `v2.12.1` → `v2.20.0` |
---
### Release Notes
<details>
<summary>usekaneo/kaneo (kaneo)</summary>
### [`v2.20.0`](https://github.com/usekaneo/kaneo/releases/tag/v2.20.0)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.19.1...v2.20.0)
#### What's Changed
- chore(ci): pass Sentry auth token via BuildKit secret, not image env by [@​randoneering](https://github.com/randoneering) in [#​1603](https://github.com/usekaneo/kaneo/pull/1603)
- feat(api,web): runtime Sentry instrumentation by [@​randoneering](https://github.com/randoneering) in [#​1604](https://github.com/usekaneo/kaneo/pull/1604)
- feat(web): source maps + root error boundary for Sentry by [@​randoneering](https://github.com/randoneering) in [#​1602](https://github.com/usekaneo/kaneo/pull/1602)
- feat(sentry): provision alerts and dashboards as code by [@​randoneering](https://github.com/randoneering) in [#​1610](https://github.com/usekaneo/kaneo/pull/1610)
- fix(web,sentry): remove unnecessary Sentry capture for auth fetch errors by [@​sentry](https://github.com/sentry)\[bot] in [#​1615](https://github.com/usekaneo/kaneo/pull/1615)
- fix(sentry): ignore Safari extension runtime.sendMessage() errors by [@​sentry](https://github.com/sentry)\[bot] in [#​1616](https://github.com/usekaneo/kaneo/pull/1616)
- fix(web,sentry): ignore Facebook in-app browser postMessage errors by [@​sentry](https://github.com/sentry)\[bot] in [#​1617](https://github.com/usekaneo/kaneo/pull/1617)
- fix(web,sentry): reduce noise from auth fetch errors and validate API URL by [@​sentry](https://github.com/sentry)\[bot] in [#​1618](https://github.com/usekaneo/kaneo/pull/1618)
- fix(test): stop integration test hook and case timeouts by [@​randoneering](https://github.com/randoneering) in [#​1619](https://github.com/usekaneo/kaneo/pull/1619)
- fix(web): prevent Shiki highlighter crash on dynamic module load failure by [@​sentry](https://github.com/sentry)\[bot] in [#​1622](https://github.com/usekaneo/kaneo/pull/1622)
- fix(web,sentry): handle authClient.getSession() network errors in workspace settings by [@​sentry](https://github.com/sentry)\[bot] in [#​1621](https://github.com/usekaneo/kaneo/pull/1621)
**Full Changelog**: <https://github.com/usekaneo/kaneo/compare/v2.19.1...v2.20.0>
### [`v2.19.1`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2200-2026-08-19)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.19.0...v2.19.1)
##### Bug Fixes
- apply CodeRabbit auto-fixes ([b25a644](https://github.com/usekaneo/kaneo/commit/b25a64486c625c4a5e57b6a8eb925422ddf08283))
- apply CodeRabbit auto-fixes ([6c088da](https://github.com/usekaneo/kaneo/commit/6c088dad2cdf3378e029948586731ad658662fee))
- **ci:** failing test ([46c5f9b](https://github.com/usekaneo/kaneo/commit/46c5f9bff043a0fa59d0f5332eba90f8216e6b6b))
- **ci:** failing test and code review recommendations ([1de8146](https://github.com/usekaneo/kaneo/commit/1de8146306266b0149daae1c4fec6c290a0000c8))
- **review:** qodo/coderabbit suggestions ([270bc04](https://github.com/usekaneo/kaneo/commit/270bc047615716d61c0e9cfe9ef562ee91c38dfe))
- **review:** qodo/coderabbit suggestions ([9656036](https://github.com/usekaneo/kaneo/commit/965603628284239f77a0d23b9123fe5f3680ed9f))
- **review:** qodo/coderabbit suggestions ([089d2a2](https://github.com/usekaneo/kaneo/commit/089d2a201ffdb2936db48b1b49dd0c1b6cb29e0a))
- **scripts:** inject datasetSource + conditions fields Sentry requires ([8f662ba](https://github.com/usekaneo/kaneo/commit/8f662bafbf44f7ac4b41dc70e0e0da31a07d3fac))
- **scripts:** surface Sentry API errors in provision-sentry-alerts ([3f55456](https://github.com/usekaneo/kaneo/commit/3f55456b1837238a50c43cdf9d8b85ff162af082))
- **seer:** removed throw ([2a023c4](https://github.com/usekaneo/kaneo/commit/2a023c456a5fc345514a7e7033021e46f0d06443))
- **sentry/alerts:** add missing API fields and URL-encode GET params ([e43550f](https://github.com/usekaneo/kaneo/commit/e43550ffff0e051c9284ad59ed3428e5634c0f93))
- **sentry/alerts:** add resolution condition + drop tokenized query params ([45c4ab2](https://github.com/usekaneo/kaneo/commit/45c4ab25e55f5e710f22ca7f2ff3216ac8df750a))
- **sentry/alerts:** declare cron SLUGS as an array ([a922c91](https://github.com/usekaneo/kaneo/commit/a922c91e3e7276695e127a1f60cafd08adb7c0e2))
- **sentry/alerts:** drop /projects/ prefix from detector endpoint ([97a27a5](https://github.com/usekaneo/kaneo/commit/97a27a53098db1b66b038064ae3039872a9284cf))
- **sentry/alerts:** migrate to span dataset, add triggers to metric workflows ([884de66](https://github.com/usekaneo/kaneo/commit/884de66cae2c10012f3130be3a40288ea37cd8a4))
- **sentry/alerts:** propagate detector lookup failures ([2012b6d](https://github.com/usekaneo/kaneo/commit/2012b6d7b14c2e2a077ca9afb6f0700cd38e8441))
- **sentry/dashboards:** add limit:10 to every query ([5eb66a3](https://github.com/usekaneo/kaneo/commit/5eb66a3c229f1d607134481ed339a00f8e9a8b17))
- **sentry/dashboards:** inject limit:10 on time-series widgets ([cba033a](https://github.com/usekaneo/kaneo/commit/cba033a4a053c539aed2f35e161ce9a7d26f6e56))
- **sentry:** ignore Safari extension runtime.sendMessage() errors ([3b04cc2](https://github.com/usekaneo/kaneo/commit/3b04cc2f8b937e9f90d3307dcfef5575ede88b55))
- **sentry:** Qodo review-batch (issue projects, cron coverage, region) ([c367d4f](https://github.com/usekaneo/kaneo/commit/c367d4f685b7ee8a5b528af1d38ee8c832786009)), closes [#​2](https://github.com/usekaneo/kaneo/issues/2) [#​4](https://github.com/usekaneo/kaneo/issues/4) [#​1](https://github.com/usekaneo/kaneo/issues/1) [#​3](https://github.com/usekaneo/kaneo/issues/3) [#​6](https://github.com/usekaneo/kaneo/issues/6)
- **sentry:** review-batch fixes across provision scripts and specs ([a6792e6](https://github.com/usekaneo/kaneo/commit/a6792e6b1b4f4884abdf16815211e7702f171b5b))
- **test:** stop integration test hook and case timeouts ([71dfe19](https://github.com/usekaneo/kaneo/commit/71dfe19669ee726927f87d791752e2968464f526))
- **web,sentry:** handle authClient.getSession() network errors in workspace settings ([08059ba](https://github.com/usekaneo/kaneo/commit/08059ba7002afd0ce5225b9d5ee8d96612ca843a))
- **web,sentry:** ignore Facebook in-app browser postMessage errors ([37d13fa](https://github.com/usekaneo/kaneo/commit/37d13face441c57511c6a090335419fdb79e4697))
- **web,sentry:** reduce noise from auth fetch errors and validate API URL ([f59194e](https://github.com/usekaneo/kaneo/commit/f59194e3623cc8f3ebd6e5379a0e21533b83bb40))
- **web,sentry:** remove unnecessary Sentry capture for auth fetch errors ([92693ab](https://github.com/usekaneo/kaneo/commit/92693abfcb834670955e7c83e510edac203d07b5))
- **web:** handle shiki initializer rejection in comment editor ([7a7120e](https://github.com/usekaneo/kaneo/commit/7a7120ed37d9ddd062926b92e061b7be389ad519))
- **web:** prevent Shiki highlighter crash on dynamic module load failure ([f48f4a4](https://github.com/usekaneo/kaneo/commit/f48f4a478170a0dc552c5b8c51255113cd8c028f))
- **web:** track session-fetch failure and skip setActive fallback ([6d8d2a6](https://github.com/usekaneo/kaneo/commit/6d8d2a6ae76852bf4d1cceb77a6fec6b097e295b))
##### Features
- **api:** drop workspace identifiers from Sentry integration breadcrumbs ([92f67ad](https://github.com/usekaneo/kaneo/commit/92f67ad846c177ddb82e828e3f82bf29717b3435))
- **design:** replace Cal Sans and Paper Mono with Geist ([017efe2](https://github.com/usekaneo/kaneo/commit/017efe215c1dad8a10053b82a5f902d0e30bd5ce))
- provision Sentry alert rules from sentry/alerts.json ([eb00753](https://github.com/usekaneo/kaneo/commit/eb00753888d537a5386aca8a9c18cfe5c214a553))
- provision Sentry dashboards from sentry/dashboards.json ([2d91232](https://github.com/usekaneo/kaneo/commit/2d912320365c058f72841aac28c1c22eb55465ef))
- **scripts:** update existing alerts instead of skipping ([7690073](https://github.com/usekaneo/kaneo/commit/7690073f03e2a7fec8f5258340b32cded0a9ab56))
- **web:** emit source maps, switch to captureReactException, mount a safe root crash fallback ([01004a3](https://github.com/usekaneo/kaneo/commit/01004a33d559a430fb58e86a1fc6dc80d8cb4c6a))
#### [2.19.1](https://github.com/usekaneo/kaneo/compare/v2.19.0...v2.19.1) (2026-08-15)
##### Bug Fixes
- **web:** save a description to the task it was typed in ([#​1600](https://github.com/usekaneo/kaneo/issues/1600)) ([b11dc07](https://github.com/usekaneo/kaneo/commit/b11dc07f15b7142b67196af8db4d8ca035e7055a))
### [`v2.19.0`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2200-2026-08-19)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.18.0...v2.19.0)
##### Bug Fixes
- apply CodeRabbit auto-fixes ([b25a644](https://github.com/usekaneo/kaneo/commit/b25a64486c625c4a5e57b6a8eb925422ddf08283))
- apply CodeRabbit auto-fixes ([6c088da](https://github.com/usekaneo/kaneo/commit/6c088dad2cdf3378e029948586731ad658662fee))
- **ci:** failing test ([46c5f9b](https://github.com/usekaneo/kaneo/commit/46c5f9bff043a0fa59d0f5332eba90f8216e6b6b))
- **ci:** failing test and code review recommendations ([1de8146](https://github.com/usekaneo/kaneo/commit/1de8146306266b0149daae1c4fec6c290a0000c8))
- **review:** qodo/coderabbit suggestions ([270bc04](https://github.com/usekaneo/kaneo/commit/270bc047615716d61c0e9cfe9ef562ee91c38dfe))
- **review:** qodo/coderabbit suggestions ([9656036](https://github.com/usekaneo/kaneo/commit/965603628284239f77a0d23b9123fe5f3680ed9f))
- **review:** qodo/coderabbit suggestions ([089d2a2](https://github.com/usekaneo/kaneo/commit/089d2a201ffdb2936db48b1b49dd0c1b6cb29e0a))
- **scripts:** inject datasetSource + conditions fields Sentry requires ([8f662ba](https://github.com/usekaneo/kaneo/commit/8f662bafbf44f7ac4b41dc70e0e0da31a07d3fac))
- **scripts:** surface Sentry API errors in provision-sentry-alerts ([3f55456](https://github.com/usekaneo/kaneo/commit/3f55456b1837238a50c43cdf9d8b85ff162af082))
- **seer:** removed throw ([2a023c4](https://github.com/usekaneo/kaneo/commit/2a023c456a5fc345514a7e7033021e46f0d06443))
- **sentry/alerts:** add missing API fields and URL-encode GET params ([e43550f](https://github.com/usekaneo/kaneo/commit/e43550ffff0e051c9284ad59ed3428e5634c0f93))
- **sentry/alerts:** add resolution condition + drop tokenized query params ([45c4ab2](https://github.com/usekaneo/kaneo/commit/45c4ab25e55f5e710f22ca7f2ff3216ac8df750a))
- **sentry/alerts:** declare cron SLUGS as an array ([a922c91](https://github.com/usekaneo/kaneo/commit/a922c91e3e7276695e127a1f60cafd08adb7c0e2))
- **sentry/alerts:** drop /projects/ prefix from detector endpoint ([97a27a5](https://github.com/usekaneo/kaneo/commit/97a27a53098db1b66b038064ae3039872a9284cf))
- **sentry/alerts:** migrate to span dataset, add triggers to metric workflows ([884de66](https://github.com/usekaneo/kaneo/commit/884de66cae2c10012f3130be3a40288ea37cd8a4))
- **sentry/alerts:** propagate detector lookup failures ([2012b6d](https://github.com/usekaneo/kaneo/commit/2012b6d7b14c2e2a077ca9afb6f0700cd38e8441))
- **sentry/dashboards:** add limit:10 to every query ([5eb66a3](https://github.com/usekaneo/kaneo/commit/5eb66a3c229f1d607134481ed339a00f8e9a8b17))
- **sentry/dashboards:** inject limit:10 on time-series widgets ([cba033a](https://github.com/usekaneo/kaneo/commit/cba033a4a053c539aed2f35e161ce9a7d26f6e56))
- **sentry:** ignore Safari extension runtime.sendMessage() errors ([3b04cc2](https://github.com/usekaneo/kaneo/commit/3b04cc2f8b937e9f90d3307dcfef5575ede88b55))
- **sentry:** Qodo review-batch (issue projects, cron coverage, region) ([c367d4f](https://github.com/usekaneo/kaneo/commit/c367d4f685b7ee8a5b528af1d38ee8c832786009)), closes [#​2](https://github.com/usekaneo/kaneo/issues/2) [#​4](https://github.com/usekaneo/kaneo/issues/4) [#​1](https://github.com/usekaneo/kaneo/issues/1) [#​3](https://github.com/usekaneo/kaneo/issues/3) [#​6](https://github.com/usekaneo/kaneo/issues/6)
- **sentry:** review-batch fixes across provision scripts and specs ([a6792e6](https://github.com/usekaneo/kaneo/commit/a6792e6b1b4f4884abdf16815211e7702f171b5b))
- **test:** stop integration test hook and case timeouts ([71dfe19](https://github.com/usekaneo/kaneo/commit/71dfe19669ee726927f87d791752e2968464f526))
- **web,sentry:** handle authClient.getSession() network errors in workspace settings ([08059ba](https://github.com/usekaneo/kaneo/commit/08059ba7002afd0ce5225b9d5ee8d96612ca843a))
- **web,sentry:** ignore Facebook in-app browser postMessage errors ([37d13fa](https://github.com/usekaneo/kaneo/commit/37d13face441c57511c6a090335419fdb79e4697))
- **web,sentry:** reduce noise from auth fetch errors and validate API URL ([f59194e](https://github.com/usekaneo/kaneo/commit/f59194e3623cc8f3ebd6e5379a0e21533b83bb40))
- **web,sentry:** remove unnecessary Sentry capture for auth fetch errors ([92693ab](https://github.com/usekaneo/kaneo/commit/92693abfcb834670955e7c83e510edac203d07b5))
- **web:** handle shiki initializer rejection in comment editor ([7a7120e](https://github.com/usekaneo/kaneo/commit/7a7120ed37d9ddd062926b92e061b7be389ad519))
- **web:** prevent Shiki highlighter crash on dynamic module load failure ([f48f4a4](https://github.com/usekaneo/kaneo/commit/f48f4a478170a0dc552c5b8c51255113cd8c028f))
- **web:** track session-fetch failure and skip setActive fallback ([6d8d2a6](https://github.com/usekaneo/kaneo/commit/6d8d2a6ae76852bf4d1cceb77a6fec6b097e295b))
##### Features
- **api:** drop workspace identifiers from Sentry integration breadcrumbs ([92f67ad](https://github.com/usekaneo/kaneo/commit/92f67ad846c177ddb82e828e3f82bf29717b3435))
- **design:** replace Cal Sans and Paper Mono with Geist ([017efe2](https://github.com/usekaneo/kaneo/commit/017efe215c1dad8a10053b82a5f902d0e30bd5ce))
- provision Sentry alert rules from sentry/alerts.json ([eb00753](https://github.com/usekaneo/kaneo/commit/eb00753888d537a5386aca8a9c18cfe5c214a553))
- provision Sentry dashboards from sentry/dashboards.json ([2d91232](https://github.com/usekaneo/kaneo/commit/2d912320365c058f72841aac28c1c22eb55465ef))
- **scripts:** update existing alerts instead of skipping ([7690073](https://github.com/usekaneo/kaneo/commit/7690073f03e2a7fec8f5258340b32cded0a9ab56))
- **web:** emit source maps, switch to captureReactException, mount a safe root crash fallback ([01004a3](https://github.com/usekaneo/kaneo/commit/01004a33d559a430fb58e86a1fc6dc80d8cb4c6a))
#### [2.19.1](https://github.com/usekaneo/kaneo/compare/v2.19.0...v2.19.1) (2026-08-15)
##### Bug Fixes
- **web:** save a description to the task it was typed in ([#​1600](https://github.com/usekaneo/kaneo/issues/1600)) ([b11dc07](https://github.com/usekaneo/kaneo/commit/b11dc07f15b7142b67196af8db4d8ca035e7055a))
### [`v2.18.0`](https://github.com/usekaneo/kaneo/releases/tag/v2.18.0)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.17.6...v2.18.0)
**Full Changelog**: <https://github.com/usekaneo/kaneo/compare/v2.17.6...v2.18.0>
### [`v2.17.6`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2180-2026-08-12)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.17.5...v2.17.6)
##### Bug Fixes
- **web:** restore the backdrop behind settings modals ([71e429e](https://github.com/usekaneo/kaneo/commit/71e429e3482e4473508f170018057313b2d658a5))
##### Features
- **account:** change avatar and delete account ([384eb00](https://github.com/usekaneo/kaneo/commit/384eb005c71fe6e9b99875556b370b033cd4d151))
#### [2.17.6](https://github.com/usekaneo/kaneo/compare/v2.17.5...v2.17.6) (2026-08-11)
##### Bug Fixes
- **planka-import:** explain unmatched assignees, keep dependencies, attribute comments ([15f6868](https://github.com/usekaneo/kaneo/commit/15f68683620b5fcfbed7970b77210b7cc706f74b))
#### [2.17.5](https://github.com/usekaneo/kaneo/compare/v2.17.4...v2.17.5) (2026-08-11)
##### Bug Fixes
- **billing:** send one trial reminder per owner, not per workspace ([ae2e579](https://github.com/usekaneo/kaneo/commit/ae2e57919d4703b4fcb2e4452b2c7b171abedd97))
#### [2.17.4](https://github.com/usekaneo/kaneo/compare/v2.17.3...v2.17.4) (2026-08-11)
##### Bug Fixes
- **billing:** throttle trial reminders so they cannot exhaust the quota ([c4150a8](https://github.com/usekaneo/kaneo/commit/c4150a89f826ce5a4f7bbf24346c313b7fd2c5d4))
#### [2.17.3](https://github.com/usekaneo/kaneo/compare/v2.17.2...v2.17.3) (2026-08-11)
##### Bug Fixes
- **planka-import:** default to the real Kaneo Cloud host ([3863eb6](https://github.com/usekaneo/kaneo/commit/3863eb6ba1d5a6ec9833e4b4a383cffc3fa10fff))
##### Features
- **billing:** email trial reminders before and after expiry ([0e481a9](https://github.com/usekaneo/kaneo/commit/0e481a9c8223f36b03a35ad0cbb7456af99466d9))
#### [2.17.2](https://github.com/usekaneo/kaneo/compare/v2.17.1...v2.17.2) (2026-08-11)
##### Bug Fixes
- **auth:** resolve the client IP behind multiple proxy hops ([9e8a448](https://github.com/usekaneo/kaneo/commit/9e8a44835768a70d6d2f68dc3e1add53e90bbc10))
- **billing:** grant the trial once per owner, not per workspace ([14adb9d](https://github.com/usekaneo/kaneo/commit/14adb9dfd8af0d0dbe5951d0994d1bcf0fcdf8b1))
- use internal URL for MCP tool requests ([#​1556](https://github.com/usekaneo/kaneo/issues/1556)) ([7d9d9d2](https://github.com/usekaneo/kaneo/commit/7d9d9d212d13e98e9aa3d84c0179f4a49384b9fc))
##### Features
- **planka-import:** add PLANKA to Kaneo migration CLI ([5c91feb](https://github.com/usekaneo/kaneo/commit/5c91febedf4e2cbb356c451676d4df3ae2acc6fa))
- **planka-import:** authenticate with a PLANKA API key ([ff5e3fc](https://github.com/usekaneo/kaneo/commit/ff5e3fc6b91ae351c6002fb358d75265a0435dbd))
- **site:** add PLANKA comparison page ([579a975](https://github.com/usekaneo/kaneo/commit/579a9752f7775e9239680053a6ed68d437d90e36))
#### [2.17.1](https://github.com/usekaneo/kaneo/compare/v2.17.0...v2.17.1) (2026-08-10)
##### Bug Fixes
- **github:** match a branch whose title segment is empty ([#​1522](https://github.com/usekaneo/kaneo/issues/1522)) ([829f5ad](https://github.com/usekaneo/kaneo/commit/829f5addf2759bd0bfc10e0c231a8a0762f85262))
- preserve time entry end time ([#​1554](https://github.com/usekaneo/kaneo/issues/1554)) ([5e02130](https://github.com/usekaneo/kaneo/commit/5e0213009a6a35659a69543e6708b56c4d5593be))
- **security:** block the shared address space in webhook destinations ([#​1523](https://github.com/usekaneo/kaneo/issues/1523)) ([028c905](https://github.com/usekaneo/kaneo/commit/028c905fd505c7f2bc787c529d156088dd118d8b))
- **time-entry:** reject a start time later than the end time ([99e41ad](https://github.com/usekaneo/kaneo/commit/99e41ad8efcd12b06f17dab8096ef39902596130)), closes [#​1554](https://github.com/usekaneo/kaneo/issues/1554)
### [`v2.17.5`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2180-2026-08-12)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.17.4...v2.17.5)
##### Bug Fixes
- **web:** restore the backdrop behind settings modals ([71e429e](https://github.com/usekaneo/kaneo/commit/71e429e3482e4473508f170018057313b2d658a5))
##### Features
- **account:** change avatar and delete account ([384eb00](https://github.com/usekaneo/kaneo/commit/384eb005c71fe6e9b99875556b370b033cd4d151))
#### [2.17.6](https://github.com/usekaneo/kaneo/compare/v2.17.5...v2.17.6) (2026-08-11)
##### Bug Fixes
- **planka-import:** explain unmatched assignees, keep dependencies, attribute comments ([15f6868](https://github.com/usekaneo/kaneo/commit/15f68683620b5fcfbed7970b77210b7cc706f74b))
#### [2.17.5](https://github.com/usekaneo/kaneo/compare/v2.17.4...v2.17.5) (2026-08-11)
##### Bug Fixes
- **billing:** send one trial reminder per owner, not per workspace ([ae2e579](https://github.com/usekaneo/kaneo/commit/ae2e57919d4703b4fcb2e4452b2c7b171abedd97))
#### [2.17.4](https://github.com/usekaneo/kaneo/compare/v2.17.3...v2.17.4) (2026-08-11)
##### Bug Fixes
- **billing:** throttle trial reminders so they cannot exhaust the quota ([c4150a8](https://github.com/usekaneo/kaneo/commit/c4150a89f826ce5a4f7bbf24346c313b7fd2c5d4))
#### [2.17.3](https://github.com/usekaneo/kaneo/compare/v2.17.2...v2.17.3) (2026-08-11)
##### Bug Fixes
- **planka-import:** default to the real Kaneo Cloud host ([3863eb6](https://github.com/usekaneo/kaneo/commit/3863eb6ba1d5a6ec9833e4b4a383cffc3fa10fff))
##### Features
- **billing:** email trial reminders before and after expiry ([0e481a9](https://github.com/usekaneo/kaneo/commit/0e481a9c8223f36b03a35ad0cbb7456af99466d9))
#### [2.17.2](https://github.com/usekaneo/kaneo/compare/v2.17.1...v2.17.2) (2026-08-11)
##### Bug Fixes
- **auth:** resolve the client IP behind multiple proxy hops ([9e8a448](https://github.com/usekaneo/kaneo/commit/9e8a44835768a70d6d2f68dc3e1add53e90bbc10))
- **billing:** grant the trial once per owner, not per workspace ([14adb9d](https://github.com/usekaneo/kaneo/commit/14adb9dfd8af0d0dbe5951d0994d1bcf0fcdf8b1))
- use internal URL for MCP tool requests ([#​1556](https://github.com/usekaneo/kaneo/issues/1556)) ([7d9d9d2](https://github.com/usekaneo/kaneo/commit/7d9d9d212d13e98e9aa3d84c0179f4a49384b9fc))
##### Features
- **planka-import:** add PLANKA to Kaneo migration CLI ([5c91feb](https://github.com/usekaneo/kaneo/commit/5c91febedf4e2cbb356c451676d4df3ae2acc6fa))
- **planka-import:** authenticate with a PLANKA API key ([ff5e3fc](https://github.com/usekaneo/kaneo/commit/ff5e3fc6b91ae351c6002fb358d75265a0435dbd))
- **site:** add PLANKA comparison page ([579a975](https://github.com/usekaneo/kaneo/commit/579a9752f7775e9239680053a6ed68d437d90e36))
#### [2.17.1](https://github.com/usekaneo/kaneo/compare/v2.17.0...v2.17.1) (2026-08-10)
##### Bug Fixes
- **github:** match a branch whose title segment is empty ([#​1522](https://github.com/usekaneo/kaneo/issues/1522)) ([829f5ad](https://github.com/usekaneo/kaneo/commit/829f5addf2759bd0bfc10e0c231a8a0762f85262))
- preserve time entry end time ([#​1554](https://github.com/usekaneo/kaneo/issues/1554)) ([5e02130](https://github.com/usekaneo/kaneo/commit/5e0213009a6a35659a69543e6708b56c4d5593be))
- **security:** block the shared address space in webhook destinations ([#​1523](https://github.com/usekaneo/kaneo/issues/1523)) ([028c905](https://github.com/usekaneo/kaneo/commit/028c905fd505c7f2bc787c529d156088dd118d8b))
- **time-entry:** reject a start time later than the end time ([99e41ad](https://github.com/usekaneo/kaneo/commit/99e41ad8efcd12b06f17dab8096ef39902596130)), closes [#​1554](https://github.com/usekaneo/kaneo/issues/1554)
### [`v2.17.4`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2180-2026-08-12)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.17.3...v2.17.4)
##### Bug Fixes
- **web:** restore the backdrop behind settings modals ([71e429e](https://github.com/usekaneo/kaneo/commit/71e429e3482e4473508f170018057313b2d658a5))
##### Features
- **account:** change avatar and delete account ([384eb00](https://github.com/usekaneo/kaneo/commit/384eb005c71fe6e9b99875556b370b033cd4d151))
#### [2.17.6](https://github.com/usekaneo/kaneo/compare/v2.17.5...v2.17.6) (2026-08-11)
##### Bug Fixes
- **planka-import:** explain unmatched assignees, keep dependencies, attribute comments ([15f6868](https://github.com/usekaneo/kaneo/commit/15f68683620b5fcfbed7970b77210b7cc706f74b))
#### [2.17.5](https://github.com/usekaneo/kaneo/compare/v2.17.4...v2.17.5) (2026-08-11)
##### Bug Fixes
- **billing:** send one trial reminder per owner, not per workspace ([ae2e579](https://github.com/usekaneo/kaneo/commit/ae2e57919d4703b4fcb2e4452b2c7b171abedd97))
#### [2.17.4](https://github.com/usekaneo/kaneo/compare/v2.17.3...v2.17.4) (2026-08-11)
##### Bug Fixes
- **billing:** throttle trial reminders so they cannot exhaust the quota ([c4150a8](https://github.com/usekaneo/kaneo/commit/c4150a89f826ce5a4f7bbf24346c313b7fd2c5d4))
#### [2.17.3](https://github.com/usekaneo/kaneo/compare/v2.17.2...v2.17.3) (2026-08-11)
##### Bug Fixes
- **planka-import:** default to the real Kaneo Cloud host ([3863eb6](https://github.com/usekaneo/kaneo/commit/3863eb6ba1d5a6ec9833e4b4a383cffc3fa10fff))
##### Features
- **billing:** email trial reminders before and after expiry ([0e481a9](https://github.com/usekaneo/kaneo/commit/0e481a9c8223f36b03a35ad0cbb7456af99466d9))
#### [2.17.2](https://github.com/usekaneo/kaneo/compare/v2.17.1...v2.17.2) (2026-08-11)
##### Bug Fixes
- **auth:** resolve the client IP behind multiple proxy hops ([9e8a448](https://github.com/usekaneo/kaneo/commit/9e8a44835768a70d6d2f68dc3e1add53e90bbc10))
- **billing:** grant the trial once per owner, not per workspace ([14adb9d](https://github.com/usekaneo/kaneo/commit/14adb9dfd8af0d0dbe5951d0994d1bcf0fcdf8b1))
- use internal URL for MCP tool requests ([#​1556](https://github.com/usekaneo/kaneo/issues/1556)) ([7d9d9d2](https://github.com/usekaneo/kaneo/commit/7d9d9d212d13e98e9aa3d84c0179f4a49384b9fc))
##### Features
- **planka-import:** add PLANKA to Kaneo migration CLI ([5c91feb](https://github.com/usekaneo/kaneo/commit/5c91febedf4e2cbb356c451676d4df3ae2acc6fa))
- **planka-import:** authenticate with a PLANKA API key ([ff5e3fc](https://github.com/usekaneo/kaneo/commit/ff5e3fc6b91ae351c6002fb358d75265a0435dbd))
- **site:** add PLANKA comparison page ([579a975](https://github.com/usekaneo/kaneo/commit/579a9752f7775e9239680053a6ed68d437d90e36))
#### [2.17.1](https://github.com/usekaneo/kaneo/compare/v2.17.0...v2.17.1) (2026-08-10)
##### Bug Fixes
- **github:** match a branch whose title segment is empty ([#​1522](https://github.com/usekaneo/kaneo/issues/1522)) ([829f5ad](https://github.com/usekaneo/kaneo/commit/829f5addf2759bd0bfc10e0c231a8a0762f85262))
- preserve time entry end time ([#​1554](https://github.com/usekaneo/kaneo/issues/1554)) ([5e02130](https://github.com/usekaneo/kaneo/commit/5e0213009a6a35659a69543e6708b56c4d5593be))
- **security:** block the shared address space in webhook destinations ([#​1523](https://github.com/usekaneo/kaneo/issues/1523)) ([028c905](https://github.com/usekaneo/kaneo/commit/028c905fd505c7f2bc787c529d156088dd118d8b))
- **time-entry:** reject a start time later than the end time ([99e41ad](https://github.com/usekaneo/kaneo/commit/99e41ad8efcd12b06f17dab8096ef39902596130)), closes [#​1554](https://github.com/usekaneo/kaneo/issues/1554)
### [`v2.17.3`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2180-2026-08-12)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.17.2...v2.17.3)
##### Bug Fixes
- **web:** restore the backdrop behind settings modals ([71e429e](https://github.com/usekaneo/kaneo/commit/71e429e3482e4473508f170018057313b2d658a5))
##### Features
- **account:** change avatar and delete account ([384eb00](https://github.com/usekaneo/kaneo/commit/384eb005c71fe6e9b99875556b370b033cd4d151))
#### [2.17.6](https://github.com/usekaneo/kaneo/compare/v2.17.5...v2.17.6) (2026-08-11)
##### Bug Fixes
- **planka-import:** explain unmatched assignees, keep dependencies, attribute comments ([15f6868](https://github.com/usekaneo/kaneo/commit/15f68683620b5fcfbed7970b77210b7cc706f74b))
#### [2.17.5](https://github.com/usekaneo/kaneo/compare/v2.17.4...v2.17.5) (2026-08-11)
##### Bug Fixes
- **billing:** send one trial reminder per owner, not per workspace ([ae2e579](https://github.com/usekaneo/kaneo/commit/ae2e57919d4703b4fcb2e4452b2c7b171abedd97))
#### [2.17.4](https://github.com/usekaneo/kaneo/compare/v2.17.3...v2.17.4) (2026-08-11)
##### Bug Fixes
- **billing:** throttle trial reminders so they cannot exhaust the quota ([c4150a8](https://github.com/usekaneo/kaneo/commit/c4150a89f826ce5a4f7bbf24346c313b7fd2c5d4))
#### [2.17.3](https://github.com/usekaneo/kaneo/compare/v2.17.2...v2.17.3) (2026-08-11)
##### Bug Fixes
- **planka-import:** default to the real Kaneo Cloud host ([3863eb6](https://github.com/usekaneo/kaneo/commit/3863eb6ba1d5a6ec9833e4b4a383cffc3fa10fff))
##### Features
- **billing:** email trial reminders before and after expiry ([0e481a9](https://github.com/usekaneo/kaneo/commit/0e481a9c8223f36b03a35ad0cbb7456af99466d9))
#### [2.17.2](https://github.com/usekaneo/kaneo/compare/v2.17.1...v2.17.2) (2026-08-11)
##### Bug Fixes
- **auth:** resolve the client IP behind multiple proxy hops ([9e8a448](https://github.com/usekaneo/kaneo/commit/9e8a44835768a70d6d2f68dc3e1add53e90bbc10))
- **billing:** grant the trial once per owner, not per workspace ([14adb9d](https://github.com/usekaneo/kaneo/commit/14adb9dfd8af0d0dbe5951d0994d1bcf0fcdf8b1))
- use internal URL for MCP tool requests ([#​1556](https://github.com/usekaneo/kaneo/issues/1556)) ([7d9d9d2](https://github.com/usekaneo/kaneo/commit/7d9d9d212d13e98e9aa3d84c0179f4a49384b9fc))
##### Features
- **planka-import:** add PLANKA to Kaneo migration CLI ([5c91feb](https://github.com/usekaneo/kaneo/commit/5c91febedf4e2cbb356c451676d4df3ae2acc6fa))
- **planka-import:** authenticate with a PLANKA API key ([ff5e3fc](https://github.com/usekaneo/kaneo/commit/ff5e3fc6b91ae351c6002fb358d75265a0435dbd))
- **site:** add PLANKA comparison page ([579a975](https://github.com/usekaneo/kaneo/commit/579a9752f7775e9239680053a6ed68d437d90e36))
#### [2.17.1](https://github.com/usekaneo/kaneo/compare/v2.17.0...v2.17.1) (2026-08-10)
##### Bug Fixes
- **github:** match a branch whose title segment is empty ([#​1522](https://github.com/usekaneo/kaneo/issues/1522)) ([829f5ad](https://github.com/usekaneo/kaneo/commit/829f5addf2759bd0bfc10e0c231a8a0762f85262))
- preserve time entry end time ([#​1554](https://github.com/usekaneo/kaneo/issues/1554)) ([5e02130](https://github.com/usekaneo/kaneo/commit/5e0213009a6a35659a69543e6708b56c4d5593be))
- **security:** block the shared address space in webhook destinations ([#​1523](https://github.com/usekaneo/kaneo/issues/1523)) ([028c905](https://github.com/usekaneo/kaneo/commit/028c905fd505c7f2bc787c529d156088dd118d8b))
- **time-entry:** reject a start time later than the end time ([99e41ad](https://github.com/usekaneo/kaneo/commit/99e41ad8efcd12b06f17dab8096ef39902596130)), closes [#​1554](https://github.com/usekaneo/kaneo/issues/1554)
### [`v2.17.2`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2180-2026-08-12)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.17.1...v2.17.2)
##### Bug Fixes
- **web:** restore the backdrop behind settings modals ([71e429e](https://github.com/usekaneo/kaneo/commit/71e429e3482e4473508f170018057313b2d658a5))
##### Features
- **account:** change avatar and delete account ([384eb00](https://github.com/usekaneo/kaneo/commit/384eb005c71fe6e9b99875556b370b033cd4d151))
#### [2.17.6](https://github.com/usekaneo/kaneo/compare/v2.17.5...v2.17.6) (2026-08-11)
##### Bug Fixes
- **planka-import:** explain unmatched assignees, keep dependencies, attribute comments ([15f6868](https://github.com/usekaneo/kaneo/commit/15f68683620b5fcfbed7970b77210b7cc706f74b))
#### [2.17.5](https://github.com/usekaneo/kaneo/compare/v2.17.4...v2.17.5) (2026-08-11)
##### Bug Fixes
- **billing:** send one trial reminder per owner, not per workspace ([ae2e579](https://github.com/usekaneo/kaneo/commit/ae2e57919d4703b4fcb2e4452b2c7b171abedd97))
#### [2.17.4](https://github.com/usekaneo/kaneo/compare/v2.17.3...v2.17.4) (2026-08-11)
##### Bug Fixes
- **billing:** throttle trial reminders so they cannot exhaust the quota ([c4150a8](https://github.com/usekaneo/kaneo/commit/c4150a89f826ce5a4f7bbf24346c313b7fd2c5d4))
#### [2.17.3](https://github.com/usekaneo/kaneo/compare/v2.17.2...v2.17.3) (2026-08-11)
##### Bug Fixes
- **planka-import:** default to the real Kaneo Cloud host ([3863eb6](https://github.com/usekaneo/kaneo/commit/3863eb6ba1d5a6ec9833e4b4a383cffc3fa10fff))
##### Features
- **billing:** email trial reminders before and after expiry ([0e481a9](https://github.com/usekaneo/kaneo/commit/0e481a9c8223f36b03a35ad0cbb7456af99466d9))
#### [2.17.2](https://github.com/usekaneo/kaneo/compare/v2.17.1...v2.17.2) (2026-08-11)
##### Bug Fixes
- **auth:** resolve the client IP behind multiple proxy hops ([9e8a448](https://github.com/usekaneo/kaneo/commit/9e8a44835768a70d6d2f68dc3e1add53e90bbc10))
- **billing:** grant the trial once per owner, not per workspace ([14adb9d](https://github.com/usekaneo/kaneo/commit/14adb9dfd8af0d0dbe5951d0994d1bcf0fcdf8b1))
- use internal URL for MCP tool requests ([#​1556](https://github.com/usekaneo/kaneo/issues/1556)) ([7d9d9d2](https://github.com/usekaneo/kaneo/commit/7d9d9d212d13e98e9aa3d84c0179f4a49384b9fc))
##### Features
- **planka-import:** add PLANKA to Kaneo migration CLI ([5c91feb](https://github.com/usekaneo/kaneo/commit/5c91febedf4e2cbb356c451676d4df3ae2acc6fa))
- **planka-import:** authenticate with a PLANKA API key ([ff5e3fc](https://github.com/usekaneo/kaneo/commit/ff5e3fc6b91ae351c6002fb358d75265a0435dbd))
- **site:** add PLANKA comparison page ([579a975](https://github.com/usekaneo/kaneo/commit/579a9752f7775e9239680053a6ed68d437d90e36))
#### [2.17.1](https://github.com/usekaneo/kaneo/compare/v2.17.0...v2.17.1) (2026-08-10)
##### Bug Fixes
- **github:** match a branch whose title segment is empty ([#​1522](https://github.com/usekaneo/kaneo/issues/1522)) ([829f5ad](https://github.com/usekaneo/kaneo/commit/829f5addf2759bd0bfc10e0c231a8a0762f85262))
- preserve time entry end time ([#​1554](https://github.com/usekaneo/kaneo/issues/1554)) ([5e02130](https://github.com/usekaneo/kaneo/commit/5e0213009a6a35659a69543e6708b56c4d5593be))
- **security:** block the shared address space in webhook destinations ([#​1523](https://github.com/usekaneo/kaneo/issues/1523)) ([028c905](https://github.com/usekaneo/kaneo/commit/028c905fd505c7f2bc787c529d156088dd118d8b))
- **time-entry:** reject a start time later than the end time ([99e41ad](https://github.com/usekaneo/kaneo/commit/99e41ad8efcd12b06f17dab8096ef39902596130)), closes [#​1554](https://github.com/usekaneo/kaneo/issues/1554)
### [`v2.17.1`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2180-2026-08-12)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.17.0...v2.17.1)
##### Bug Fixes
- **web:** restore the backdrop behind settings modals ([71e429e](https://github.com/usekaneo/kaneo/commit/71e429e3482e4473508f170018057313b2d658a5))
##### Features
- **account:** change avatar and delete account ([384eb00](https://github.com/usekaneo/kaneo/commit/384eb005c71fe6e9b99875556b370b033cd4d151))
#### [2.17.6](https://github.com/usekaneo/kaneo/compare/v2.17.5...v2.17.6) (2026-08-11)
##### Bug Fixes
- **planka-import:** explain unmatched assignees, keep dependencies, attribute comments ([15f6868](https://github.com/usekaneo/kaneo/commit/15f68683620b5fcfbed7970b77210b7cc706f74b))
#### [2.17.5](https://github.com/usekaneo/kaneo/compare/v2.17.4...v2.17.5) (2026-08-11)
##### Bug Fixes
- **billing:** send one trial reminder per owner, not per workspace ([ae2e579](https://github.com/usekaneo/kaneo/commit/ae2e57919d4703b4fcb2e4452b2c7b171abedd97))
#### [2.17.4](https://github.com/usekaneo/kaneo/compare/v2.17.3...v2.17.4) (2026-08-11)
##### Bug Fixes
- **billing:** throttle trial reminders so they cannot exhaust the quota ([c4150a8](https://github.com/usekaneo/kaneo/commit/c4150a89f826ce5a4f7bbf24346c313b7fd2c5d4))
#### [2.17.3](https://github.com/usekaneo/kaneo/compare/v2.17.2...v2.17.3) (2026-08-11)
##### Bug Fixes
- **planka-import:** default to the real Kaneo Cloud host ([3863eb6](https://github.com/usekaneo/kaneo/commit/3863eb6ba1d5a6ec9833e4b4a383cffc3fa10fff))
##### Features
- **billing:** email trial reminders before and after expiry ([0e481a9](https://github.com/usekaneo/kaneo/commit/0e481a9c8223f36b03a35ad0cbb7456af99466d9))
#### [2.17.2](https://github.com/usekaneo/kaneo/compare/v2.17.1...v2.17.2) (2026-08-11)
##### Bug Fixes
- **auth:** resolve the client IP behind multiple proxy hops ([9e8a448](https://github.com/usekaneo/kaneo/commit/9e8a44835768a70d6d2f68dc3e1add53e90bbc10))
- **billing:** grant the trial once per owner, not per workspace ([14adb9d](https://github.com/usekaneo/kaneo/commit/14adb9dfd8af0d0dbe5951d0994d1bcf0fcdf8b1))
- use internal URL for MCP tool requests ([#​1556](https://github.com/usekaneo/kaneo/issues/1556)) ([7d9d9d2](https://github.com/usekaneo/kaneo/commit/7d9d9d212d13e98e9aa3d84c0179f4a49384b9fc))
##### Features
- **planka-import:** add PLANKA to Kaneo migration CLI ([5c91feb](https://github.com/usekaneo/kaneo/commit/5c91febedf4e2cbb356c451676d4df3ae2acc6fa))
- **planka-import:** authenticate with a PLANKA API key ([ff5e3fc](https://github.com/usekaneo/kaneo/commit/ff5e3fc6b91ae351c6002fb358d75265a0435dbd))
- **site:** add PLANKA comparison page ([579a975](https://github.com/usekaneo/kaneo/commit/579a9752f7775e9239680053a6ed68d437d90e36))
#### [2.17.1](https://github.com/usekaneo/kaneo/compare/v2.17.0...v2.17.1) (2026-08-10)
##### Bug Fixes
- **github:** match a branch whose title segment is empty ([#​1522](https://github.com/usekaneo/kaneo/issues/1522)) ([829f5ad](https://github.com/usekaneo/kaneo/commit/829f5addf2759bd0bfc10e0c231a8a0762f85262))
- preserve time entry end time ([#​1554](https://github.com/usekaneo/kaneo/issues/1554)) ([5e02130](https://github.com/usekaneo/kaneo/commit/5e0213009a6a35659a69543e6708b56c4d5593be))
- **security:** block the shared address space in webhook destinations ([#​1523](https://github.com/usekaneo/kaneo/issues/1523)) ([028c905](https://github.com/usekaneo/kaneo/commit/028c905fd505c7f2bc787c529d156088dd118d8b))
- **time-entry:** reject a start time later than the end time ([99e41ad](https://github.com/usekaneo/kaneo/commit/99e41ad8efcd12b06f17dab8096ef39902596130)), closes [#​1554](https://github.com/usekaneo/kaneo/issues/1554)
### [`v2.17.0`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2180-2026-08-12)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.16.4...v2.17.0)
##### Bug Fixes
- **web:** restore the backdrop behind settings modals ([71e429e](https://github.com/usekaneo/kaneo/commit/71e429e3482e4473508f170018057313b2d658a5))
##### Features
- **account:** change avatar and delete account ([384eb00](https://github.com/usekaneo/kaneo/commit/384eb005c71fe6e9b99875556b370b033cd4d151))
#### [2.17.6](https://github.com/usekaneo/kaneo/compare/v2.17.5...v2.17.6) (2026-08-11)
##### Bug Fixes
- **planka-import:** explain unmatched assignees, keep dependencies, attribute comments ([15f6868](https://github.com/usekaneo/kaneo/commit/15f68683620b5fcfbed7970b77210b7cc706f74b))
#### [2.17.5](https://github.com/usekaneo/kaneo/compare/v2.17.4...v2.17.5) (2026-08-11)
##### Bug Fixes
- **billing:** send one trial reminder per owner, not per workspace ([ae2e579](https://github.com/usekaneo/kaneo/commit/ae2e57919d4703b4fcb2e4452b2c7b171abedd97))
#### [2.17.4](https://github.com/usekaneo/kaneo/compare/v2.17.3...v2.17.4) (2026-08-11)
##### Bug Fixes
- **billing:** throttle trial reminders so they cannot exhaust the quota ([c4150a8](https://github.com/usekaneo/kaneo/commit/c4150a89f826ce5a4f7bbf24346c313b7fd2c5d4))
#### [2.17.3](https://github.com/usekaneo/kaneo/compare/v2.17.2...v2.17.3) (2026-08-11)
##### Bug Fixes
- **planka-import:** default to the real Kaneo Cloud host ([3863eb6](https://github.com/usekaneo/kaneo/commit/3863eb6ba1d5a6ec9833e4b4a383cffc3fa10fff))
##### Features
- **billing:** email trial reminders before and after expiry ([0e481a9](https://github.com/usekaneo/kaneo/commit/0e481a9c8223f36b03a35ad0cbb7456af99466d9))
#### [2.17.2](https://github.com/usekaneo/kaneo/compare/v2.17.1...v2.17.2) (2026-08-11)
##### Bug Fixes
- **auth:** resolve the client IP behind multiple proxy hops ([9e8a448](https://github.com/usekaneo/kaneo/commit/9e8a44835768a70d6d2f68dc3e1add53e90bbc10))
- **billing:** grant the trial once per owner, not per workspace ([14adb9d](https://github.com/usekaneo/kaneo/commit/14adb9dfd8af0d0dbe5951d0994d1bcf0fcdf8b1))
- use internal URL for MCP tool requests ([#​1556](https://github.com/usekaneo/kaneo/issues/1556)) ([7d9d9d2](https://github.com/usekaneo/kaneo/commit/7d9d9d212d13e98e9aa3d84c0179f4a49384b9fc))
##### Features
- **planka-import:** add PLANKA to Kaneo migration CLI ([5c91feb](https://github.com/usekaneo/kaneo/commit/5c91febedf4e2cbb356c451676d4df3ae2acc6fa))
- **planka-import:** authenticate with a PLANKA API key ([ff5e3fc](https://github.com/usekaneo/kaneo/commit/ff5e3fc6b91ae351c6002fb358d75265a0435dbd))
- **site:** add PLANKA comparison page ([579a975](https://github.com/usekaneo/kaneo/commit/579a9752f7775e9239680053a6ed68d437d90e36))
#### [2.17.1](https://github.com/usekaneo/kaneo/compare/v2.17.0...v2.17.1) (2026-08-10)
##### Bug Fixes
- **github:** match a branch whose title segment is empty ([#​1522](https://github.com/usekaneo/kaneo/issues/1522)) ([829f5ad](https://github.com/usekaneo/kaneo/commit/829f5addf2759bd0bfc10e0c231a8a0762f85262))
- preserve time entry end time ([#​1554](https://github.com/usekaneo/kaneo/issues/1554)) ([5e02130](https://github.com/usekaneo/kaneo/commit/5e0213009a6a35659a69543e6708b56c4d5593be))
- **security:** block the shared address space in webhook destinations ([#​1523](https://github.com/usekaneo/kaneo/issues/1523)) ([028c905](https://github.com/usekaneo/kaneo/commit/028c905fd505c7f2bc787c529d156088dd118d8b))
- **time-entry:** reject a start time later than the end time ([99e41ad](https://github.com/usekaneo/kaneo/commit/99e41ad8efcd12b06f17dab8096ef39902596130)), closes [#​1554](https://github.com/usekaneo/kaneo/issues/1554)
### [`v2.16.4`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2170-2026-08-10)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.16.3...v2.16.4)
##### Bug Fixes
- **mcp:** guard media type and share the tool registrar ([1167ec6](https://github.com/usekaneo/kaneo/commit/1167ec6a980385a6658230831ba80254429b3db3))
- **web:** omit unassigned userId when creating tasks ([#​1552](https://github.com/usekaneo/kaneo/issues/1552)) ([b69fae3](https://github.com/usekaneo/kaneo/commit/b69fae35a3a3b25241d6b3e348bb594bc442a26a))
##### Features
- **mcp:** expose members, search, columns, time and activity tools ([37b2fc3](https://github.com/usekaneo/kaneo/commit/37b2fc3138c3c1cac682590530342c5d852a7020))
- **mcp:** support stateless 2026 protocol ([#​1540](https://github.com/usekaneo/kaneo/issues/1540)) ([7fe3610](https://github.com/usekaneo/kaneo/commit/7fe3610d6b949e3a8acc4158ba6e4185335efcb8))
#### [2.16.4](https://github.com/usekaneo/kaneo/compare/v2.16.3...v2.16.4) (2026-08-10)
##### Bug Fixes
- **auth:** let invited users sign up with OAuth in invite-only mode ([737ec6e](https://github.com/usekaneo/kaneo/commit/737ec6e79f85e6906b0748501c27e1b1aa4ab914)), closes [#​1551](https://github.com/usekaneo/kaneo/issues/1551)
#### [2.16.3](https://github.com/usekaneo/kaneo/compare/v2.16.2...v2.16.3) (2026-08-10)
##### Bug Fixes
- **task:** treat blank assignee id as unassigned on task creation ([f5b3717](https://github.com/usekaneo/kaneo/commit/f5b3717fc0213542834a3d9c8169f2689f5c0580)), closes [#​1543](https://github.com/usekaneo/kaneo/issues/1543)
#### [2.16.2](https://github.com/usekaneo/kaneo/compare/v2.16.1...v2.16.2) (2026-08-10)
##### Bug Fixes
- **ci:** failure in ci after fix ([4a24d74](https://github.com/usekaneo/kaneo/commit/4a24d74b261222c008576c2e3044b24ea551fc4c))
- **gitea-integration:** handle invalid JSON from non-Gitea URLs ([097aedd](https://github.com/usekaneo/kaneo/commit/097aeddbdc80e812d14f5c7241c6575b6fbcf0a6))
- **gitea-integration:** structured failure response and test coverage ([49eac38](https://github.com/usekaneo/kaneo/commit/49eac382cc8f8e1875ef46ea75cdce52651ee298))
- **gitea:** classify /user 404 as not-a-gitea-instance ([364f5e3](https://github.com/usekaneo/kaneo/commit/364f5e373ea8947a7436e114be89875723b815c2))
- **pr:** responding to AI pr reviews ([cb2f333](https://github.com/usekaneo/kaneo/commit/cb2f3337d513979ff845ee3b39d7c68dd412bda3))
- **task:** validate assignee existence on task creation ([b0133ee](https://github.com/usekaneo/kaneo/commit/b0133ee01b03b838ffdc7a1765ceb1a80b438233))
- **web:** avoid nested buttons in alert dialog footers ([16481e3](https://github.com/usekaneo/kaneo/commit/16481e3bb98fba4f6de15d26a8917bee02efa2f4))
- **web:** handle unhandled promise rejection from authClient.getSession() ([494f1fb](https://github.com/usekaneo/kaneo/commit/494f1fbc90290636d77c6b1f3fae07b2112a255b))
- **web:** preserve full location in auth redirect ([a277274](https://github.com/usekaneo/kaneo/commit/a2772742e0059a1c884661c651ba6a369af779ff))
- **web:** prevent TypeError when relatedTarget is not an Element ([51131c1](https://github.com/usekaneo/kaneo/commit/51131c10ebe3ad19da5a24b4c3bce996ca139723))
#### [2.16.1](https://github.com/usekaneo/kaneo/compare/v2.16.0...v2.16.1) (2026-08-09)
##### Bug Fixes
- address placeholder cleanup reviews ([dee61c1](https://github.com/usekaneo/kaneo/commit/dee61c13c918deddb03545f3ef525573870ac9bf))
- strip quoted runtime placeholders ([f983f34](https://github.com/usekaneo/kaneo/commit/f983f34e3ccb3bd0ccc85655b6cfaa2ae6463712))
### [`v2.16.3`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2170-2026-08-10)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.16.2...v2.16.3)
##### Bug Fixes
- **mcp:** guard media type and share the tool registrar ([1167ec6](https://github.com/usekaneo/kaneo/commit/1167ec6a980385a6658230831ba80254429b3db3))
- **web:** omit unassigned userId when creating tasks ([#​1552](https://github.com/usekaneo/kaneo/issues/1552)) ([b69fae3](https://github.com/usekaneo/kaneo/commit/b69fae35a3a3b25241d6b3e348bb594bc442a26a))
##### Features
- **mcp:** expose members, search, columns, time and activity tools ([37b2fc3](https://github.com/usekaneo/kaneo/commit/37b2fc3138c3c1cac682590530342c5d852a7020))
- **mcp:** support stateless 2026 protocol ([#​1540](https://github.com/usekaneo/kaneo/issues/1540)) ([7fe3610](https://github.com/usekaneo/kaneo/commit/7fe3610d6b949e3a8acc4158ba6e4185335efcb8))
#### [2.16.4](https://github.com/usekaneo/kaneo/compare/v2.16.3...v2.16.4) (2026-08-10)
##### Bug Fixes
- **auth:** let invited users sign up with OAuth in invite-only mode ([737ec6e](https://github.com/usekaneo/kaneo/commit/737ec6e79f85e6906b0748501c27e1b1aa4ab914)), closes [#​1551](https://github.com/usekaneo/kaneo/issues/1551)
#### [2.16.3](https://github.com/usekaneo/kaneo/compare/v2.16.2...v2.16.3) (2026-08-10)
##### Bug Fixes
- **task:** treat blank assignee id as unassigned on task creation ([f5b3717](https://github.com/usekaneo/kaneo/commit/f5b3717fc0213542834a3d9c8169f2689f5c0580)), closes [#​1543](https://github.com/usekaneo/kaneo/issues/1543)
#### [2.16.2](https://github.com/usekaneo/kaneo/compare/v2.16.1...v2.16.2) (2026-08-10)
##### Bug Fixes
- **ci:** failure in ci after fix ([4a24d74](https://github.com/usekaneo/kaneo/commit/4a24d74b261222c008576c2e3044b24ea551fc4c))
- **gitea-integration:** handle invalid JSON from non-Gitea URLs ([097aedd](https://github.com/usekaneo/kaneo/commit/097aeddbdc80e812d14f5c7241c6575b6fbcf0a6))
- **gitea-integration:** structured failure response and test coverage ([49eac38](https://github.com/usekaneo/kaneo/commit/49eac382cc8f8e1875ef46ea75cdce52651ee298))
- **gitea:** classify /user 404 as not-a-gitea-instance ([364f5e3](https://github.com/usekaneo/kaneo/commit/364f5e373ea8947a7436e114be89875723b815c2))
- **pr:** responding to AI pr reviews ([cb2f333](https://github.com/usekaneo/kaneo/commit/cb2f3337d513979ff845ee3b39d7c68dd412bda3))
- **task:** validate assignee existence on task creation ([b0133ee](https://github.com/usekaneo/kaneo/commit/b0133ee01b03b838ffdc7a1765ceb1a80b438233))
- **web:** avoid nested buttons in alert dialog footers ([16481e3](https://github.com/usekaneo/kaneo/commit/16481e3bb98fba4f6de15d26a8917bee02efa2f4))
- **web:** handle unhandled promise rejection from authClient.getSession() ([494f1fb](https://github.com/usekaneo/kaneo/commit/494f1fbc90290636d77c6b1f3fae07b2112a255b))
- **web:** preserve full location in auth redirect ([a277274](https://github.com/usekaneo/kaneo/commit/a2772742e0059a1c884661c651ba6a369af779ff))
- **web:** prevent TypeError when relatedTarget is not an Element ([51131c1](https://github.com/usekaneo/kaneo/commit/51131c10ebe3ad19da5a24b4c3bce996ca139723))
#### [2.16.1](https://github.com/usekaneo/kaneo/compare/v2.16.0...v2.16.1) (2026-08-09)
##### Bug Fixes
- address placeholder cleanup reviews ([dee61c1](https://github.com/usekaneo/kaneo/commit/dee61c13c918deddb03545f3ef525573870ac9bf))
- strip quoted runtime placeholders ([f983f34](https://github.com/usekaneo/kaneo/commit/f983f34e3ccb3bd0ccc85655b6cfaa2ae6463712))
### [`v2.16.2`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2170-2026-08-10)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.16.1...v2.16.2)
##### Bug Fixes
- **mcp:** guard media type and share the tool registrar ([1167ec6](https://github.com/usekaneo/kaneo/commit/1167ec6a980385a6658230831ba80254429b3db3))
- **web:** omit unassigned userId when creating tasks ([#​1552](https://github.com/usekaneo/kaneo/issues/1552)) ([b69fae3](https://github.com/usekaneo/kaneo/commit/b69fae35a3a3b25241d6b3e348bb594bc442a26a))
##### Features
- **mcp:** expose members, search, columns, time and activity tools ([37b2fc3](https://github.com/usekaneo/kaneo/commit/37b2fc3138c3c1cac682590530342c5d852a7020))
- **mcp:** support stateless 2026 protocol ([#​1540](https://github.com/usekaneo/kaneo/issues/1540)) ([7fe3610](https://github.com/usekaneo/kaneo/commit/7fe3610d6b949e3a8acc4158ba6e4185335efcb8))
#### [2.16.4](https://github.com/usekaneo/kaneo/compare/v2.16.3...v2.16.4) (2026-08-10)
##### Bug Fixes
- **auth:** let invited users sign up with OAuth in invite-only mode ([737ec6e](https://github.com/usekaneo/kaneo/commit/737ec6e79f85e6906b0748501c27e1b1aa4ab914)), closes [#​1551](https://github.com/usekaneo/kaneo/issues/1551)
#### [2.16.3](https://github.com/usekaneo/kaneo/compare/v2.16.2...v2.16.3) (2026-08-10)
##### Bug Fixes
- **task:** treat blank assignee id as unassigned on task creation ([f5b3717](https://github.com/usekaneo/kaneo/commit/f5b3717fc0213542834a3d9c8169f2689f5c0580)), closes [#​1543](https://github.com/usekaneo/kaneo/issues/1543)
#### [2.16.2](https://github.com/usekaneo/kaneo/compare/v2.16.1...v2.16.2) (2026-08-10)
##### Bug Fixes
- **ci:** failure in ci after fix ([4a24d74](https://github.com/usekaneo/kaneo/commit/4a24d74b261222c008576c2e3044b24ea551fc4c))
- **gitea-integration:** handle invalid JSON from non-Gitea URLs ([097aedd](https://github.com/usekaneo/kaneo/commit/097aeddbdc80e812d14f5c7241c6575b6fbcf0a6))
- **gitea-integration:** structured failure response and test coverage ([49eac38](https://github.com/usekaneo/kaneo/commit/49eac382cc8f8e1875ef46ea75cdce52651ee298))
- **gitea:** classify /user 404 as not-a-gitea-instance ([364f5e3](https://github.com/usekaneo/kaneo/commit/364f5e373ea8947a7436e114be89875723b815c2))
- **pr:** responding to AI pr reviews ([cb2f333](https://github.com/usekaneo/kaneo/commit/cb2f3337d513979ff845ee3b39d7c68dd412bda3))
- **task:** validate assignee existence on task creation ([b0133ee](https://github.com/usekaneo/kaneo/commit/b0133ee01b03b838ffdc7a1765ceb1a80b438233))
- **web:** avoid nested buttons in alert dialog footers ([16481e3](https://github.com/usekaneo/kaneo/commit/16481e3bb98fba4f6de15d26a8917bee02efa2f4))
- **web:** handle unhandled promise rejection from authClient.getSession() ([494f1fb](https://github.com/usekaneo/kaneo/commit/494f1fbc90290636d77c6b1f3fae07b2112a255b))
- **web:** preserve full location in auth redirect ([a277274](https://github.com/usekaneo/kaneo/commit/a2772742e0059a1c884661c651ba6a369af779ff))
- **web:** prevent TypeError when relatedTarget is not an Element ([51131c1](https://github.com/usekaneo/kaneo/commit/51131c10ebe3ad19da5a24b4c3bce996ca139723))
#### [2.16.1](https://github.com/usekaneo/kaneo/compare/v2.16.0...v2.16.1) (2026-08-09)
##### Bug Fixes
- address placeholder cleanup reviews ([dee61c1](https://github.com/usekaneo/kaneo/commit/dee61c13c918deddb03545f3ef525573870ac9bf))
- strip quoted runtime placeholders ([f983f34](https://github.com/usekaneo/kaneo/commit/f983f34e3ccb3bd0ccc85655b6cfaa2ae6463712))
### [`v2.16.1`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2170-2026-08-10)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.16.0...v2.16.1)
##### Bug Fixes
- **mcp:** guard media type and share the tool registrar ([1167ec6](https://github.com/usekaneo/kaneo/commit/1167ec6a980385a6658230831ba80254429b3db3))
- **web:** omit unassigned userId when creating tasks ([#​1552](https://github.com/usekaneo/kaneo/issues/1552)) ([b69fae3](https://github.com/usekaneo/kaneo/commit/b69fae35a3a3b25241d6b3e348bb594bc442a26a))
##### Features
- **mcp:** expose members, search, columns, time and activity tools ([37b2fc3](https://github.com/usekaneo/kaneo/commit/37b2fc3138c3c1cac682590530342c5d852a7020))
- **mcp:** support stateless 2026 protocol ([#​1540](https://github.com/usekaneo/kaneo/issues/1540)) ([7fe3610](https://github.com/usekaneo/kaneo/commit/7fe3610d6b949e3a8acc4158ba6e4185335efcb8))
#### [2.16.4](https://github.com/usekaneo/kaneo/compare/v2.16.3...v2.16.4) (2026-08-10)
##### Bug Fixes
- **auth:** let invited users sign up with OAuth in invite-only mode ([737ec6e](https://github.com/usekaneo/kaneo/commit/737ec6e79f85e6906b0748501c27e1b1aa4ab914)), closes [#​1551](https://github.com/usekaneo/kaneo/issues/1551)
#### [2.16.3](https://github.com/usekaneo/kaneo/compare/v2.16.2...v2.16.3) (2026-08-10)
##### Bug Fixes
- **task:** treat blank assignee id as unassigned on task creation ([f5b3717](https://github.com/usekaneo/kaneo/commit/f5b3717fc0213542834a3d9c8169f2689f5c0580)), closes [#​1543](https://github.com/usekaneo/kaneo/issues/1543)
#### [2.16.2](https://github.com/usekaneo/kaneo/compare/v2.16.1...v2.16.2) (2026-08-10)
##### Bug Fixes
- **ci:** failure in ci after fix ([4a24d74](https://github.com/usekaneo/kaneo/commit/4a24d74b261222c008576c2e3044b24ea551fc4c))
- **gitea-integration:** handle invalid JSON from non-Gitea URLs ([097aedd](https://github.com/usekaneo/kaneo/commit/097aeddbdc80e812d14f5c7241c6575b6fbcf0a6))
- **gitea-integration:** structured failure response and test coverage ([49eac38](https://github.com/usekaneo/kaneo/commit/49eac382cc8f8e1875ef46ea75cdce52651ee298))
- **gitea:** classify /user 404 as not-a-gitea-instance ([364f5e3](https://github.com/usekaneo/kaneo/commit/364f5e373ea8947a7436e114be89875723b815c2))
- **pr:** responding to AI pr reviews ([cb2f333](https://github.com/usekaneo/kaneo/commit/cb2f3337d513979ff845ee3b39d7c68dd412bda3))
- **task:** validate assignee existence on task creation ([b0133ee](https://github.com/usekaneo/kaneo/commit/b0133ee01b03b838ffdc7a1765ceb1a80b438233))
- **web:** avoid nested buttons in alert dialog footers ([16481e3](https://github.com/usekaneo/kaneo/commit/16481e3bb98fba4f6de15d26a8917bee02efa2f4))
- **web:** handle unhandled promise rejection from authClient.getSession() ([494f1fb](https://github.com/usekaneo/kaneo/commit/494f1fbc90290636d77c6b1f3fae07b2112a255b))
- **web:** preserve full location in auth redirect ([a277274](https://github.com/usekaneo/kaneo/commit/a2772742e0059a1c884661c651ba6a369af779ff))
- **web:** prevent TypeError when relatedTarget is not an Element ([51131c1](https://github.com/usekaneo/kaneo/commit/51131c10ebe3ad19da5a24b4c3bce996ca139723))
#### [2.16.1](https://github.com/usekaneo/kaneo/compare/v2.16.0...v2.16.1) (2026-08-09)
##### Bug Fixes
- address placeholder cleanup reviews ([dee61c1](https://github.com/usekaneo/kaneo/commit/dee61c13c918deddb03545f3ef525573870ac9bf))
- strip quoted runtime placeholders ([f983f34](https://github.com/usekaneo/kaneo/commit/f983f34e3ccb3bd0ccc85655b6cfaa2ae6463712))
### [`v2.16.0`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2170-2026-08-10)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.15.0...v2.16.0)
##### Bug Fixes
- **mcp:** guard media type and share the tool registrar ([1167ec6](https://github.com/usekaneo/kaneo/commit/1167ec6a980385a6658230831ba80254429b3db3))
- **web:** omit unassigned userId when creating tasks ([#​1552](https://github.com/usekaneo/kaneo/issues/1552)) ([b69fae3](https://github.com/usekaneo/kaneo/commit/b69fae35a3a3b25241d6b3e348bb594bc442a26a))
##### Features
- **mcp:** expose members, search, columns, time and activity tools ([37b2fc3](https://github.com/usekaneo/kaneo/commit/37b2fc3138c3c1cac682590530342c5d852a7020))
- **mcp:** support stateless 2026 protocol ([#​1540](https://github.com/usekaneo/kaneo/issues/1540)) ([7fe3610](https://github.com/usekaneo/kaneo/commit/7fe3610d6b949e3a8acc4158ba6e4185335efcb8))
#### [2.16.4](https://github.com/usekaneo/kaneo/compare/v2.16.3...v2.16.4) (2026-08-10)
##### Bug Fixes
- **auth:** let invited users sign up with OAuth in invite-only mode ([737ec6e](https://github.com/usekaneo/kaneo/commit/737ec6e79f85e6906b0748501c27e1b1aa4ab914)), closes [#​1551](https://github.com/usekaneo/kaneo/issues/1551)
#### [2.16.3](https://github.com/usekaneo/kaneo/compare/v2.16.2...v2.16.3) (2026-08-10)
##### Bug Fixes
- **task:** treat blank assignee id as unassigned on task creation ([f5b3717](https://github.com/usekaneo/kaneo/commit/f5b3717fc0213542834a3d9c8169f2689f5c0580)), closes [#​1543](https://github.com/usekaneo/kaneo/issues/1543)
#### [2.16.2](https://github.com/usekaneo/kaneo/compare/v2.16.1...v2.16.2) (2026-08-10)
##### Bug Fixes
- **ci:** failure in ci after fix ([4a24d74](https://github.com/usekaneo/kaneo/commit/4a24d74b261222c008576c2e3044b24ea551fc4c))
- **gitea-integration:** handle invalid JSON from non-Gitea URLs ([097aedd](https://github.com/usekaneo/kaneo/commit/097aeddbdc80e812d14f5c7241c6575b6fbcf0a6))
- **gitea-integration:** structured failure response and test coverage ([49eac38](https://github.com/usekaneo/kaneo/commit/49eac382cc8f8e1875ef46ea75cdce52651ee298))
- **gitea:** classify /user 404 as not-a-gitea-instance ([364f5e3](https://github.com/usekaneo/kaneo/commit/364f5e373ea8947a7436e114be89875723b815c2))
- **pr:** responding to AI pr reviews ([cb2f333](https://github.com/usekaneo/kaneo/commit/cb2f3337d513979ff845ee3b39d7c68dd412bda3))
- **task:** validate assignee existence on task creation ([b0133ee](https://github.com/usekaneo/kaneo/commit/b0133ee01b03b838ffdc7a1765ceb1a80b438233))
- **web:** avoid nested buttons in alert dialog footers ([16481e3](https://github.com/usekaneo/kaneo/commit/16481e3bb98fba4f6de15d26a8917bee02efa2f4))
- **web:** handle unhandled promise rejection from authClient.getSession() ([494f1fb](https://github.com/usekaneo/kaneo/commit/494f1fbc90290636d77c6b1f3fae07b2112a255b))
- **web:** preserve full location in auth redirect ([a277274](https://github.com/usekaneo/kaneo/commit/a2772742e0059a1c884661c651ba6a369af779ff))
- **web:** prevent TypeError when relatedTarget is not an Element ([51131c1](https://github.com/usekaneo/kaneo/commit/51131c10ebe3ad19da5a24b4c3bce996ca139723))
#### [2.16.1](https://github.com/usekaneo/kaneo/compare/v2.16.0...v2.16.1) (2026-08-09)
##### Bug Fixes
- address placeholder cleanup reviews ([dee61c1](https://github.com/usekaneo/kaneo/commit/dee61c13c918deddb03545f3ef525573870ac9bf))
- strip quoted runtime placeholders ([f983f34](https://github.com/usekaneo/kaneo/commit/f983f34e3ccb3bd0ccc85655b6cfaa2ae6463712))
### [`v2.15.0`](https://github.com/usekaneo/kaneo/releases/tag/v2.15.0)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.14.0...v2.15.0)
**Full Changelog**: <https://github.com/usekaneo/kaneo/compare/v2.14.0...v2.15.0>
### [`v2.14.0`](https://github.com/usekaneo/kaneo/releases/tag/v2.14.0)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.13.2...v2.14.0)
#### What's Changed
- fix(helm): set postgresql Deployment update strategy to Recreate by [@​randoneering](https://github.com/randoneering) in [#​1515](https://github.com/usekaneo/kaneo/pull/1515)
- feat(i18n): add Brazilian Portuguese (pt-BR) locale by [@​OFFsaber](https://github.com/OFFsaber) in [#​1506](https://github.com/usekaneo/kaneo/pull/1506)
#### New Contributors
- [@​OFFsaber](https://github.com/OFFsaber) made their first contribution in [#​1506](https://github.com/usekaneo/kaneo/pull/1506)
**Full Changelog**: <https://github.com/usekaneo/kaneo/compare/v2.13.2...v2.14.0>
### [`v2.13.2`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2140-2026-08-07)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.13.1...v2.13.2)
##### Bug Fixes
- **helm:** set postgresql Deployment update strategy to Recreate ([01511cd](https://github.com/usekaneo/kaneo/commit/01511cdca82feab527136a6ab3690b9757990c4b))
- **i18n:** complete translations for all locales ([bea10b2](https://github.com/usekaneo/kaneo/commit/bea10b219f413eb9b41a6e7d8cd79ead0ab1b78b))
- **i18n:** use pt-BR copy for workspace invitation emails ([804817d](https://github.com/usekaneo/kaneo/commit/804817dd6e8f479a1cc0fdab9c3065c8d539ccc8))
##### Features
- **i18n:** add Brazilian Portuguese (pt-BR) locale ([fb656d4](https://github.com/usekaneo/kaneo/commit/fb656d42258acdf0b21e4d67229b7f39d0fe8120))
#### [2.13.2](https://github.com/usekaneo/kaneo/compare/v2.13.1...v2.13.2) (2026-08-07)
##### Features
- **api:** tag Sentry events with the app release ([33270e3](https://github.com/usekaneo/kaneo/commit/33270e37a76e8507eb358c59fa58a81425683c90))
#### [2.13.1](https://github.com/usekaneo/kaneo/compare/v2.13.0...v2.13.1) (2026-08-07)
##### Bug Fixes
- **deps:** drop the next override so the site really gets next 16 ([a3ee7ad](https://github.com/usekaneo/kaneo/commit/a3ee7ad553cc425ec445f90331a14cff0a176c36))
- **deps:** patch 16 disclosed advisories through the overrides ([39fc9fc](https://github.com/usekaneo/kaneo/commit/39fc9fc1edaf59467c0d329083e607e6316431ab))
- **deps:** sync lockfile with the babel override ([c5e74f0](https://github.com/usekaneo/kaneo/commit/c5e74f0deed7571fe5284dc16a6a35e4eb434753))
- **mcp:** cap pending OAuth authorization requests ([3da2ac5](https://github.com/usekaneo/kaneo/commit/3da2ac5f31bfdc60b20f96c624e747f1271b5403))
- **mcp:** correct the docs URL in package metadata ([c4427a6](https://github.com/usekaneo/kaneo/commit/c4427a6d5283202ded926e22d8e3f4b4004df4b9))
- **web:** correct link to the API reference in the nav menu ([e8f8f8a](https://github.com/usekaneo/kaneo/commit/e8f8f8a35e65324ea2e68c96c194b3032c3c9099))
- **web:** stop warning about due dates on completed tasks ([3f3dd13](https://github.com/usekaneo/kaneo/commit/3f3dd1360bad21b5121d04494282f682d02e1b50)), closes [#​1465](https://github.com/usekaneo/kaneo/issues/1465)
- **web:** use Shiki's JavaScript regex engine to avoid WebAssembly ([09fb5d4](https://github.com/usekaneo/kaneo/commit/09fb5d446d687d3383e8006d9f15243832d4a252))
##### Features
- add web Sentry SDK with session replay and opt-in API tracing ([284d78b](https://github.com/usekaneo/kaneo/commit/284d78b352640025859bcb4bcc708b6815b7753b))
### [`v2.13.1`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2140-2026-08-07)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.13.0...v2.13.1)
##### Bug Fixes
- **helm:** set postgresql Deployment update strategy to Recreate ([01511cd](https://github.com/usekaneo/kaneo/commit/01511cdca82feab527136a6ab3690b9757990c4b))
- **i18n:** complete translations for all locales ([bea10b2](https://github.com/usekaneo/kaneo/commit/bea10b219f413eb9b41a6e7d8cd79ead0ab1b78b))
- **i18n:** use pt-BR copy for workspace invitation emails ([804817d](https://github.com/usekaneo/kaneo/commit/804817dd6e8f479a1cc0fdab9c3065c8d539ccc8))
##### Features
- **i18n:** add Brazilian Portuguese (pt-BR) locale ([fb656d4](https://github.com/usekaneo/kaneo/commit/fb656d42258acdf0b21e4d67229b7f39d0fe8120))
#### [2.13.2](https://github.com/usekaneo/kaneo/compare/v2.13.1...v2.13.2) (2026-08-07)
##### Features
- **api:** tag Sentry events with the app release ([33270e3](https://github.com/usekaneo/kaneo/commit/33270e37a76e8507eb358c59fa58a81425683c90))
#### [2.13.1](https://github.com/usekaneo/kaneo/compare/v2.13.0...v2.13.1) (2026-08-07)
##### Bug Fixes
- **deps:** drop the next override so the site really gets next 16 ([a3ee7ad](https://github.com/usekaneo/kaneo/commit/a3ee7ad553cc425ec445f90331a14cff0a176c36))
- **deps:** patch 16 disclosed advisories through the overrides ([39fc9fc](https://github.com/usekaneo/kaneo/commit/39fc9fc1edaf59467c0d329083e607e6316431ab))
- **deps:** sync lockfile with the babel override ([c5e74f0](https://github.com/usekaneo/kaneo/commit/c5e74f0deed7571fe5284dc16a6a35e4eb434753))
- **mcp:** cap pending OAuth authorization requests ([3da2ac5](https://github.com/usekaneo/kaneo/commit/3da2ac5f31bfdc60b20f96c624e747f1271b5403))
- **mcp:** correct the docs URL in package metadata ([c4427a6](https://github.com/usekaneo/kaneo/commit/c4427a6d5283202ded926e22d8e3f4b4004df4b9))
- **web:** correct link to the API reference in the nav menu ([e8f8f8a](https://github.com/usekaneo/kaneo/commit/e8f8f8a35e65324ea2e68c96c194b3032c3c9099))
- **web:** stop warning about due dates on completed tasks ([3f3dd13](https://github.com/usekaneo/kaneo/commit/3f3dd1360bad21b5121d04494282f682d02e1b50)), closes [#​1465](https://github.com/usekaneo/kaneo/issues/1465)
- **web:** use Shiki's JavaScript regex engine to avoid WebAssembly ([09fb5d4](https://github.com/usekaneo/kaneo/commit/09fb5d446d687d3383e8006d9f15243832d4a252))
##### Features
- add web Sentry SDK with session replay and opt-in API tracing ([284d78b](https://github.com/usekaneo/kaneo/commit/284d78b352640025859bcb4bcc708b6815b7753b))
### [`v2.13.0`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2140-2026-08-07)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.12.2...v2.13.0)
##### Bug Fixes
- **helm:** set postgresql Deployment update strategy to Recreate ([01511cd](https://github.com/usekaneo/kaneo/commit/01511cdca82feab527136a6ab3690b9757990c4b))
- **i18n:** complete translations for all locales ([bea10b2](https://github.com/usekaneo/kaneo/commit/bea10b219f413eb9b41a6e7d8cd79ead0ab1b78b))
- **i18n:** use pt-BR copy for workspace invitation emails ([804817d](https://github.com/usekaneo/kaneo/commit/804817dd6e8f479a1cc0fdab9c3065c8d539ccc8))
##### Features
- **i18n:** add Brazilian Portuguese (pt-BR) locale ([fb656d4](https://github.com/usekaneo/kaneo/commit/fb656d42258acdf0b21e4d67229b7f39d0fe8120))
#### [2.13.2](https://github.com/usekaneo/kaneo/compare/v2.13.1...v2.13.2) (2026-08-07)
##### Features
- **api:** tag Sentry events with the app release ([33270e3](https://github.com/usekaneo/kaneo/commit/33270e37a76e8507eb358c59fa58a81425683c90))
#### [2.13.1](https://github.com/usekaneo/kaneo/compare/v2.13.0...v2.13.1) (2026-08-07)
##### Bug Fixes
- **deps:** drop the next override so the site really gets next 16 ([a3ee7ad](https://github.com/usekaneo/kaneo/commit/a3ee7ad553cc425ec445f90331a14cff0a176c36))
- **deps:** patch 16 disclosed advisories through the overrides ([39fc9fc](https://github.com/usekaneo/kaneo/commit/39fc9fc1edaf59467c0d329083e607e6316431ab))
- **deps:** sync lockfile with the babel override ([c5e74f0](https://github.com/usekaneo/kaneo/commit/c5e74f0deed7571fe5284dc16a6a35e4eb434753))
- **mcp:** cap pending OAuth authorization requests ([3da2ac5](https://github.com/usekaneo/kaneo/commit/3da2ac5f31bfdc60b20f96c624e747f1271b5403))
- **mcp:** correct the docs URL in package metadata ([c4427a6](https://github.com/usekaneo/kaneo/commit/c4427a6d5283202ded926e22d8e3f4b4004df4b9))
- **web:** correct link to the API reference in the nav menu ([e8f8f8a](https://github.com/usekaneo/kaneo/commit/e8f8f8a35e65324ea2e68c96c194b3032c3c9099))
- **web:** stop warning about due dates on completed tasks ([3f3dd13](https://github.com/usekaneo/kaneo/commit/3f3dd1360bad21b5121d04494282f682d02e1b50)), closes [#​1465](https://github.com/usekaneo/kaneo/issues/1465)
- **web:** use Shiki's JavaScript regex engine to avoid WebAssembly ([09fb5d4](https://github.com/usekaneo/kaneo/commit/09fb5d446d687d3383e8006d9f15243832d4a252))
##### Features
- add web Sentry SDK with session replay and opt-in API tracing ([284d78b](https://github.com/usekaneo/kaneo/commit/284d78b352640025859bcb4bcc708b6815b7753b))
### [`v2.12.2`](https://github.com/usekaneo/kaneo/blob/HEAD/CHANGELOG.md#2130-2026-08-05)
[Compare Source](https://github.com/usekaneo/kaneo/compare/v2.12.1...v2.12.2)
##### Bug Fixes
- **api:** block SSRF through the Gitea integration endpoints ([26ae20f](https://github.com/usekaneo/kaneo/commit/26ae20fff617f6dc28fe8d6ec26066c05ad4656b))
- **api:** reject traversal in finalized task image keys ([704daeb](https://github.com/usekaneo/kaneo/commit/704daeb43c1d4299f2320fb11cf2f297ab192aab))
- **api:** stop reflecting arbitrary origins in production ([99571c9](https://github.com/usekaneo/kaneo/commit/99571c9a4e14abfd0af55137524649897c6270df))
- **api:** stop returning integration secrets from the external-link route ([3ac5aa9](https://github.com/usekaneo/kaneo/commit/3ac5aa97fd73c930196952eeb0b2fdfd9925ab54))
- **gitea:** record the external link before publishing task.created ([2d5447a](https://github.com/usekaneo/kaneo/commit/2d5447ab0ccbaf196eae773d310152d155ed2614)), closes [#​1393](https://github.com/usekaneo/kaneo/issues/1393)
- **github:** comment the task link on issues created from Kaneo ([dc31480](https://github.com/usekaneo/kaneo/commit/dc31480a1e22860d9064e9f6dee9bb40b3965efa)), closes [#​1406](https://github.com/usekaneo/kaneo/issues/1406)
- **mcp:** bind streamable sessions to the user that created them ([86ee7fc](https://github.com/usekaneo/kaneo/commit/86ee7fca64b5a54a34710ae2f3162b5099d6aabf))
- **mcp:** store OAuth state in Postgres so multiple replicas work ([18ad8f5](https://github.com/usekaneo/kaneo/commit/18ad8f533591305cccf001ab1d519d0a3c922af0)), closes [#​1484](https://github.com/usekaneo/kaneo/issues/1484)
- **web:** reject non-http URLs in attachment and issue-link nodes ([700da1b](https://github.com/usekaneo/kaneo/commit/700da1b2cef45da57b3a515df250e12977216b9f))
- **web:** show language names without region in the locale picker ([5540043](https://github.com/usekaneo/kaneo/commit/554004305d7081c76057e4b9eb14f9f124519e8f))
##### Features
- **web:** pick a project in the create-task modal when none is in scope ([7d20a3f](https://github.com/usekaneo/kaneo/commit/7d20a3fc5349944c3468e2e7afefebdc51c27d2f)), closes [#​1418](https://github.com/usekaneo/kaneo/issues/1418)
##### Performance Improvements
- **web:** render list and backlog rows from the task payload ([6fc3f44](https://github.com/usekaneo/kaneo/commit/6fc3f44fb8566c6b76109dec06aa9b1df6a99cc1)), closes [#​1475](https://github.com/usekaneo/kaneo/issues/1475) [#​1422](https://github.com/usekaneo/kaneo/issues/1422)
#### [2.12.2](https://github.com/usekaneo/kaneo/compare/v2.12.1...v2.12.2) (2026-08-04)
##### Bug Fixes
- add date validation for task create/update to prevent Invalid Date in DB ([e968adf](https://github.com/usekaneo/kaneo/commit/e968adfe55324adaba2c5f7647f992c3e2e100d3))
- address code review feedback for date validation ([1236ab9](https://github.com/usekaneo/kaneo/commit/1236ab9786994e1d2bac0f0f96c4c046b2046f18))
- **api:** coderabbit nitpick ([019ac9e](https://github.com/usekaneo/kaneo/commit/019ac9eed6c32aa10970e6281054745cea75d554))
- **api:** coderabbit/qodo reviews ([22f6f8f](https://github.com/usekaneo/kaneo/commit/22f6f8fc253caa09b3b7b28f2283b54516b536f4))
- **api:** github install and label detachment bug ([6cb3748](https://github.com/usekaneo/kaneo/commit/6cb37485ce62a7fdd3f401eeb332472838eb2405))
- **api:** resolve bugs in api tests ([f62789c](https://github.com/usekaneo/kaneo/commit/f62789c67c6de71d7d678ac56ea1da0dbc6e4374))
- **api:** scope task aggregates by workspace join instead of project ID list ([ffb6bc6](https://github.com/usekaneo/kaneo/commit/ffb6bc6b7fbe9188cf1239ac838b12f18cd97f67))
- **api:** stop embedding task rows in the project list response ([7771d46](https://github.com/usekaneo/kaneo/commit/7771d46c57fbec33bd098bfacbac2dd3cad8570e)), closes [#​1037](https://github.com/usekaneo/kaneo/issues/1037)
- apply triage follow-ups for [#​1461](https://github.com/usekaneo/kaneo/issues/1461), [#​1464](https://github.com/usekaneo/kaneo/issues/1464) and [#​1470](https://github.com/usekaneo/kaneo/issues/1470) ([a41e38d](https://github.com/usekaneo/kaneo/commit/a41e38d4df2d807e52191641951e151c3f2deb32))
- **auth:** let invited users without an account register ([1e55596](https://github.com/usekaneo/kaneo/commit/1e55596677ce177826fdf06b3cfb42883fad4598)), closes [#​1474](https://github.com/usekaneo/kaneo/issues/1474)
- **ci:** registry description limit and idempotent MCP Registry publish ([1dea775](https://github.com/usekaneo/kaneo/commit/1dea7753087894c1fdf8931ffb72124fe2fd2fab))
- complete all 1598 translation keys for Hindi locale ([134317e](https://github.com/usekaneo/kaneo/commit/134317e0fdf0537821162cd5892c155a3f084584))
- CVE-2026-69192 security vulnerability ([d3aef28](https://github.com/usekaneo/kaneo/commit/d3aef283c98699a486f2109bdceda2a069217740))
- **deps:** align the better-auth override with 1.6.25 ([7db4dbb](https://github.com/usekaneo/kaneo/commit/7db4dbbe3941a7aea78089782e1f7bd2bbeda12e))
- **deps:** bump next to 15.5.21 to patch 8 disclosed advisories ([1eb3e51](https://github.com/usekaneo/kaneo/commit/1eb3e519adffd6e54d058c78e0fef29a696b08a5))
- **deps:** raise next override floor to 15.5.21 so the bump actually resolves ([702483d](https://github.com/usekaneo/kaneo/commit/702483dade937d5a7f4e8b072ae735b778da88d1))
- **email:** fix Biome formatting in password-reset template ([aeb23d9](https://github.com/usekaneo/kaneo/commit/aeb23d90f740938831ec584308e7f84ef8f26234))
- **email:** stop forcing SMTP auth when no credentials are set ([e048fb4](https://github.com/usekaneo/kaneo/commit/e048fb404cbd7525c0aca47c53bc4abd61c7dd27)), closes [#​1419](https://github.com/usekaneo/kaneo/issues/1419)
- enforce bulk task permissions ([79872a3](https://github.com/usekaneo/kaneo/commit/79872a312822a96d58cf65f842f05a0d5fff4151))
- fail closed for mixed-workspace bulk tasks ([67827c4](https://github.com/usekaneo/kaneo/commit/67827c44a116af3d17fa17a13bc137960d1af9fb))
- **i18n:** translate invite-flow strings and language labels across locales ([4a82dd8](https://github.com/usekaneo/kaneo/commit/4a82dd89ad3d80bd279a3e0b71c267c1b04830a9))
- include labels in task export to prevent data loss on round-trip ([6545527](https://github.com/usekaneo/kaneo/commit/6545527979c30ff3d1fe1708cac45e248e686ffc))
- keep planned subtasks in backlog ([1f20eb9](https://github.com/usekaneo/kaneo/commit/1f20eb931e50cffcacae9367862708b809571223))
- move overrides to workspace config ([0c86e83](https://github.com/usekaneo/kaneo/commit/0c86e83fd28fe2c3fe072975f90c295784dc7022))
- persist task title activity atomically ([6a0210c](https://github.com/usekaneo/kaneo/commit/6a0210c57f06ae48dbd06a8934d96adc64dd8155))
- preserve bulk task validation responses ([a2a7672](https://github.com/usekaneo/kaneo/commit/a2a767252492fc481ca62812d04842f83559b512))
- prevent task number gaps during partial import failures ([dc45f26](https://github.com/usekaneo/kaneo/commit/dc45f26915f4458d7062fe8f90b0448dc3b2be1c))
- **project:** allow one-character names and keys ([5c8390e](https://github.com/usekaneo/kaneo/commit/5c8390e9af8f7dd49576dc14cdc51238d3543e95))
- resolve all TypeScript errors across api and web ([b49fb25](https://github.com/usekaneo/kaneo/commit/b49fb25092fe424acf2404aae8b0b96d240c28de))
- resolve workspace access from the id the handler acts on ([d0570ee](https://github.com/usekaneo/kaneo/commit/d0570ee9a98cbe7ed4ce1d139e40f8d25fc338e7))
- serve public-project assets to anonymous callers ([a483bd4](https://github.com/usekaneo/kaneo/commit/a483bd46341d7cc395de6a0d33cdac4c501abe7f))
- **tests:** update label test ([92f5aa7](https://github.com/usekaneo/kaneo/commit/92f5aa73d2651c972703e3192540b20d034878b1))
- translate remaining externalLinks.issue and branch keys to Hindi ([82f8883](https://github.com/usekaneo/kaneo/commit/82f888379768028d064430bb7d7c7d4bb8e8da12))
- wait for subtask status columns ([3a61705](https://github.com/usekaneo/kaneo/commit/3a6170546bb6108dbd89ad4ce8aab7233ba3d683))
- **web:** guard nullable task identifiers ([1c7366b](https://github.com/usekaneo/kaneo/commit/1c7366bb658b6c6505538507d4192b70033e7188))
- **web:** restore ResizeObserver stub and correct invite-flow comment ([e473a41](https://github.com/usekaneo/kaneo/commit/e473a4137777e5c5819681dd1a42a492751730f5))
- **web:** search tasks by issue identifier ([4c4ccf1](https://github.com/usekaneo/kaneo/commit/4c4ccf17e7a487a40aea9cae039daa29e6275642))
##### Features
- add Hindi (hi-IN) locale translation ([f837beb](https://github.com/usekaneo/kaneo/commit/f837beb3f073751c83671443bb97f2b707b65b76))
- add zh-CN locale ([8c210b9](https://github.com/usekaneo/kaneo/commit/8c210b92b3245afb59c8522bb1e92e6b84899a7b))
- **i18n:** add Italian (it-IT) translation ([9d7d327](https://github.com/usekaneo/kaneo/commit/9d7d32781c43302d60d73090f104ac10117b2cf9))
- **i18n:** add Vietnamese (vi-VN) locale ([c698c6c](https://github.com/usekaneo/kaneo/commit/c698c6c46bba10a7f2348286ecaaef37877afda1))
- **mcp:** publish to the official MCP Registry ([a34711e](https://github.com/usekaneo/kaneo/commit/a34711eb1aa63f64a67e428873ffb53e9563318e))
- **web:** add invitation link and clipboard helpers ([8b7d01e](https://github.com/usekaneo/kaneo/commit/8b7d01eb730e39e2d3da5074a6a954f8a1d6677d))
- **web:** surface the workspace invitation link in the UI ([e81c1c7](https://github.com/usekaneo/kaneo/commit/e81c1c738e5632ca0aa4238fd0cb57eaa9704fe0))
##### Performance Improvements
- **web:** avoid per-task kanban metadata requests ([990d70e](https://github.com/usekaneo/kaneo/commit/990d70ef634014e271206aaf2aca2c8a09828e23))
#### [2.12.1](https://github.com/usekaneo/kaneo/compare/v2.12.0...v2.12.1) (2026-07-30)
##### Features
- **site:** add Jira, Trello, and Linear comparison pages for SEO ([f282e1f](https://github.com/usekaneo/kaneo/commit/f282e1f81d60a2823cc232ceaad1edbe87a7b80b))
- switch Cloud pricing to USD and replace Product Hunt button with Pricing ([3db23c9](https://github.com/usekaneo/kaneo/commit/3db23c972fffe736b37b1753de80af353e22c3a8))
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNC4zIiwidXBkYXRlZEluVmVyIjoiNDQuMzUuMiIsInRhcmdldEJyYW5jaCI6ImZyZXNoLXN0YXJ0IiwibGFiZWxzIjpbXX0=-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
v2.12.1→v2.20.0Release Notes
usekaneo/kaneo (kaneo)
v2.20.0Compare Source
What's Changed
Full Changelog: https://github.com/usekaneo/kaneo/compare/v2.19.1...v2.20.0
v2.19.1Compare Source
Bug Fixes
Features
2.19.1 (2026-08-15)
Bug Fixes
v2.19.0Compare Source
Bug Fixes
Features
2.19.1 (2026-08-15)
Bug Fixes
v2.18.0Compare Source
Full Changelog: https://github.com/usekaneo/kaneo/compare/v2.17.6...v2.18.0
v2.17.6Compare Source
Bug Fixes
Features
2.17.6 (2026-08-11)
Bug Fixes
2.17.5 (2026-08-11)
Bug Fixes
2.17.4 (2026-08-11)
Bug Fixes
2.17.3 (2026-08-11)
Bug Fixes
Features
2.17.2 (2026-08-11)
Bug Fixes
Features
2.17.1 (2026-08-10)
Bug Fixes
v2.17.5Compare Source
Bug Fixes
Features
2.17.6 (2026-08-11)
Bug Fixes
2.17.5 (2026-08-11)
Bug Fixes
2.17.4 (2026-08-11)
Bug Fixes
2.17.3 (2026-08-11)
Bug Fixes
Features
2.17.2 (2026-08-11)
Bug Fixes
Features
2.17.1 (2026-08-10)
Bug Fixes
v2.17.4Compare Source
Bug Fixes
Features
2.17.6 (2026-08-11)
Bug Fixes
2.17.5 (2026-08-11)
Bug Fixes
2.17.4 (2026-08-11)
Bug Fixes
2.17.3 (2026-08-11)
Bug Fixes
Features
2.17.2 (2026-08-11)
Bug Fixes
Features
2.17.1 (2026-08-10)
Bug Fixes
v2.17.3Compare Source
Bug Fixes
Features
2.17.6 (2026-08-11)
Bug Fixes
2.17.5 (2026-08-11)
Bug Fixes
2.17.4 (2026-08-11)
Bug Fixes
2.17.3 (2026-08-11)
Bug Fixes
Features
2.17.2 (2026-08-11)
Bug Fixes
Features
2.17.1 (2026-08-10)
Bug Fixes
v2.17.2Compare Source
Bug Fixes
Features
2.17.6 (2026-08-11)
Bug Fixes
2.17.5 (2026-08-11)
Bug Fixes
2.17.4 (2026-08-11)
Bug Fixes
2.17.3 (2026-08-11)
Bug Fixes
Features
2.17.2 (2026-08-11)
Bug Fixes
Features
2.17.1 (2026-08-10)
Bug Fixes
v2.17.1Compare Source
Bug Fixes
Features
2.17.6 (2026-08-11)
Bug Fixes
2.17.5 (2026-08-11)
Bug Fixes
2.17.4 (2026-08-11)
Bug Fixes
2.17.3 (2026-08-11)
Bug Fixes
Features
2.17.2 (2026-08-11)
Bug Fixes
Features
2.17.1 (2026-08-10)
Bug Fixes
v2.17.0Compare Source
Bug Fixes
Features
2.17.6 (2026-08-11)
Bug Fixes
2.17.5 (2026-08-11)
Bug Fixes
2.17.4 (2026-08-11)
Bug Fixes
2.17.3 (2026-08-11)
Bug Fixes
Features
2.17.2 (2026-08-11)
Bug Fixes
Features
2.17.1 (2026-08-10)
Bug Fixes
v2.16.4Compare Source
Bug Fixes
Features
2.16.4 (2026-08-10)
Bug Fixes
2.16.3 (2026-08-10)
Bug Fixes
2.16.2 (2026-08-10)
Bug Fixes
2.16.1 (2026-08-09)
Bug Fixes
v2.16.3Compare Source
Bug Fixes
Features
2.16.4 (2026-08-10)
Bug Fixes
2.16.3 (2026-08-10)
Bug Fixes
2.16.2 (2026-08-10)
Bug Fixes
2.16.1 (2026-08-09)
Bug Fixes
v2.16.2Compare Source
Bug Fixes
Features
2.16.4 (2026-08-10)
Bug Fixes
2.16.3 (2026-08-10)
Bug Fixes
2.16.2 (2026-08-10)
Bug Fixes
2.16.1 (2026-08-09)
Bug Fixes
v2.16.1Compare Source
Bug Fixes
Features
2.16.4 (2026-08-10)
Bug Fixes
2.16.3 (2026-08-10)
Bug Fixes
2.16.2 (2026-08-10)
Bug Fixes
2.16.1 (2026-08-09)
Bug Fixes
v2.16.0Compare Source
Bug Fixes
Features
2.16.4 (2026-08-10)
Bug Fixes
2.16.3 (2026-08-10)
Bug Fixes
2.16.2 (2026-08-10)
Bug Fixes
2.16.1 (2026-08-09)
Bug Fixes
v2.15.0Compare Source
Full Changelog: https://github.com/usekaneo/kaneo/compare/v2.14.0...v2.15.0
v2.14.0Compare Source
What's Changed
New Contributors
Full Changelog: https://github.com/usekaneo/kaneo/compare/v2.13.2...v2.14.0
v2.13.2Compare Source
Bug Fixes
Features
2.13.2 (2026-08-07)
Features
2.13.1 (2026-08-07)
Bug Fixes
Features
v2.13.1Compare Source
Bug Fixes
Features
2.13.2 (2026-08-07)
Features
2.13.1 (2026-08-07)
Bug Fixes
Features
v2.13.0Compare Source
Bug Fixes
Features
2.13.2 (2026-08-07)
Features
2.13.1 (2026-08-07)
Bug Fixes
Features
v2.12.2Compare Source
Bug Fixes
Features
Performance Improvements
2.12.2 (2026-08-04)
Bug Fixes
Features
Performance Improvements
2.12.1 (2026-07-30)
Features
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.
c0d885eddatod1c00dafebUpdate dependency kaneo to v2.13.0to Update dependency kaneo to v2.14.0Update dependency kaneo to v2.14.0to Update dependency kaneo to v2.15.0d1c00dafebtoa434cf666dUpdate dependency kaneo to v2.15.0to Update dependency kaneo to v2.16.1a434cf666dto047d5591b0047d5591b0toac8e6095b8Update dependency kaneo to v2.16.1to Update dependency kaneo to v2.17.1ac8e6095b8to8780a119c4Update dependency kaneo to v2.17.1to Update dependency kaneo to v2.17.68780a119c4to57d9d9060cUpdate dependency kaneo to v2.17.6to Update dependency kaneo to v2.18.057d9d9060ctod22ffe7546Update dependency kaneo to v2.18.0to Update dependency kaneo to v2.19.1d22ffe7546to851a2096e3Update dependency kaneo to v2.19.1to Update dependency kaneo to v2.20.0