desktop-v0.1.2
What's Changed
- docs: close out token.place v0.1.0 launch and make promotion guide evergreen by @futuroptimist in #1194
- Add release metadata, landing badge, CHANGELOG, and bump to v0.1.1 by @futuroptimist in #1200
- desktop: Add persisted multi-relay config & stopped-only UI for Relay URLs by @futuroptimist in #1203
- Bump Helm chart to 0.1.2; add multi‑relay desktop compute-node runtime with shared model by @futuroptimist in #1208
- v0.1.1 docs + release guardrails: multi-relay desktop validation, smoke helper, and tests by @futuroptimist in #1210
Full Changelog: desktop-v0.1.0...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
- Normalize empty Qwen think wrappers while rejecting real reasoning content by @futuroptimist in #1365
- Fix Qwen 64K YaRN/RoPE runtime support by @futuroptimist in #1370
- Re-enable desktop context-tier selector after Stop Operator by @futuroptimist in #1374
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
- Normalize empty Qwen think wrappers while rejecting real reasoning content by @futuroptimist in #1365
- Fix Qwen 64K YaRN/RoPE runtime support by @futuroptimist in #1370
- Re-enable desktop context-tier selector after Stop Operator by @futuroptimist in #1374
- Make YaRN/RoPE detection robust and auto-repair stale desktop runtimes for Qwen 64K by @futuroptimist in #1377
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
- Normalize empty Qwen think wrappers while rejecting real reasoning content by @futuroptimist in #1365
- Fix Qwen 64K YaRN/RoPE runtime support by @futuroptimist in #1370
- Re-enable desktop context-tier selector after Stop Operator by @futuroptimist in #1374
- Make YaRN/RoPE detection robust and auto-repair stale desktop runtimes for Qwen 64K by @futuroptimist in #1377
- Classify Qwen3 64K smoke failures, add safe diagnostics and 64K memory-profile, and add regression tests by @futuroptimist in #1384
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
- Normalize empty Qwen think wrappers while rejecting real reasoning content by @futuroptimist in #1365
- Fix Qwen 64K YaRN/RoPE runtime support by @futuroptimist in #1370
- Re-enable desktop context-tier selector after Stop Operator by @futuroptimist in #1374
- Make YaRN/RoPE detection robust and auto-repair stale desktop runtimes for Qwen 64K by @futuroptimist in #1377
- Classify Qwen3 64K smoke failures, add safe diagnostics and 64K memory-profile, and add regression tests by @futuroptimist in #1384
- Fix Qwen 64K subprocess YaRN probing by @futuroptimist in #1388
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
- Normalize empty Qwen think wrappers while rejecting real reasoning content by @futuroptimist in #1365
- Fix Qwen 64K YaRN/RoPE runtime support by @futuroptimist in #1370
- Re-enable desktop context-tier selector after Stop Operator by @futuroptimist in #1374
- Make YaRN/RoPE detection robust and auto-repair stale desktop runtimes for Qwen 64K by @futuroptimist in #1377
- Classify Qwen3 64K smoke failures, add safe diagnostics and 64K memory-profile, and add regression tests by @futuroptimist in #1384
- Fix Qwen 64K subprocess YaRN probing by @futuroptimist in #1388
- Add Qwen 64K Metal runtime fallback profiles and packaged-subprocess e2e for context-create failures by @futuroptimist in #1390
- Use shared API v1 generation for readiness smoke and surface safe runtime diagnostics by @futuroptimist in #1395
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
- Normalize empty Qwen think wrappers while rejecting real reasoning content by @futuroptimist in #1365
- Fix Qwen 64K YaRN/RoPE runtime support by @futuroptimist in #1370
- Re-enable desktop context-tier selector after Stop Operator by @futuroptimist in #1374
- Make YaRN/RoPE detection robust and auto-repair stale desktop runtimes for Qwen 64K by @futuroptimist in #1377
- Classify Qwen3 64K smoke failures, add safe diagnostics and 64K memory-profile, and add regression tests by @futuroptimist in #1384
- Fix Qwen 64K subprocess YaRN probing by @futuroptimist in #1388
- Add Qwen 64K Metal runtime fallback profiles and packaged-subprocess e2e for context-create failures by @futuroptimist in #1390
- Use shared API v1 generation for readiness smoke and surface safe runtime diagnostics by @futuroptimist in #1395
- Filter unsupported API v1 generation kwargs for packaged Qwen runtimes by @futuroptimist in #1399
- Qwen: use GGUF/Jinja render-then-plain-completion for API v1 (unblock 64K) by @futuroptimist in #1401
- Fix Qwen plain completion readiness by @futuroptimist in #1408
- Fix Qwen render-then-plain-completion readiness diagnostics by @futuroptimist in #1411
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
- Normalize empty Qwen think wrappers while rejecting real reasoning content by @futuroptimist in #1365
- Fix Qwen 64K YaRN/RoPE runtime support by @futuroptimist in #1370
- Re-enable desktop context-tier selector after Stop Operator by @futuroptimist in #1374
- Make YaRN/RoPE detection robust and auto-repair stale desktop runtimes for Qwen 64K by @futuroptimist in #1377
- Classify Qwen3 64K smoke failures, add safe diagnostics and 64K memory-profile, and add regression tests by @futuroptimist in #1384
- Fix Qwen 64K subprocess YaRN probing by @futuroptimist in #1388
- Add Qwen 64K Metal runtime fallback profiles and packaged-subprocess e2e for context-create failures by @futuroptimist in #1390
- Use shared API v1 generation for readiness smoke and surface safe runtime diagnostics by @futuroptimist in #1395
- Filter unsupported API v1 generation kwargs for packaged Qwen runtimes by @futuroptimist in #1399
- Qwen: use GGUF/Jinja render-then-plain-completion for API v1 (unblock 64K) by @futuroptimist in #1401
- Fix Qwen plain completion readiness by @futuroptimist in #1408
- Fix Qwen render-then-plain-completion readiness diagnostics by @futuroptimist in #1411
- Harden Qwen API v1 non-thinking readiness and remove automatic /no_think injection by @futuroptimist in #1414
- Fix Qwen API v1 readiness diagnostics by @futuroptimist in #1417
- Expose safe API v1 readiness diagnostics in desktop logs by @futuroptimist in #1421
- Add bounded token-ID fallback and tokenization diagnostics for Qwen plain completion by @futuroptimist in #1425
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
- Normalize empty Qwen think wrappers while rejecting real reasoning content by @futuroptimist in #1365
- Fix Qwen 64K YaRN/RoPE runtime support by @futuroptimist in #1370
- Re-enable desktop context-tier selector after Stop Operator by @futuroptimist in #1374
- Make YaRN/RoPE detection robust and auto-repair stale desktop runtimes for Qwen 64K by @futuroptimist in #1377
- Classify Qwen3 64K smoke failures, add safe diagnostics and 64K memory-profile, and add regression tests by @futuroptimist in #1384
- Fix Qwen 64K subprocess YaRN probing by @futuroptimist in #1388
- Add Qwen 64K Metal runtime fallback profiles and packaged-subprocess e2e for context-create failures by @futuroptimist in #1390
- Use shared API v1 generation for readiness smoke and surface safe runtime diagnostics by @futuroptimist in #1395
- Filter unsupported API v1 generation kwargs for packaged Qwen runtimes by @futuroptimist in #1399
- Qwen: use GGUF/Jinja render-then-plain-completion for API v1 (unblock 64K) by @futuroptimist in #1401
- Fix Qwen plain completion readiness by @futuroptimist in #1408
- Fix Qwen render-then-plain-completion readiness diagnostics by @futuroptimist in #1411
- Harden Qwen API v1 non-thinking readiness and remove automatic /no_think injection by @futuroptimist in #1414
- Fix Qwen API v1 readiness diagnostics by @futuroptimist in #1417
- Expose safe API v1 readiness diagnostics in desktop logs by @futuroptimist in #1421
- Add bounded token-ID fallback and tokenization diagnostics for Qwen plain completion by @futuroptimist in #1425
- Unblock Qwen 64k plain completion fallback by @futuroptimist in #1430
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
- Normalize empty Qwen think wrappers while rejecting real reasoning content by @futuroptimist in #1365
- Fix Qwen 64K YaRN/RoPE runtime support by @futuroptimist in #1370
- Re-enable desktop context-tier selector after Stop Operator by @futuroptimist in #1374
- Make YaRN/RoPE detection robust and auto-repair stale desktop runtimes for Qwen 64K by @futuroptimist in #1377
- Classify Qwen3 64K smoke failures, add safe diagnostics and 64K memory-profile, and add regression tests by @futuroptimist in #1384
- Fix Qwen 64K subprocess YaRN probing by @futuroptimist in #1388
- Add Qwen 64K Metal runtime fallback profiles and packaged-subprocess e2e for context-create failures by @futuroptimist in #1390
- Use shared API v1 generation for readiness smoke and surface safe runtime diagnostics by @futuroptimist in #1395
- Filter unsupported API v1 generation kwargs for packaged Qwen runtimes by @futuroptimist in #1399
- Qwen: use GGUF/Jinja render-then-plain-completion for API v1 (unblock 64K) by @futuroptimist in #1401
- Fix Qwen plain completion readiness by @futuroptimist in #1408
- Fix Qwen render-then-plain-completion readiness diagnostics by @futuroptimist in #1411
- Harden Qwen API v1 non-thinking readiness and remove automatic /no_think injection by @futuroptimist in #1414
- Fix Qwen API v1 readiness diagnostics by @futuroptimist in #1417
- Expose safe API v1 readiness diagnostics in desktop logs by @futuroptimist in #1421
- Add bounded token-ID fallback and tokenization diagnostics for Qwen plain completion by @futuroptimist in #1425
- Unblock Qwen 64k plain completion fallback by @futuroptimist in #1430
- Translate Qwen YaRN factor to llama-cpp-python
rope_freq_scaleand tighten YaRN probing/diagnostics by @futuroptimist in #1433 - Recover Qwen 64K Metal runtime profiles by @futuroptimist in #1435
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
- Normalize empty Qwen think wrappers while rejecting real reasoning content by @futuroptimist in #1365
- Fix Qwen 64K YaRN/RoPE runtime support by @futuroptimist in #1370
- Re-enable desktop context-tier selector after Stop Operator by @futuroptimist in #1374
- Make YaRN/RoPE detection robust and auto-repair stale desktop runtimes for Qwen 64K by @futuroptimist in #1377
- Classify Qwen3 64K smoke failures, add safe diagnostics and 64K memory-profile, and add regression tests by @futuroptimist in #1384
- Fix Qwen 64K subprocess YaRN probing by @futuroptimist in #1388
- Add Qwen 64K Metal runtime fallback profiles and packaged-subprocess e2e for context-create failures by @futuroptimist in #1390
- Use shared API v1 generation for readiness smoke and surface safe runtime diagnostics by @futuroptimist in #1395
- Filter unsupported API v1 generation kwargs for packaged Qwen runtimes by @futuroptimist in #1399
- Qwen: use GGUF/Jinja render-then-plain-completion for API v1 (unblock 64K) by @futuroptimist in #1401
- Fix Qwen plain completion readiness by @futuroptimist in #1408
- Fix Qwen render-then-plain-completion readiness diagnostics by @futuroptimist in #1411
- Harden Qwen API v1 non-thinking readiness and remove automatic /no_think injection by @futuroptimist in #1414
- Fix Qwen API v1 readiness diagnostics by @futuroptimist in #1417
- Expose safe API v1 readiness diagnostics in desktop logs by @futuroptimist in #1421
- Add bounded token-ID fallback and tokenization diagnostics for Qwen plain completion by @futuroptimist in #1425
- Unblock Qwen 64k plain completion fallback by @futuroptimist in #1430
- Translate Qwen YaRN factor to llama-cpp-python
rope_freq_scaleand tighten YaRN probing/diagnostics by @futuroptimist in #1433 - Recover Qwen 64K Metal runtime profiles by @futuroptimist in #1435
- Fix operator log over-redaction by allowlisting safe token metadata with strict validators by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1441
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
- Normalize empty Qwen think wrappers while rejecting real reasoning content by @futuroptimist in #1365
- Fix Qwen 64K YaRN/RoPE runtime support by @futuroptimist in #1370
- Re-enable desktop context-tier selector after Stop Operator by @futuroptimist in #1374
- Make YaRN/RoPE detection robust and auto-repair stale desktop runtimes for Qwen 64K by @futuroptimist in #1377
- Classify Qwen3 64K smoke failures, add safe diagnostics and 64K memory-profile, and add regression tests by @futuroptimist in #1384
- Fix Qwen 64K subprocess YaRN probing by @futuroptimist in #1388
- Add Qwen 64K Metal runtime fallback profiles and packaged-subprocess e2e for context-create failures by @futuroptimist in #1390
- Use shared API v1 generation for readiness smoke and surface safe runtime diagnostics by @futuroptimist in #1395
- Filter unsupported API v1 generation kwargs for packaged Qwen runtimes by @futuroptimist in #1399
- Qwen: use GGUF/Jinja render-then-plain-completion for API v1 (unblock 64K) by @futuroptimist in #1401
- Fix Qwen plain completion readiness by @futuroptimist in #1408
- Fix Qwen render-then-plain-completion readiness diagnostics by @futuroptimist in #1411
- Harden Qwen API v1 non-thinking readiness and remove automatic /no_think injection by @futuroptimist in #1414
- Fix Qwen API v1 readiness diagnostics by @futuroptimist in #1417
- Expose safe API v1 readiness diagnostics in desktop logs by @futuroptimist in #1421
- Add bounded token-ID fallback and tokenization diagnostics for Qwen plain completion by @futuroptimist in #1425
- Unblock Qwen 64k plain completion fallback by @futuroptimist in #1430
- Translate Qwen YaRN factor to llama-cpp-python
rope_freq_scaleand tighten YaRN probing/diagnostics by @futuroptimist in #1433 - Recover Qwen 64K Metal runtime profiles by @futuroptimist in #1435
- Fix operator log over-redaction by allowlisting safe token metadata with strict validators by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1441
- docs: add Raspberry Pi 5 + RTX 3060 (12GB) compute-node design proposal by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1446
- Add relay Prometheus metrics slice by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1447
- Fix desktop CUDA Qwen64k capability handoff and Windows path redaction by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1451
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
- Normalize empty Qwen think wrappers while rejecting real reasoning content by @futuroptimist in #1365
- Fix Qwen 64K YaRN/RoPE runtime support by @futuroptimist in #1370
- Re-enable desktop context-tier selector after Stop Operator by @futuroptimist in #1374
- Make YaRN/RoPE detection robust and auto-repair stale desktop runtimes for Qwen 64K by @futuroptimist in #1377
- Classify Qwen3 64K smoke failures, add safe diagnostics and 64K memory-profile, and add regression tests by @futuroptimist in #1384
- Fix Qwen 64K subprocess YaRN probing by @futuroptimist in #1388
- Add Qwen 64K Metal runtime fallback profiles and packaged-subprocess e2e for context-create failures by @futuroptimist in #1390
- Use shared API v1 generation for readiness smoke and surface safe runtime diagnostics by @futuroptimist in #1395
- Filter unsupported API v1 generation kwargs for packaged Qwen runtimes by @futuroptimist in #1399
- Qwen: use GGUF/Jinja render-then-plain-completion for API v1 (unblock 64K) by @futuroptimist in #1401
- Fix Qwen plain completion readiness by @futuroptimist in #1408
- Fix Qwen render-then-plain-completion readiness diagnostics by @futuroptimist in #1411
- Harden Qwen API v1 non-thinking readiness and remove automatic /no_think injection by @futuroptimist in #1414
- Fix Qwen API v1 readiness diagnostics by @futuroptimist in #1417
- Expose safe API v1 readiness diagnostics in desktop logs by @futuroptimist in #1421
- Add bounded token-ID fallback and tokenization diagnostics for Qwen plain completion by @futuroptimist in #1425
- Unblock Qwen 64k plain completion fallback by @futuroptimist in #1430
- Translate Qwen YaRN factor to llama-cpp-python
rope_freq_scaleand tighten YaRN probing/diagnostics by @futuroptimist in #1433 - Recover Qwen 64K Metal runtime profiles by @futuroptimist in #1435
- Fix operator log over-redaction by allowlisting safe token metadata with strict validators by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1441
- docs: add Raspberry Pi 5 + RTX 3060 (12GB) compute-node design proposal by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1446
- Add relay Prometheus metrics slice by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1447
- Fix desktop CUDA Qwen64k capability handoff and Windows path redaction by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1451
- Secure canonical token.place ServiceMonitor by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1458
- Preserve subprocess init categories and restore Qwen64K CUDA profile recovery by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1459
- Preserve pip internal build module in embedded runtime cleanup by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1468
- Harden Qwen64K runtime bootstrap and transactionally pin Qwen3-8B artifact by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1469
- Bundle a self-contained Python 3.11 runtime for Apple Silicon macOS releases by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1465
- Fix non‑mutating macOS preview validation and add regression tests by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1477
- Fix macOS Qwen 64K runtime identity handoff by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1486
- Fix desktop operator provisioning hang (idempotent deps, bounded installers, early provisioning state) by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1474
Full Changelog: desktop-v0.1.1...desktop-v0.1.2
What's Changed
- Add wildcard browser CORS for public API v1 by @futuroptimist in #1232
- docs: add v0.1.2 observability release plan by @futuroptimist in #1241
- Clarify relay-only upstream health reporting by @futuroptimist in #1236
- Fix relay-only API v1 chat routing by @futuroptimist in #1247
- Keep llama subprocess alive after request errors by @futuroptimist in #1250
- Validate desktop API v1 relay inputs by @futuroptimist in #1252
- ModelManager: one-time restart for dead llama.cpp subprocess workers by @futuroptimist in #1257
- Distinguish relay error envelopes from inference success by @futuroptimist in #1260
- Coordinate shared model runtime recovery by @futuroptimist in #1267
- Expose desktop worker lifecycle diagnostics by @futuroptimist in #1269
- Add deterministic long-lived llama.cpp worker soak and fault-injection test by @futuroptimist in #1272
- Remove legacy full-chat-array response handling from static/chat.js by @futuroptimist in #1276
- Remove legacy upstream diagnostic aliases by @futuroptimist in #1282
- docs: add context-tiered compute design by @futuroptimist in #1284
- Add desktop operator context tier selector by @futuroptimist in #1300
- API v1: add context-tier capability registration and tier-aware node selection by @futuroptimist in #1302
- API v1: Compute-side context admission and independent heartbeat by @futuroptimist in #1307
- Harden macOS DMG artifact validation by @futuroptimist in #1312
- Fix desktop operator startup diagnostics by @futuroptimist in #1315
- Restore packaged desktop dependency-preflight ordering by @futuroptimist in #1317
- Allow large API v1 messages to reach exact 8K/64K context admission by @futuroptimist in #1322
- Add landing-page API v1 context-tier selector by @futuroptimist in #1327
- Add best-fit load balancing for API v1 context tiers by @futuroptimist in #1332
- Add Auto context-tier selection and bounded 8K→64K retry on landing chat by @futuroptimist in #1334
- docs: design Qwen3 API v1 model migration by @futuroptimist in #1338
- Centralize model profiles and add Qwen3 metadata (non-default) by @futuroptimist in #1343
- Implement Qwen3 runtime support: non-thinking mode & 64K YaRN/RoPE by @futuroptimist in #1346
- Switch API v1 default model to Qwen3 by @futuroptimist in #1352
- Restore Qwen API v1 admission bridge by @futuroptimist in #1355
- Add Qwen GGUF/Jinja render-tokenize bridge for subprocess worker and readiness smoke by @futuroptimist in #1358
- Fix Qwen API v1 response diagnostics by @futuroptimist in #1362
- Enforce Qwen API v1 non-thinking readiness and E2EE-safe checks by @futuroptimist in #1363
- Normalize empty Qwen think wrappers while rejecting real reasoning content by @futuroptimist in #1365
- Fix Qwen 64K YaRN/RoPE runtime support by @futuroptimist in #1370
- Re-enable desktop context-tier selector after Stop Operator by @futuroptimist in #1374
- Make YaRN/RoPE detection robust and auto-repair stale desktop runtimes for Qwen 64K by @futuroptimist in #1377
- Classify Qwen3 64K smoke failures, add safe diagnostics and 64K memory-profile, and add regression tests by @futuroptimist in #1384
- Fix Qwen 64K subprocess YaRN probing by @futuroptimist in #1388
- Add Qwen 64K Metal runtime fallback profiles and packaged-subprocess e2e for context-create failures by @futuroptimist in #1390
- Use shared API v1 generation for readiness smoke and surface safe runtime diagnostics by @futuroptimist in #1395
- Filter unsupported API v1 generation kwargs for packaged Qwen runtimes by @futuroptimist in #1399
- Qwen: use GGUF/Jinja render-then-plain-completion for API v1 (unblock 64K) by @futuroptimist in #1401
- Fix Qwen plain completion readiness by @futuroptimist in #1408
- Fix Qwen render-then-plain-completion readiness diagnostics by @futuroptimist in #1411
- Harden Qwen API v1 non-thinking readiness and remove automatic /no_think injection by @futuroptimist in #1414
- Fix Qwen API v1 readiness diagnostics by @futuroptimist in #1417
- Expose safe API v1 readiness diagnostics in desktop logs by @futuroptimist in #1421
- Add bounded token-ID fallback and tokenization diagnostics for Qwen plain completion by @futuroptimist in #1425
- Unblock Qwen 64k plain completion fallback by @futuroptimist in #1430
- Translate Qwen YaRN factor to llama-cpp-python
rope_freq_scaleand tighten YaRN probing/diagnostics by @futuroptimist in #1433 - Recover Qwen 64K Metal runtime profiles by @futuroptimist in #1435
- Fix operator log over-redaction by allowlisting safe token metadata with strict validators by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1441
- docs: add Raspberry Pi 5 + RTX 3060 (12GB) compute-node design proposal by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1446
- Add relay Prometheus metrics slice by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1447
- Fix desktop CUDA Qwen64k capability handoff and Windows path redaction by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1451
- Secure canonical token.place ServiceMonitor by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1458
- Preserve subprocess init categories and restore Qwen64K CUDA profile recovery by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1459
- Preserve pip internal build module in embedded runtime cleanup by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1468
- Harden Qwen64K runtime bootstrap and transactionally pin Qwen3-8B artifact by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1469
- Bundle a self-contained Python 3.11 runtime for Apple Silicon macOS releases by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1465
- Fix non‑mutating macOS preview validation and add regression tests by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1477
- Fix macOS Qwen 64K runtime identity handoff by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1486
- Fix desktop operator provisioning hang (idempotent deps, bounded installers, early provisioning state) by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1474
- Enforce API v1 message abuse guard in UTF-8 bytes (512 KiB) by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1490
- Add relay request deadlines and owner-only compute-control route by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1498
- Ensure Stop un-registers before exit and make landing compute-node count refresh quickly by @futuroptimist in https://github.com/futuroptimist/token.place/pull/1502
Full Changelog: desktop-v0.1.1...desktop-v0.1.2