| v15.5.0 | ## [15.5.0](https://github.com/doublewordai/control-layer/compare/v15.4.0...v15.5.0) (2026-10-23) ### Features * **dwctl:** count upload refusals by code and measure decode-slot waits ([#2096](https://github.com/doublewordai/control-layer/issues/2096)) ([a901412](https://github.com/doublewordai/control-layer/commit/a9014125a4b21b2b0f1b750da53673bb02218d4c)) ### Bug Fixes * **deps:** update rust crate aes-gcm to 0.11.0 ([#2091](https://github.com/doublewordai/control-layer/issues/2091)) ([b | High | 10/23/2026 |
| v15.2.0 | ## [15.2.0](https://github.com/doublewordai/control-layer/compare/v15.1.0...v15.2.0) (2026-10-21) ### Features * per-model and per-class toleration presets in account files ([#2081](https://github.com/doublewordai/control-layer/issues/2081)) ([d916973](https://github.com/doublewordai/control-layer/commit/d916973cd77971e79e7088edbc4a3d46b90fd1a0)) | High | 10/21/2026 |
| v14.4.0 | ## [14.4.0](https://github.com/doublewordai/control-layer/compare/v14.3.1...v14.4.0) (2026-10-20) ### Features * **analytics:** record client disconnects on streamed responses ([#2018](https://github.com/doublewordai/control-layer/issues/2018)) ([5dc99eb](https://github.com/doublewordai/control-layer/commit/5dc99ebb20abe9acbef814d1b5d662b7f2c1ecf4)) * **api:** expose model pricing to inference keys ([#2050](https://github.com/doublewordai/control-layer/issues/2050)) ([f9b536a](https://github. | High | 10/20/2026 |
| v14.3.1 | ## [14.3.1](https://github.com/doublewordai/control-layer/compare/v14.3.0...v14.3.1) (2026-10-19) ### Bug Fixes * **analytics:** restore custom ID index ([#2011](https://github.com/doublewordai/control-layer/issues/2011)) ([81a9465](https://github.com/doublewordai/control-layer/commit/81a9465bb291c9bc2121e5092b69de6bab836068)) * **connections:** release API key on deletion ([#2015](https://github.com/doublewordai/control-layer/issues/2015)) ([c13638b](https://github.com/doublewordai/control-l | High | 10/19/2026 |
| v14.2.0 | ## [14.2.0](https://github.com/doublewordai/control-layer/compare/v14.1.0...v14.2.0) (2026-10-15) ### Features * **metrics:** the credits metric names the model that served each request ([#1987](https://github.com/doublewordai/control-layer/issues/1987)) ([589a262](https://github.com/doublewordai/control-layer/commit/589a26284dd77d8b00cc9a5ff3f138bd44121ff8)) * **tracing:** customer attributes on request and batch spans ([#1972](https://github.com/doublewordai/control-layer/issues/1972)) ([60 | High | 10/15/2026 |
| v14.0.1 | ## [14.0.1](https://github.com/doublewordai/control-layer/compare/v14.0.0...v14.0.1) (2026-10-13) ### Bug Fixes * **fusillade:** index batches that finished after their deadline ([#1969](https://github.com/doublewordai/control-layer/issues/1969)) ([04beeb4](https://github.com/doublewordai/control-layer/commit/04beeb4760a6cca460091c67ac9119ea598100e7)) * **responses:** preserve prior input in continuations ([#1964](https://github.com/doublewordai/control-layer/issues/1964)) ([e299065](https:// | High | 10/13/2026 |
| v13.7.0 | ## [13.7.0](https://github.com/doublewordai/control-layer/compare/v13.6.0...v13.7.0) (2026-10-10) ### Features * **limits:** name the account and report its limit on in-flight metrics ([#1958](https://github.com/doublewordai/control-layer/issues/1958)) ([72c6e97](https://github.com/doublewordai/control-layer/commit/72c6e974d435a20ed5cd36f977016434b3b7be4b)) | High | 10/10/2026 |
| v13.5.0 | ## [13.5.0](https://github.com/doublewordai/control-layer/compare/v13.4.3...v13.5.0) (2026-10-09) ### Features * **zdr:** encrypt images at rest for zero-data-retention requests ([#1953](https://github.com/doublewordai/control-layer/issues/1953)) ([f63e795](https://github.com/doublewordai/control-layer/commit/f63e795fc79f4871b4b85f6fc7d9cc57c0752e4b)) | High | 10/9/2026 |
| v13.4.2 | ## [13.4.2](https://github.com/doublewordai/control-layer/compare/v13.4.1...v13.4.2) (2026-10-08) ### Bug Fixes * **limits:** retry in-flight Redis reconnects every second ([#1946](https://github.com/doublewordai/control-layer/issues/1946)) ([39af83c](https://github.com/doublewordai/control-layer/commit/39af83ccdfccc1677749dc3eacfa214d6a3a2beb)) | High | 10/8/2026 |
| v13.3.1 | ## [13.3.1](https://github.com/doublewordai/control-layer/compare/v13.3.0...v13.3.1) (2026-10-08) ### Bug Fixes * write new request templates to generation two ([6c26427](https://github.com/doublewordai/control-layer/commit/6c264272d0f301f810e06af2a6a65531fc86880f)) | High | 10/8/2026 |
| v13.1.2 | ## [13.1.2](https://github.com/doublewordai/control-layer/compare/v13.1.1...v13.1.2) (2026-10-07) ### Bug Fixes * preserve JSON key order in forwarded request bodies ([#1930](https://github.com/doublewordai/control-layer/issues/1930)) ([a8721a8](https://github.com/doublewordai/control-layer/commit/a8721a8ca8886b2437648131488a833e9461be0f)) * set TCP_NODELAY on gateway sockets ([#1931](https://github.com/doublewordai/control-layer/issues/1931)) ([909a27e](https://github.com/doublewordai/contro | High | 10/7/2026 |
| v12.11.3 | ## [12.11.3](https://github.com/doublewordai/control-layer/compare/v12.11.2...v12.11.3) (2026-10-03) ### Bug Fixes * **onwards:** answer every capacity refusal with 529 and Retry-After ([#1913](https://github.com/doublewordai/control-layer/issues/1913)) ([8ca5e6d](https://github.com/doublewordai/control-layer/commit/8ca5e6d4802ebc0e3fe85802d35c7dffd06680d4)) | High | 10/3/2026 |
| v12.11.0 | ## [12.11.0](https://github.com/doublewordai/control-layer/compare/v12.10.1...v12.11.0) (2026-10-02) ### Features * **catalog:** stage model class routes and public class pricing ([#1902](https://github.com/doublewordai/control-layer/issues/1902)) ([62693eb](https://github.com/doublewordai/control-layer/commit/62693eb52a7e3b182b636a968e2940331884a8a4)) ### Continuous Integration * pin every workflow to Rust 1.99.0 ([#1904](https://github.com/doublewordai/control-layer/issues/1904)) ([44863 | High | 10/2/2026 |
| v12.8.0 | ## [12.8.0](https://github.com/doublewordai/control-layer/compare/v12.7.4...v12.8.0) (2026-10-01) ### Features * **onwards:** conversation affinity for priority pools ([#1892](https://github.com/doublewordai/control-layer/issues/1892)) ([b2ff624](https://github.com/doublewordai/control-layer/commit/b2ff624480cade3f985b1a02045304add2339705)) | High | 10/1/2026 |
| v12.7.1 | ## [12.7.1](https://github.com/doublewordai/control-layer/compare/v12.7.0...v12.7.1) (2026-09-30) ### Bug Fixes * **prompt-cache:** skip negligible TTL refreshes so a hot prefix cannot queue on one row ([#1869](https://github.com/doublewordai/control-layer/issues/1869)) ([69849f0](https://github.com/doublewordai/control-layer/commit/69849f08e807be01a87ca678b124859de26496bd)) | High | 9/30/2026 |
| v12.6.3 | ## [12.6.3](https://github.com/doublewordai/control-layer/compare/v12.6.2...v12.6.3) (2026-09-28) ### Bug Fixes * debounce config notifications after reload completion ([#1856](https://github.com/doublewordai/control-layer/issues/1856)) ([5cf22c5](https://github.com/doublewordai/control-layer/commit/5cf22c5cf115cd8d3dcb8881bf55a223ab2b6845)) | High | 9/28/2026 |
| v12.6.2 | ## [12.6.2](https://github.com/doublewordai/control-layer/compare/v12.6.1...v12.6.2) (2026-09-25) ### Bug Fixes * show organization display names in pricing selector ([#1855](https://github.com/doublewordai/control-layer/issues/1855)) ([5ed9e3b](https://github.com/doublewordai/control-layer/commit/5ed9e3b575951d1822b6de86cebff345d6d0bc02)) | High | 9/25/2026 |
| v12.6.1 | ## [12.6.1](https://github.com/doublewordai/control-layer/compare/v12.6.0...v12.6.1) (2026-09-25) ### Bug Fixes * **image-normalizer:** re-upload dedup hits before the bucket lifecycle expires them ([#1843](https://github.com/doublewordai/control-layer/issues/1843)) ([268b3a4](https://github.com/doublewordai/control-layer/commit/268b3a48d6c2e3cb7659b8d01c84006534903068)) | High | 9/25/2026 |
| v12.3.2 | ## [12.3.2](https://github.com/doublewordai/control-layer/compare/v12.3.1...v12.3.2) (2026-09-24) ### Bug Fixes * **provisioning:** keep existing components' enabled state on startup ([#1840](https://github.com/doublewordai/control-layer/issues/1840)) ([8e0d127](https://github.com/doublewordai/control-layer/commit/8e0d1279359115c046790f310a3c47380f909c4c)) | High | 9/24/2026 |
| v12.2.2 | ## [12.2.2](https://github.com/doublewordai/control-layer/compare/v12.2.1...v12.2.2) (2026-09-22) ### Bug Fixes * Correctly handle otel tracing through onwards ([#1827](https://github.com/doublewordai/control-layer/issues/1827)) ([107d619](https://github.com/doublewordai/control-layer/commit/107d619195a55c5b0cac65801aaffad06256668a)) | High | 9/22/2026 |
| v12.2.1 | ## [12.2.1](https://github.com/doublewordai/control-layer/compare/v12.2.0...v12.2.1) (2026-09-22) ### Bug Fixes * **responses:** accept encrypted reasoning projection as a no-op ([#1829](https://github.com/doublewordai/control-layer/issues/1829)) ([87efcc3](https://github.com/doublewordai/control-layer/commit/87efcc3f19283fcfa90097d948c126d63785e217)) | High | 9/22/2026 |
| v12.1.1 | ## [12.1.1](https://github.com/doublewordai/control-layer/compare/v12.1.0...v12.1.1) (2026-09-20) ### Bug Fixes * **credits:** one payment instrument verifies one account; verification Checkout offers cards only ([#1820](https://github.com/doublewordai/control-layer/issues/1820)) ([2619b7f](https://github.com/doublewordai/control-layer/commit/2619b7fc2a494d0c4377e4dfd1546f4942df3333)) * **dashboard:** show clean error for empty-body 503/529 failures ([#1660](https://github.com/doublewordai/co | High | 9/21/2026 |
| v12.1.0 | ## [12.1.0](https://github.com/doublewordai/control-layer/compare/v12.0.1...v12.1.0) (2026-09-18) ### Features * **accounts:** add feature flags with negative-balance opt-in ([#1817](https://github.com/doublewordai/control-layer/issues/1817)) ([dc3bb30](https://github.com/doublewordai/control-layer/commit/dc3bb30e9416c1697d356ddc5fc89e3a4873d111)) ### Bug Fixes * **analytics:** checkpoint records before enrichment ([#1789](https://github.com/doublewordai/control-layer/issues/1789)) ([7ed40 | High | 9/18/2026 |
| v12.0.1 | ## [12.0.1](https://github.com/doublewordai/control-layer/compare/v12.0.0...v12.0.1) (2026-09-18) ### Bug Fixes * honor configured SSE limits in cache and continuation streams ([#1816](https://github.com/doublewordai/control-layer/issues/1816)) ([7f823cc](https://github.com/doublewordai/control-layer/commit/7f823cc299f0f227bb2e0ad5f6c4cf2a3bbd33e6)) * keep image prefix cache identity stable across flex/batch dispat… ([#1806](https://github.com/doublewordai/control-layer/issues/1806)) ([b41cf6 | High | 9/18/2026 |
| onwards-v1.2.0 | ## [1.2.0](https://github.com/doublewordai/control-layer/compare/onwards-v1.1.0...onwards-v1.2.0) (2026-09-16) ### Features * **onwards:** add default-on AIMD provider share control ([#1793](https://github.com/doublewordai/control-layer/issues/1793)) ([5e848a5](https://github.com/doublewordai/control-layer/commit/5e848a547c8f22218e3fcdd8335b3fcd7a982a1e)) | High | 9/17/2026 |
| v11.12.0 | ## [11.12.0](https://github.com/doublewordai/control-layer/compare/v11.11.0...v11.12.0) (2026-09-16) ### Features * implicit caching using engine / upstream stats ([#1781](https://github.com/doublewordai/control-layer/issues/1781)) ([7f2adb4](https://github.com/doublewordai/control-layer/commit/7f2adb4557a29c6fcc4f4ad5f1860550a1369395)) ### Bug Fixes * **analytics:** persist billing writes through outbox ([#1787](https://github.com/doublewordai/control-layer/issues/1787)) ([7896933](https: | High | 9/16/2026 |
| v11.10.1 | ## [11.10.1](https://github.com/doublewordai/control-layer/compare/v11.10.0...v11.10.1) (2026-09-14) ### Bug Fixes * preserve database result shapes and detect cached plan regressions ([#1759](https://github.com/doublewordai/control-layer/issues/1759)) ([92a4ee4](https://github.com/doublewordai/control-layer/commit/92a4ee45808f793c4018257226ba5d52d959c791)) * preserve internal cache usage for Responses billing ([#1777](https://github.com/doublewordai/control-layer/issues/1777)) ([b62f94c](htt | High | 9/14/2026 |
| v11.10.0 | ## [11.10.0](https://github.com/doublewordai/control-layer/compare/v11.9.1...v11.10.0) (2026-09-11) ### Features * add declarative model provisioning ([#1745](https://github.com/doublewordai/control-layer/issues/1745)) ([7bf0bf6](https://github.com/doublewordai/control-layer/commit/7bf0bf6260ffb5e06f4f1a5a6962c300e7228935)) | High | 9/11/2026 |
| v11.1.0 | ## [11.1.0](https://github.com/doublewordai/control-layer/compare/v11.0.2...v11.1.0) (2026-09-01) ### Features * batch model field ([#1539](https://github.com/doublewordai/control-layer/issues/1539)) ([e5813bf](https://github.com/doublewordai/control-layer/commit/e5813bfe0ca4cd84e7eec458703a1ece75852008)) | High | 9/1/2026 |
| v10.13.0 | ## [10.13.0](https://github.com/doublewordai/control-layer/compare/v10.12.0...v10.13.0) (2026-08-18) ### Features * **analytics:** record when work was submitted, not just dispatched ([#1478](https://github.com/doublewordai/control-layer/issues/1478)) ([e54f08d](https://github.com/doublewordai/control-layer/commit/e54f08d8b1e0ff0f09aa450ef4fa448ece121ba2)) * **dwctl:** default display name to email prefix instead of random words ([#1469](https://github.com/doublewordai/control-layer/issues/14 | High | 8/18/2026 |
| v10.7.2 | ## [10.7.2](https://github.com/doublewordai/control-layer/compare/v10.7.1...v10.7.2) (2026-08-05) ### Bug Fixes * hover tooltips on API key action buttons ([#1443](https://github.com/doublewordai/control-layer/issues/1443)) ([a8ecab1](https://github.com/doublewordai/control-layer/commit/a8ecab1ccf914eba2769a001ba260770e0698bb0)) | High | 8/5/2026 |
| v8.101.0 | ## [8.101.0](https://github.com/doublewordai/control-layer/compare/v8.100.0...v8.101.0) (2026-07-23) ### Features * capped api keys, api surface ([#1351](https://github.com/doublewordai/control-layer/issues/1351)) ([8129e1e](https://github.com/doublewordai/control-layer/commit/8129e1ed1a252d5aeee354ce1ac81a634d46690e)) | High | 7/23/2026 |
| v8.80.0 | ## [8.80.0](https://github.com/doublewordai/control-layer/compare/v8.79.1...v8.80.0) (2026-07-13) ### Features * filter model discovery by group and realtime availability ([#1264](https://github.com/doublewordai/control-layer/issues/1264)) ([49ccb54](https://github.com/doublewordai/control-layer/commit/49ccb54405490b22fca85f950b01294c5e1c64d6)) | High | 7/13/2026 |
| v8.68.1 | ## [8.68.1](https://github.com/doublewordai/control-layer/compare/v8.68.0...v8.68.1) (2026-07-01) ### Bug Fixes * stop logging tool response bodies and serde body fragments ([#1202](https://github.com/doublewordai/control-layer/issues/1202)) ([f21c29b](https://github.com/doublewordai/control-layer/commit/f21c29b82b232855365b9c8f12507b5c1895da50)) | High | 7/1/2026 |
| v8.61.1 | ## [8.61.1](https://github.com/doublewordai/control-layer/compare/v8.61.0...v8.61.1) (2026-06-19) ### Bug Fixes * **deps:** bump fusillade to 19.0.0 ([#1162](https://github.com/doublewordai/control-layer/issues/1162)) ([e041b40](https://github.com/doublewordai/control-layer/commit/e041b40d7e86ff26d7d973bf7ee0f853230bb9d1)) * **playground:** render reasoning from all backend fields ([#1158](https://github.com/doublewordai/control-layer/issues/1158)) ([e1ee0a6](https://github.com/doublewordai/c | High | 6/19/2026 |
| v8.60.1 | ## [8.60.1](https://github.com/doublewordai/control-layer/compare/v8.60.0...v8.60.1) (2026-06-12) ### Bug Fixes * **deps:** bump fusillade to 17.3.1 for batchless flex pending counts ([#1134](https://github.com/doublewordai/control-layer/issues/1134)) ([4ad4e88](https://github.com/doublewordai/control-layer/commit/4ad4e88c5bc49f9acc29d0bcc420d73269b33aec)) | High | 6/12/2026 |
| v8.59.0 | ## [8.59.0](https://github.com/doublewordai/control-layer/compare/v8.58.1...v8.59.0) (2026-06-05) ### Features * image input normalisation ([#1083](https://github.com/doublewordai/control-layer/issues/1083)) ([97d006c](https://github.com/doublewordai/control-layer/commit/97d006c4231dd00c490ce9fa94a3a6476dad38dc)) ### Bug Fixes * **openapi:** use Doubleword-served models in API doc examples ([#1125](https://github.com/doublewordai/control-layer/issues/1125)) ([27fc25f](https://github.com/do | High | 6/5/2026 |
| v8.58.1 | ## [8.58.1](https://github.com/doublewordai/control-layer/compare/v8.58.0...v8.58.1) (2026-06-03) ### Performance Improvements * **sync:** raise onwards fallback resync default 10s->5min ([#1118](https://github.com/doublewordai/control-layer/issues/1118)) ([86b9049](https://github.com/doublewordai/control-layer/commit/86b9049a7dfb625b77174d02fbf3131fbe868519)) * **sync:** stop api_keys no-op upserts from triggering onwards reloads ([#1119](https://github.com/doublewordai/control-layer/issu | High | 6/3/2026 |
| v8.54.2 | ## [8.54.2](https://github.com/doublewordai/control-layer/compare/v8.54.1...v8.54.2) (2026-05-28) ### Bug Fixes * **files:** return 400 not 500 for malformed multipart uploads ([#1102](https://github.com/doublewordai/control-layer/issues/1102)) ([8e11774](https://github.com/doublewordai/control-layer/commit/8e11774fb880b696e62836af6ea2532461c9a918)) | High | 5/28/2026 |
| v8.52.2 | ## [8.52.2](https://github.com/doublewordai/control-layer/compare/v8.52.1...v8.52.2) (2026-05-21) ### Bug Fixes * **openapi:** gate admin spec behind admin auth and disable by default ([#1089](https://github.com/doublewordai/control-layer/issues/1089)) ([56b145c](https://github.com/doublewordai/control-layer/commit/56b145ce6f8932bedaffc2f4d07a1009c2b7e3c4)) | High | 5/22/2026 |
| v8.50.0 | ## [8.50.0](https://github.com/doublewordai/control-layer/compare/v8.49.1...v8.50.0) (2026-05-15) ### Features * Remove virtual batches ([#1065](https://github.com/doublewordai/control-layer/issues/1065)) ([3a30d90](https://github.com/doublewordai/control-layer/commit/3a30d90daa0b9363770a45691a96e80fd8141afc)) ### Bug Fixes * Bump fusillade to speedup batch page query ([#1077](https://github.com/doublewordai/control-layer/issues/1077)) ([970f7c2](https://github.com/doublewordai/control-lay | High | 5/15/2026 |
| v8.48.0 | ## [8.48.0](https://github.com/doublewordai/control-layer/compare/v8.47.0...v8.48.0) (2026-05-11) ### Features * **chat-completions:** support service_tier:"flex" via fusillade ([#1056](https://github.com/doublewordai/control-layer/issues/1056)) ([20b77ef](https://github.com/doublewordai/control-layer/commit/20b77ef1b6fe9699d3af1ed2e0f4fd4b35906ed8)) ### Bug Fixes * **responses:** wire DwctlRequestProcessor end-to-end on the flex daemon path ([#1064](https://github.com/doublewordai/control | High | 5/11/2026 |
| v8.46.0 | ## [8.46.0](https://github.com/doublewordai/control-layer/compare/v8.45.0...v8.46.0) (2026-05-05) ### Features * **webhooks:** allow org members read-only access to org webhooks ([#1043](https://github.com/doublewordai/control-layer/issues/1043)) ([4bf5b54](https://github.com/doublewordai/control-layer/commit/4bf5b54142b57d34bdf2456202f1db30d539461f)) ### Bug Fixes * **deps:** clear all 36 open Dependabot vulnerabilities ([#1045](https://github.com/doublewordai/control-layer/issues/1045)) | High | 5/5/2026 |
| v8.45.0 | ## [8.45.0](https://github.com/doublewordai/control-layer/compare/v8.44.3...v8.45.0) (2026-04-30) ### Features * dwctl migration for multi-step response analytics linkage ([#1036](https://github.com/doublewordai/control-layer/issues/1036)) ([d9eb4bd](https://github.com/doublewordai/control-layer/commit/d9eb4bd562b507183cf8cb2dc6f64fab78b7bff9)) | High | 4/30/2026 |
| v8.44.2 | ## [8.44.2](https://github.com/doublewordai/control-layer/compare/v8.44.1...v8.44.2) (2026-04-27) ### Bug Fixes * filter priority from queue metrics ([#1029](https://github.com/doublewordai/control-layer/issues/1029)) ([89c92d5](https://github.com/doublewordai/control-layer/commit/89c92d57c6151e5e26818abd5b93c91a6e68db7d)) | High | 4/27/2026 |
| v8.42.3 | ## [8.42.3](https://github.com/doublewordai/control-layer/compare/v8.42.2...v8.42.3) (2026-04-22) ### Bug Fixes * models sort ([#1016](https://github.com/doublewordai/control-layer/issues/1016)) ([2bd3635](https://github.com/doublewordai/control-layer/commit/2bd36356dff5cc393448366d43673598004fd129)) | High | 4/22/2026 |
| v8.41.0 | ## [8.41.0](https://github.com/doublewordai/control-layer/compare/v8.40.1...v8.41.0) (2026-04-17) ### Features * cascade batch state to child requests via background job ([#1001](https://github.com/doublewordai/control-layer/issues/1001)) ([0071c85](https://github.com/doublewordai/control-layer/commit/0071c85cdb0a8139e568be31bf6e61c06ba3854f)) | High | 4/17/2026 |
| v8.40.1 | ## [8.40.1](https://github.com/doublewordai/control-layer/compare/v8.40.0...v8.40.1) (2026-04-16) ### Bug Fixes * center tooltips and make model/user cells click-to-copy ([#998](https://github.com/doublewordai/control-layer/issues/998)) ([e2fb2f5](https://github.com/doublewordai/control-layer/commit/e2fb2f5fab090e4265e1236ff94f7dc553b466e6)) | High | 4/16/2026 |
| v8.40.0 | ## [8.40.0](https://github.com/doublewordai/control-layer/compare/v8.39.0...v8.40.0) (2026-04-16) ### Features * async-ui followups - onwards 0.24.2, user in metadata, cleaner batch view ([#995](https://github.com/doublewordai/control-layer/issues/995)) ([7284c07](https://github.com/doublewordai/control-layer/commit/7284c0762194fd4b446d5141dc372d8af5832c48)) ### Bug Fixes * bump fusillade to 16.1.2 ([#997](https://github.com/doublewordai/control-layer/issues/997)) ([24117da](https://github | High | 4/16/2026 |
| v8.39.0 | ## [8.39.0](https://github.com/doublewordai/control-layer/compare/v8.38.2...v8.39.0) (2026-04-15) ### Features * async requests UI and streamlined batch experience ([#989](https://github.com/doublewordai/control-layer/issues/989)) ([76cd01b](https://github.com/doublewordai/control-layer/commit/76cd01baff9fe6b36d22d5549f92a03524aeb3c8)) | High | 4/15/2026 |
| v8.38.2 | ## [8.38.2](https://github.com/doublewordai/control-layer/compare/v8.38.1...v8.38.2) (2026-04-15) ### Bug Fixes * batch creation from sync respects queue capacity, jobs backoff and retry ([#990](https://github.com/doublewordai/control-layer/issues/990)) ([dafed4a](https://github.com/doublewordai/control-layer/commit/dafed4a072eae6e638fcf26ff25503af84603abc)) | High | 4/15/2026 |
| v8.38.1 | ## [8.38.1](https://github.com/doublewordai/control-layer/compare/v8.38.0...v8.38.1) (2026-04-15) ### Bug Fixes * bump onwards to 0.24.1 ([#991](https://github.com/doublewordai/control-layer/issues/991)) ([9058b99](https://github.com/doublewordai/control-layer/commit/9058b99cdf8ea64b01032c55503337c76ca88658)) | High | 4/15/2026 |
| v8.38.0 | ## [8.38.0](https://github.com/doublewordai/control-layer/compare/v8.37.1...v8.38.0) (2026-04-14) ### Features * connections role for gating feature ([#981](https://github.com/doublewordai/control-layer/issues/981)) ([5ce28e2](https://github.com/doublewordai/control-layer/commit/5ce28e212fa7a52299e4328451210079a4f30757)) | High | 4/14/2026 |
| v8.37.1 | ## [8.37.1](https://github.com/doublewordai/control-layer/compare/v8.37.0...v8.37.1) (2026-04-13) ### Bug Fixes * document dynamo nvext.agent_hints.priority injection path ([#984](https://github.com/doublewordai/control-layer/issues/984)) ([cf613b0](https://github.com/doublewordai/control-layer/commit/cf613b0d90cf1a224bbaa817e22640bb0452c28c)) | High | 4/13/2026 |
| v8.37.0 | ## [8.37.0](https://github.com/doublewordai/control-layer/compare/v8.36.0...v8.37.0) (2026-04-13) ### Features * allow platform managers to use any batch completion window ([#978](https://github.com/doublewordai/control-layer/issues/978)) ([5ac8ef5](https://github.com/doublewordai/control-layer/commit/5ac8ef5de021d67092b3952e3f45a5425083237e)) * wire fusillade deadline-priority injection into batch_daemon config ([#980](https://github.com/doublewordai/control-layer/issues/980)) ([f653871](htt | Medium | 4/13/2026 |
| v8.36.0 | ## [8.36.0](https://github.com/doublewordai/control-layer/compare/v8.35.1...v8.36.0) (2026-04-10) ### Features * more transparent and intuitive handling of errors in ingested jsonl ([#967](https://github.com/doublewordai/control-layer/issues/967)) ([a9a7365](https://github.com/doublewordai/control-layer/commit/a9a7365afd45a03c87ba7c8107dc555fd0a2f440)) ### Bug Fixes * missed an index migration ([#975](https://github.com/doublewordai/control-layer/issues/975)) ([9643080](https://github.com/ | High | 4/10/2026 |
| v8.35.1 | ## [8.35.1](https://github.com/doublewordai/control-layer/compare/v8.35.0...v8.35.1) (2026-04-10) ### Bug Fixes * hide reasoning tokens if zero ([#970](https://github.com/doublewordai/control-layer/issues/970)) ([f647cd9](https://github.com/doublewordai/control-layer/commit/f647cd9a70fc5f9ce74a8d184adf1291ceb9118d)) | Medium | 4/10/2026 |
| v8.35.0 | ## [8.35.0](https://github.com/doublewordai/control-layer/compare/v8.34.0...v8.35.0) (2026-04-09) ### Features * expose reasoning token analytics ([#939](https://github.com/doublewordai/control-layer/issues/939)) ([070fbaa](https://github.com/doublewordai/control-layer/commit/070fbaaf3a5166e56390fb8ac780dd9ab4e8817e)) | Medium | 4/9/2026 |
| v8.34.0 | ## [8.34.0](https://github.com/doublewordai/control-layer/compare/v8.33.4...v8.34.0) (2026-04-09) ### Features * external connections ([#956](https://github.com/doublewordai/control-layer/issues/956)) ([61df97b](https://github.com/doublewordai/control-layer/commit/61df97b20e7895d9f01224b9d37a222400abcb35)) | Medium | 4/9/2026 |
| v8.33.4 | ## [8.33.4](https://github.com/doublewordai/control-layer/compare/v8.33.3...v8.33.4) (2026-04-09) ### Bug Fixes * update cost names ([#963](https://github.com/doublewordai/control-layer/issues/963)) ([a671cde](https://github.com/doublewordai/control-layer/commit/a671cde8a491cecc3832b9c27e2a5ad9c810a70d)) | Medium | 4/9/2026 |
| v8.33.3 | ## [8.33.3](https://github.com/doublewordai/control-layer/compare/v8.33.2...v8.33.3) (2026-04-08) ### Bug Fixes * allow standard users to read all provider display configs ([#959](https://github.com/doublewordai/control-layer/issues/959)) ([8b9ae4e](https://github.com/doublewordai/control-layer/commit/8b9ae4e5e12e1f2acd8334eaccc8aaa04116ca1c)) | High | 4/8/2026 |
| v8.33.2 | ## [8.33.2](https://github.com/doublewordai/control-layer/compare/v8.33.1...v8.33.2) (2026-04-07) ### Bug Fixes * autotopup fixes ([#940](https://github.com/doublewordai/control-layer/issues/940)) ([ab79595](https://github.com/doublewordai/control-layer/commit/ab795952ed0ab73bc402d84ee9b669df34905f27)) * bump fusillade for new reassembler ([#958](https://github.com/doublewordai/control-layer/issues/958)) ([be5d4aa](https://github.com/doublewordai/control-layer/commit/be5d4aa7ba9f52dda5f2a8838 | Medium | 4/7/2026 |
| v8.33.1 | ## [8.33.1](https://github.com/doublewordai/control-layer/compare/v8.33.0...v8.33.1) (2026-04-07) ### Bug Fixes * allow standard users to load provider display configs ([#950](https://github.com/doublewordai/control-layer/issues/950)) ([ae649e6](https://github.com/doublewordai/control-layer/commit/ae649e6bed6eab1633c0b1b5d414512f904c8e9a)) | Medium | 4/7/2026 |
| v8.33.0 | ## [8.33.0](https://github.com/doublewordai/control-layer/compare/v8.32.1...v8.33.0) (2026-04-02) ### Features * add live reload for config.yaml ([#879](https://github.com/doublewordai/control-layer/issues/879)) ([7394715](https://github.com/doublewordai/control-layer/commit/73947151b95b8ca403eff6a33f8b851573516543)) * add provider display configuration to model catalog ([#945](https://github.com/doublewordai/control-layer/issues/945)) ([ad14021](https://github.com/doublewordai/control-layer/ | Medium | 4/2/2026 |
| v8.32.1 | ## [8.32.1](https://github.com/doublewordai/control-layer/compare/v8.32.0...v8.32.1) (2026-03-31) ### Bug Fixes * update personal domain list ([#943](https://github.com/doublewordai/control-layer/issues/943)) ([b29cd0a](https://github.com/doublewordai/control-layer/commit/b29cd0a7a1ada44ceec50467a8dbc9c08efd046e)) | Medium | 3/31/2026 |
| v8.32.0 | ## [8.32.0](https://github.com/doublewordai/control-layer/compare/v8.31.1...v8.32.0) (2026-03-31) ### Features * org auto-enrollment ([#938](https://github.com/doublewordai/control-layer/issues/938)) ([2563db3](https://github.com/doublewordai/control-layer/commit/2563db35e29c20027b18fa27436ab5778a8e7ec9)) * self serve orgs ([#936](https://github.com/doublewordai/control-layer/issues/936)) ([ab8b48f](https://github.com/doublewordai/control-layer/commit/ab8b48fcc9edc52ba9c17983ee7338aaba71675c) | Medium | 3/31/2026 |
| v8.31.1 | ## [8.31.1](https://github.com/doublewordai/control-layer/compare/v8.31.0...v8.31.1) (2026-03-31) ### Bug Fixes * Handle errors appearing in sse streams ([#934](https://github.com/doublewordai/control-layer/issues/934)) ([dce40fa](https://github.com/doublewordai/control-layer/commit/dce40faa9db51322de3f610ef1976e94cf26d9d5)) | Medium | 3/31/2026 |
| v8.31.0 | ## [8.31.0](https://github.com/doublewordai/control-layer/compare/v8.30.2...v8.31.0) (2026-03-31) ### Features * migration to allow multiple orgs with same email ([#933](https://github.com/doublewordai/control-layer/issues/933)) ([f2f3a16](https://github.com/doublewordai/control-layer/commit/f2f3a169603849de03f60b4412ad7bd2cc925dc6)) | Medium | 3/31/2026 |
| v8.30.2 | ## [8.30.2](https://github.com/doublewordai/control-layer/compare/v8.30.1...v8.30.2) (2026-03-31) ### Bug Fixes * bump fusillade 14.2.0 ([#931](https://github.com/doublewordai/control-layer/issues/931)) ([81d7b6b](https://github.com/doublewordai/control-layer/commit/81d7b6b7edde045f7530ce0800fb4b41cab70d56)) | Medium | 3/31/2026 |
| v8.30.1 | ## [8.30.1](https://github.com/doublewordai/control-layer/compare/v8.30.0...v8.30.1) (2026-03-30) ### Bug Fixes * bump fusillade 14.1.0 ([#929](https://github.com/doublewordai/control-layer/issues/929)) ([9273a82](https://github.com/doublewordai/control-layer/commit/9273a82965c7ffd67ad235a7735c0d7b51102ca2)) * support fusillade 14.0.1 file stream handling ([#927](https://github.com/doublewordai/control-layer/issues/927)) ([17c05cd](https://github.com/doublewordai/control-layer/commit/17c05cd7 | Medium | 3/30/2026 |
| v8.30.0 | ## [8.30.0](https://github.com/doublewordai/control-layer/compare/v8.29.0...v8.30.0) (2026-03-27) ### Features * Add underway as job handler, and move batch creation to it ([#914](https://github.com/doublewordai/control-layer/issues/914)) ([bb90e58](https://github.com/doublewordai/control-layer/commit/bb90e58cebd961c236073148ca3d615364e9b11e)) * fusillade fair usage ([#923](https://github.com/doublewordai/control-layer/issues/923)) ([26c3da7](https://github.com/doublewordai/control-layer/comm | Medium | 3/27/2026 |
| v8.29.0 | ## [8.29.0](https://github.com/doublewordai/control-layer/compare/v8.28.1...v8.29.0) (2026-03-26) ### Features * org notification settings in api handlers ([#921](https://github.com/doublewordai/control-layer/issues/921)) ([05d2051](https://github.com/doublewordai/control-layer/commit/05d2051004386a569cbc7676a05f7869aff65d6e)) | Medium | 3/26/2026 |
| v8.28.1 | ## [8.28.1](https://github.com/doublewordai/control-layer/compare/v8.28.0...v8.28.1) (2026-03-25) ### Bug Fixes * batch streaming ([#909](https://github.com/doublewordai/control-layer/issues/909)) ([3c6ce8d](https://github.com/doublewordai/control-layer/commit/3c6ce8db9a5bad3c95f2bf2874aeb4f02881396b)) | Medium | 3/25/2026 |
| v8.28.0 | ## [8.28.0](https://github.com/doublewordai/control-layer/compare/v8.27.1...v8.28.0) (2026-03-24) ### Features * platform webhooks extension ([#902](https://github.com/doublewordai/control-layer/issues/902)) ([1a8a0cf](https://github.com/doublewordai/control-layer/commit/1a8a0cf42725dc06a97b9220fe89757c0e4c4efc)) ### Bug Fixes * enrich 402 when balance <= 0 ([#859](https://github.com/doublewordai/control-layer/issues/859)) ([3ed3703](https://github.com/doublewordai/control-layer/commit/ | Medium | 3/24/2026 |
| v8.27.1 | ## [8.27.1](https://github.com/doublewordai/control-layer/compare/v8.27.0...v8.27.1) (2026-03-20) ### Bug Fixes * show realtime data in usage reports ([#904](https://github.com/doublewordai/control-layer/issues/904)) ([56f3ae9](https://github.com/doublewordai/control-layer/commit/56f3ae9f48099fd6f1545d401c548dc818f2fc8e)) | Low | 3/20/2026 |
| v8.27.0 | ## [8.27.0](https://github.com/doublewordai/control-layer/compare/v8.26.0...v8.27.0) (2026-03-19) ### Features * simplify cli callback ([#906](https://github.com/doublewordai/control-layer/issues/906)) ([dd8ad43](https://github.com/doublewordai/control-layer/commit/dd8ad43f0f015cf914e7aedd4098254d2ad2378f)) | Low | 3/19/2026 |
| v8.26.0 | ## [8.26.0](https://github.com/doublewordai/control-layer/compare/v8.25.0...v8.26.0) (2026-03-19) ### Features * move cli callback endpoint ([#903](https://github.com/doublewordai/control-layer/issues/903)) ([e89ff16](https://github.com/doublewordai/control-layer/commit/e89ff16dc1789579e583083890262526de9d33c0)) | Low | 3/19/2026 |
| v8.25.0 | ## [8.25.0](https://github.com/doublewordai/control-layer/compare/v8.24.0...v8.25.0) (2026-03-19) ### Features * Add CLI login callback endpoint for browser-based authentication ([#897](https://github.com/doublewordai/control-layer/issues/897)) ([cc07cc1](https://github.com/doublewordai/control-layer/commit/cc07cc135906ad93f23e78f06ffb2f964200907d)) ### Bug Fixes * bump onwards ([#901](https://github.com/doublewordai/control-layer/issues/901)) ([b561664](https://github.com/doublewordai/con | Low | 3/19/2026 |
| v8.24.0 | ## [8.24.0](https://github.com/doublewordai/control-layer/compare/v8.23.0...v8.24.0) (2026-03-19) ### Features * Enable requests to be streamed for specific endpoints ([#877](https://github.com/doublewordai/control-layer/issues/877)) ([93dbb75](https://github.com/doublewordai/control-layer/commit/93dbb759c6b792842d8748e01ad47e03e5f81032)) | Low | 3/19/2026 |
| v8.23.0 | ## [8.23.0](https://github.com/doublewordai/control-layer/compare/v8.22.3...v8.23.0) (2026-03-18) ### Features * member_id in create key for PMs + attribute PM keys to PM when not specified ([#890](https://github.com/doublewordai/control-layer/issues/890)) ([6b543c2](https://github.com/doublewordai/control-layer/commit/6b543c2a123bb7ece7d4c9aff399ed7625dd3463)) * removed mailto and added create organization request to support ([#891](https://github.com/doublewordai/control-layer/issues/891)) | Low | 3/18/2026 |
| v8.22.3 | ## [8.22.3](https://github.com/doublewordai/control-layer/compare/v8.22.2...v8.22.3) (2026-03-16) ### Bug Fixes * bump onwards ([#892](https://github.com/doublewordai/control-layer/issues/892)) ([861ca70](https://github.com/doublewordai/control-layer/commit/861ca70a1dda9076cf8d1025073717f6685c9c92)) | Low | 3/16/2026 |
| v8.22.2 | ## [8.22.2](https://github.com/doublewordai/control-layer/compare/v8.22.1...v8.22.2) (2026-03-16) ### Bug Fixes * **dwctl:** pick up onwards 0.21.0 opt-in server-side tool calling ([#888](https://github.com/doublewordai/control-layer/issues/888)) ([49494d3](https://github.com/doublewordai/control-layer/commit/49494d338166f562f528f6b59465dab71d46db69)) | Low | 3/16/2026 |
| v8.22.1 | ## [8.22.1](https://github.com/doublewordai/control-layer/compare/v8.22.0...v8.22.1) (2026-03-16) ### Bug Fixes * orgs need batch permissions so we can make batches as an org via the api ([#872](https://github.com/doublewordai/control-layer/issues/872)) ([efc8ae0](https://github.com/doublewordai/control-layer/commit/efc8ae0d429e20a67dd9d2f8aa6a1f2f94bd6e47)) | Low | 3/16/2026 |
| v8.22.0 | ## [8.22.0](https://github.com/doublewordai/control-layer/compare/v8.21.0...v8.22.0) (2026-03-16) ### Features * **dwctl:** server-side tool calling backend ([#878](https://github.com/doublewordai/control-layer/issues/878)) ([1ff4c56](https://github.com/doublewordai/control-layer/commit/1ff4c5665ff6000f73b54d76581038829de44458)) | Low | 3/16/2026 |
| v8.21.0 | ## [8.21.0](https://github.com/doublewordai/control-layer/compare/v8.20.0...v8.21.0) (2026-03-16) ### Features * server side active first sorting ([#864](https://github.com/doublewordai/control-layer/issues/864)) ([5b6dfd7](https://github.com/doublewordai/control-layer/commit/5b6dfd75562cd3ee066ec23d84dbc625c8753f31)) | Low | 3/16/2026 |
| v8.20.0 | ## [8.20.0](https://github.com/doublewordai/control-layer/compare/v8.19.2...v8.20.0) (2026-03-15) ### Features * bill based on completion time ([#876](https://github.com/doublewordai/control-layer/issues/876)) ([88e923d](https://github.com/doublewordai/control-layer/commit/88e923dc7af2238f61b3f58dcb42c4ec147bacb4)) | Low | 3/15/2026 |
| v8.19.2 | ## [8.19.2](https://github.com/doublewordai/control-layer/compare/v8.19.1...v8.19.2) (2026-03-12) ### Bug Fixes * allow emoty string cookie domain, which is transformed to none ([#873](https://github.com/doublewordai/control-layer/issues/873)) ([599606d](https://github.com/doublewordai/control-layer/commit/599606d876026817c5ee82ab9d5729288aaaaa68)) | Low | 3/12/2026 |
| v8.19.1 | ## [8.19.1](https://github.com/doublewordai/control-layer/compare/v8.19.0...v8.19.1) (2026-03-12) ### Bug Fixes * optional domain for active org cookie ([#868](https://github.com/doublewordai/control-layer/issues/868)) ([36dd297](https://github.com/doublewordai/control-layer/commit/36dd297f346a351a339081d0ae68305775ed476e)) | Low | 3/12/2026 |
| v8.19.0 | ## [8.19.0](https://github.com/doublewordai/control-layer/compare/v8.18.1...v8.19.0) (2026-03-12) ### Features * add trace_id to http_analytics ([#865](https://github.com/doublewordai/control-layer/issues/865)) ([fb56e2f](https://github.com/doublewordai/control-layer/commit/fb56e2fe8454045578874d7feff6532c204e678b)) * org-scoped batch/file filtering with metadata enrichment ([#839](https://github.com/doublewordai/control-layer/issues/839)) ([000fcef](https://github.com/doublewordai/control-la | Low | 3/12/2026 |
| v8.18.1 | ## [8.18.1](https://github.com/doublewordai/control-layer/compare/v8.18.0...v8.18.1) (2026-03-11) ### Bug Fixes * check recent last_login + store onboarded in browser ([#860](https://github.com/doublewordai/control-layer/issues/860)) ([af6d8d6](https://github.com/doublewordai/control-layer/commit/af6d8d6bea9cd96d2297929123807d650b6251b6)) | Low | 3/11/2026 |
| v8.18.0 | ## [8.18.0](https://github.com/doublewordai/control-layer/compare/v8.17.1...v8.18.0) (2026-03-11) ### Features * allow email reuse in orgs with updated unique indx on user emails ([#853](https://github.com/doublewordai/control-layer/issues/853)) ([f4ca358](https://github.com/doublewordai/control-layer/commit/f4ca358e7a2770fe27e7f1be960f82925b9e1949)) * migration to allow org members to have the same api key name ([#857](https://github.com/doublewordai/control-layer/issues/857)) ([09b6001](htt | Low | 3/11/2026 |
| v8.17.1 | ## [8.17.1](https://github.com/doublewordai/control-layer/compare/v8.17.0...v8.17.1) (2026-03-11) ### Bug Fixes * validate org balance at batch creation when in org context ([#848](https://github.com/doublewordai/control-layer/issues/848)) ([97884f9](https://github.com/doublewordai/control-layer/commit/97884f945349da75b09bcb26d66a746b3f9b4ebc)) | Low | 3/11/2026 |
| v8.17.0 | ## [8.17.0](https://github.com/doublewordai/control-layer/compare/v8.16.4...v8.17.0) (2026-03-11) ### Features * tracing enrichment — span prefixes, dep bumps, stack size fix ([#842](https://github.com/doublewordai/control-layer/issues/842)) ([1b19a32](https://github.com/doublewordai/control-layer/commit/1b19a32a586c9a34e22b20253941eb2d7beff9f3)) | Low | 3/11/2026 |
| v8.16.4 | ## [8.16.4](https://github.com/doublewordai/control-layer/compare/v8.16.3...v8.16.4) (2026-03-11) ### Bug Fixes * bump fusillade to 8.1.1 for claim query orphaned batch fix ([#846](https://github.com/doublewordai/control-layer/issues/846)) ([92976ef](https://github.com/doublewordai/control-layer/commit/92976ef00a05845ae76bd906c96b385271649be8)) | Low | 3/11/2026 |
| v8.16.3 | ## [8.16.3](https://github.com/doublewordai/control-layer/compare/v8.16.2...v8.16.3) (2026-03-11) ### Bug Fixes * trigger release for fusillade 8.1.0 claim performance fix ([#844](https://github.com/doublewordai/control-layer/issues/844)) ([b04a194](https://github.com/doublewordai/control-layer/commit/b04a19406c0af84f8080367da7829623b279b785)) | Low | 3/11/2026 |
| v8.16.2 | ## [8.16.2](https://github.com/doublewordai/control-layer/compare/v8.16.1...v8.16.2) (2026-03-11) ### Bug Fixes * populate all deployed models in daemon capacity limits ([#837](https://github.com/doublewordai/control-layer/issues/837)) ([b2a0f87](https://github.com/doublewordai/control-layer/commit/b2a0f87d8b5ccb58c73f4bafae4438141ecaef39)) | Low | 3/11/2026 |