v0.76.0

passteque/gluetunv0.76.0Sep 10, 2026by github-actions[bot]

Upgrading?

AI Summary

A major feature release for Mesh-LLM introducing durable KV caching, SafeTensors support, and significant architectural changes to model splitting and routing.

Key Highlights

  • Durable KV prefix cache
  • SafeTensors checkpoint support
  • Consolidate model=auto and model=mesh routing
  • Remove disk-based KV persistence

Breaking Changes

  • Stop persisting KV cache state to disk
  • Remove stale disk cache defaults

New Features

  • Durable KV prefix cache (agent prefixes survive eviction)
  • Load SafeTensors checkpoints directly
  • Complete graph-derived v2 model splitting
  • Iteration-level scheduler for concurrent staged serving
  • Stream tool calls as they are generated

Full Release Notes

## [0.76.0] - 2026-09-10

### Added

#### Serving and inference

* Durable KV prefix cache: agent prefixes survive eviction, restart, and cold nodes by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1228
* skippy-quantize: compose-mtp — splice an MTP draft into a sharded target GGUF by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1439
* Load SafeTensors checkpoints directly by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1619
* Complete graph-derived v2 model splitting by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1672
* Iteration-level scheduler for concurrent staged serving (#1416) by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1420
* Route repeated prompts to workers with verified radix cache reuse by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1449
* Reuse warm prefixes across agent sessions by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1601
* Stream tool calls as they are generated instead of after the turn ends by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1371
* Pass reasoning effort through Skippy templates by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1211
* Expose model-bound tokenizer capability by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1227
* Support staged Qwen3.8 Flash-Next inference by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1509
* Route Qwen3.8 identities to the qwen35 recurrent family by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1283
* Make plugin-only Serve mode nodes discoverable/reachable by other mesh peers by @MahdiHedhli in https://github.com/Mesh-LLM/mesh-llm/pull/1192
* Add mode-aware management health endpoint by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1351
* OpenAI exchange lifecycle hooks for out-of-process plugins (#1331) by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/1437
* Integrate exact lifecycle and trusted sessions by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1258
* Explain native runtime catalog selection and rejection by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/1675

#### Model catalog

* Add Muse Glimmer 30B to the model catalog by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1240
* Recommend Qwen3.8 27B Q4_K_M by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1343

#### Logging and observability

* Add durable lifecycle logging foundation by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1174
* Expose audited local log APIs and runtime telemetry by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1175
* Add typed logs ledger and maintenance UI by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1176
* Make operational logs durable, attributable, and queryable by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1440
* Add lifecycle timelines and recovery to the logs console by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1441

#### Configuration (settings that were previously inert are now honored)

* One canonical configuration reference with schema parity enforcement by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1474
* Derive static validation from an exhaustive schema-status manifest by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1475
* Wire kv_offload, kv_unified, and swa_full model_fit controls by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1476
* Wire hardware placement and model loading settings (PR 3/8, #1462) by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1477
* Make Skippy throughput and lifecycle config effective by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1480
* Wire speculative decoding configuration into Skippy by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1483
* Honor sampling, chat, and reasoning defaults in Skippy by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1485
* Honor multimodal model settings in Skippy by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1490
* Complete host wiring for aliases, plugins, and prompt-shape metrics by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1488

#### Documentation surfaces

* Publish Rust crate API docs with the website by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1230
* Add generated CLI explorer to docs by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1546

### Changed

#### Request handling and context

* Consolidate model=auto and model=mesh into one automatic-routing directive by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1309
* Treat max_tokens as a ceiling, not a context reservation by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1354
* Stop aborting healthy long prefills at five minutes by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1355
* Return a visible error when streaming prompts exceed context by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1352
* Compact oversized chat context for provider windows by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1280
* Default auto context to the 128k agent-serving ceiling by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1529

#### Caching, scheduling, and routing

* Replace flat prefix caches with unified radix by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1429
* Make resident KV admission capacity aware by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1452
* Add scheduler lab and cache-aware radix scheduling by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1447
* Improve Skippy concurrent serving and cache-aware routing by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1478
* Route warm prefixes by measured service cost by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1603
* Spread concurrent new sessions with local route reservations by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1631
* Send remote mesh inference directly into the serving pipeline by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1463
* Improve MoA routing under fleet churn and load by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1519
* Reuse recurrent KV across growing chat turns by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1253
* Make Skippy negotiate real activation boundaries by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1585
* Derive KV policy from loaded model by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1588
* Remove runtime-slice architecture allowlist by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1602

#### Performance

* Coalesce native KV page transfers by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1368
* Keep exact-state recording off inference path by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1389
* Move stage-zero exact-state copies off the request path by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1605
* Cut per-token split decode overhead (~10%) by @danielwinterw in https://github.com/Mesh-LLM/mesh-llm/pull/1575

#### Console and startup

* Refine logging console UX and live delivery by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1339
* Keep embedded startup on one validated config image by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1520

#### Dependencies

* Bump OpenTelemetry stack to 0.32 and rpassword to 7.5 by @danielwinterw in https://github.com/Mesh-LLM/mesh-llm/pull/1563
* Refresh runtimes and dependencies by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1622

### Removed

* Stop persisting KV cache state to disk by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1399
* Remove stale disk cache defaults by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1398

### Fixed

#### Inference, KV cache, and MoA

* Fix blank responses from thinking models by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1365
* Prevent reasoning-only model poisoning by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1391
* Rescue terminal Buzz replies in MoA by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1417
* Preserve caller tool schemas by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1344
* Restore single-model degrade for model=mesh on host ingress by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1291
* Keep degraded MoA requests on the resolved pipeline model by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1292
* Return IDs for OpenAI tool calls on local-model-only serving by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1318
* Serialize native proposal lifecycle by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1242
* Skippy Nemotron MTP loading by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1245
* Complete remaining Skippy MTP runtime callers by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1247
* Make native MTP actually work on single-node serving by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1366
* Clear stale sidecar rows before single-row MTP proposals by @DaBlitzStein in https://github.com/Mesh-LLM/mesh-llm/pull/1544
* Restore recurrent shared prefixes by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1342
* Restore resident KV suffix locality by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1634
* Restore small-context admission and state handoff by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1459
* Enforce resident prefix minimum by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1557
* Make KV replay and restore fail closed by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1569
* Harden KV cache ownership and runtime bounds by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1570
* Coordinate lanes with bounded KV admission by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1639
* Guard default KV quant against unloadable models by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1532
* Fix unified-KV parallel-lane accounting in context planner by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1543
* Certify Muse-Glimmer family for the resident-KV prefix cache by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1294
* Keep multimodal evaluation on its session lane by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1586
* Prompt-scaled cache-work deadline and surfaced stream errors by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1590
* Stop a stalled SSE consumer pinning a generation worker by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1367
* Address PR 1478 review blockers by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1561
* Restore builds and SafeTensors inference by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1636

#### Split and distributed serving

* Fix split serving: stages above layer 0 fail to load by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1290
* Let Iroh own transport path selection by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1345
* Fix chat-chain pipelined splits: verify-history accounting, early-stop replies, session leaks by @danielwinterw in https://github.com/Mesh-LLM/mesh-llm/pull/1408
* Use raw f32 activation transport by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1482
* Address Qwen4 split framing review findings by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1516
* Fix speculative decoding over multi-node splits by @danielwinterw in https://github.com/Mesh-LLM/mesh-llm/pull/1577
* Fix split speculative decoding: verify-window double-record and backend-sampling rejection by @danielwinterw in https://github.com/Mesh-LLM/mesh-llm/pull/1581
* Allow split-serving nodes to use matching local GGUF files by @IvGolovach in https://github.com/Mesh-LLM/mesh-llm/pull/1568
* Keep staged llama.cpp mappings alive until every retained tensor is loaded by @IvGolovach in https://github.com/Mesh-LLM/mesh-llm/pull/1542
* Restore recurrent split prefix reuse by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1662
* Reclaim split-prefill tokens after failed sessions by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1523
* Preserve split capability when model size is unknown by @mikemikimike in https://github.com/Mesh-LLM/mesh-llm/pull/1558
* Drain hosted split stages on shutdown by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1433
* Close the iroh endpoint on shutdown instead of dropping it by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1431
* Keep Mesh peers stable on LAN after relay bootstrap by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1660
* IPC idle timeout for external-relay plugins by @MahdiHedhli in https://github.com/Mesh-LLM/mesh-llm/pull/1191
* Cancel upstream before response headers by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1448
* Contain a panicking connection worker instead of stopping the accept loop by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/1536
* Make connection worker reads interruptible by shutdown by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/1565

#### Models, packaging, and downloads

* Require package-v2 serving admission by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1693
* Emit and admit payload-free v2 metadata carriers by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1706
* Inspect and serve compact v2 packages by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1711
* Fix complete package-v2 model downloads by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1722
* Resolve Hugging Face GGUF snapshot symlinks by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1725
* Ignore unrelated projector sidecars by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1628
* Name a local GGUF with --model instead of trying to resolve it by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1269
* Report accurate parameter sizes for local GGUF models by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1742
* Fix/windows skippy package large gguf by @wangwenjunfromlanzhou in https://github.com/Mesh-LLM/mesh-llm/pull/1307
* Avoid AArch64 Xet TLS illegal instructions by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1469
* Fix install one-liner 404 on NVIDIA hosts without a CUDA toolkit by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1267
* Make the optional GitHub star step reliable in setup by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1278

#### Platform and hardware

* Normalize native runtime library paths before LoadLibraryExW by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/1537
* Apply the CPU-only runtime budget on Windows by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/1567
* Sync mtmd struct layouts with the pinned llama.cpp headers by @DaBlitzStein in https://github.com/Mesh-LLM/mesh-llm/pull/1549
* Match mtmd_helper_bitmap_init_from_buf's current signature by @DaBlitzStein in https://github.com/Mesh-LLM/mesh-llm/pull/1550
* Resolve startup GPU selectors and honor CLI --device by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1467
* Credit RAM offload to discrete-GPU nodes on all survey platforms by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/1583
* Report the real macOS GPU name (not the CPU brand string) by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/1625
* Correct day/month transposition in macOS ps lstart parsing by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1744
* Merge bundled and release runtime catalogs during selection by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/1623
* Repair iOS keyring build and CLI timeout by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1641

#### Console, CLI, and logs

* Retry transient model route misses in console chat by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1277
* Harden lifecycle capture and console recovery by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1268
* Render LaTeX in active chat responses by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1466
* Use advertised capacity for node and mesh VRAM totals by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1746
* Make the dashboard immune to stray console output by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1382
* Keep --log-format json parseable and block new raw console prints in CI by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1376
* Surface `serve` and `client` commands in `--help` output by @wedigcode in https://github.com/Mesh-LLM/mesh-llm/pull/1607
* Close the four rc6 release-validation defects by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1405

### Security

* Stop leaking plugin endpoint credentials over the management API by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1364
* Redact plugin provider health details by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1432
* Move model lifecycle controls off peer-reachable ingress by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1279
* Cap remotely advertised model lists to protect the console from a hostile peer by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1357
* Reject non-protobuf content types on OTLP/HTTP ingestion by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1356
* Reject payload-bearing prediction-return opens early by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1527
* Harden Skippy sideband framing against I/O amplification by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1521
* Keep operator-enforced guardrails enabled by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1530
* Remove dead ungated ErrorBoundary that leaks stack traces (#39) by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1361
* Inject a fresh per-request client nonce at the local ingress by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/1397
* Supply a client-side per-request nonce in the generated provider config by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/1362
* Bound downstream endpoint resolution by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1438
* Clarify end-to-end encryption for mesh traffic by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1470

### Internal

<details>
<summary>CI, build, test, and repository work with no user-facing behavior change (120 changes)</summary>

#### CI and release engineering

* Fix crates.io publishing for new workspace crates, and make dev builds identify themselves by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1223
* Repair the Fly console image build by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1241
* Reshape PR and main CI around composable slices, prepping for Depot workers by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1244
* Cross-platform product bundle tree hashes by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1271
* Distinguish skipped bootstrap routes by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1272
* Fail fast on topic lane projections by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1274
* Flatten paginated lane checks by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1276
* Make CUDA release checks hermetic by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1270
* Split planning and platform workflow graphs by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1282
* CI smoke matrix routing by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1284
* Keep main planning exhaustive by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1295
* Prepare protected Depot PR runners by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1302
* Add bounded Depot PR canary gate by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1306
* Isolate native caches on Depot PR runners by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1310
* Keep Depot cache namespace inert by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1317
* Pin Depot audit to merged policy by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1319
* Identify failing Depot canary endpoint by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1321
* Classify rejected Depot cache endpoint by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1323
* Add protected Depot authority sentinel by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1324
* Prove Depot sentinel cache writes by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1326
* Allow bounded Depot caching for approved PRs by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1333
* Guard approved Depot PR routing by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1334
* Repin Depot PR isolation audit by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1336
* Fingerprint Depot macOS toolchains by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1337
* Enable Depot for eligible same-repository PRs by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1545
* Sync source versions during GitHub releases by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1330
* CI recognizes Apple provider paths by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1363
* Regenerate console-print ratchet drifted 2 lines by #1376 by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1379
* Select static-abi in pr-draft when its matrix consumers are planned by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1383
* Cancel sibling PR lanes after failure by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1388
* Bound compiler and local build caches by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1390
* Revert "ci: bound compiler and local build caches (#1390)" by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1394
* Prebuilt runner images for smoke/SDK/web jobs by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1380
* Bound compiler and local build caches by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1395
* Point pnpm at the runner image's baked store instead of the Actions cache by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1400
* Fix release builds failing in the containerized smoke job by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1401
* Install just before the CI-contracts python tests run by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1407
* Skip build slices for draft pull requests by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1415
* Retry transient HF artifact uploads by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1424
* Unblock release dispatches after the config schema module split by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1426
* Compare release bases, not raw tag SHAs, in provenance check by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1430
* Validate CUDA runtime toolkit labels by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1465
* Keep change planning below expression limit by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1468
* Use dotted workspace version form in skippy-scheduler by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1518
* Regenerate console-print ratchet after #1516 by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1525
* Cache SDK smoke and reuse UI artifacts by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1556
* Centralize test model artifacts by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1663
* Keep Swift SDK CI within its time budget by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1664
* Remove obsolete workflow shims and batch planners by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1666
* Share release UI assets and use CPU images for composition by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1684
* Prepare release UI from container-owned checkouts by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1687
* Adopt qualified lean runner images for UI workloads by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1690
* Link CUDA package tools on driverless builders by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1694
* Fall back to any brew LLVM with Clang LibTooling in llama canary guard by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1697
* Nightly agentic-replay coding benchmark on micstudio by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1705
* Remove the nightly-competitive-benchmark workflow by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1715
* Publish llama canary repair PRs only at terminal status by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1723
* Use served package ref for runtime smoke gates by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1741

#### Build, dependencies, and the llama.cpp pin

* Update pinned llama.cpp revision by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1216
* Regenerate patch queue for latest upstream by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1232
* Pin iroh to 1.0.3 explicitly by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1257
* Advance llama.cpp and simplify the Skippy patch queue by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1402
* Address #1402 review follow-up (dead comparison + Inkling test coverage) by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1412
* Link libvendor-hash.a and test Rust on llama.cpp pin bumps by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1419
* Tiered family battery + agent-repaired canary on the family-certify runner by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1436
* Run the llama.cpp canary daily and accept split GGUF metadata by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1457
* Fix llama canary family certification failures by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1471
* Wire the agent repair loop into the upstream canary by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1481
* Heartbeat, arm64 build guard, and push-permission diagnostics for the canary repair loop by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1489
* Preflight repair-token push permission before any repair work by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1493
* Probe actual token write capability in the repair preflight by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1496
* Prune stale /tmp worktrees and fix the preflight probe delete by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1499
* Auto-approve agent tool permissions in the repair sandbox by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1502
* Rebase patch queue onto upstream b19cbe925b by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1504
* Rebase patch queue onto upstream b19cbe925b by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1505
* Ensure the repair PR exists before applying the agent's body by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1506
* Review certified canary repairs with a fresh agent turn by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1507
* Certify the multimodal path with a real mmproj smoke lane by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1508
* Certify Qwen3.8 Flash-Next in the llama family battery by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1513
* Disable ggml compiler-cache autodetection when we decline sccache by @danielwinterw in https://github.com/Mesh-LLM/mesh-llm/pull/1531
* Rebase patch queue onto upstream cc83d7b482 by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1533
* Rebase patch queue onto upstream 662a0b0121 by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1564
* Restore deterministic llama patch replay by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1587
* Keep llama canary repairs on the certified pin by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1627
* Expand family battery with 15 additional architectures by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1683
* Rebase patch queue onto upstream b31b71f3a0 by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1721

#### Tests and benchmarks

* Run SWE-Gym through Harbor by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1239
* Wire Playwright into CI and fix the 9 pre-existing /logs failures by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1377
* Tolerate hosted-runner frame cadence by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1386
* Pin scheduler workload fixtures by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1450
* Keep PR tests portable across socket timer granularities by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1555
* Close the direct prediction return ring in the distributed driver by @danielwinterw in https://github.com/Mesh-LLM/mesh-llm/pull/1560
* Add layered KV coverage and performance history by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1572
* Prevent false Iroh diagnoses on macOS LAN tests by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/1573
* Allow trusted manual benchmark runs by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1574
* Add Agentic Replay for commit performance comparisons by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1578
* Route nightlies to the dedicated white runner by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1579
* Tolerate rejected direct-return writes by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1600
* Certify KV reuse with captured agentic replay by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1606
* Run SafeTensors runtime smoke on affected PRs by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1626
* Compare agentic replay across inference engines by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1655
* Measure CPU runtime seed reuse and explicitly exclude the ineffective seed by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1704

#### Refactors, docs, and repo hygiene

* Split Skippy by functional boundary by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1194
* Update mesh-llm-ui console dependencies by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1286
* Record unsafe Depot PR authority by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1328
* Define Depot PR cache isolation contract by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1329
* Record Depot PR rollout evidence by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1341
* Complete evidence-backed codebase audit waves by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1396
* Split root Justfile into semantic imports by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1458
* Assign imported Just files to Rust ownership by @ndizazzo in https://github.com/Mesh-LLM/mesh-llm/pull/1464
* Windows section - native CUDA works on CUDA 13 drivers; document current workarounds by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/1535
* Rework 0009 tagged tool-arg ordering to permute(required) by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1540
* Apply rustfmt to dynamic_library.rs by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/1541
* Silence cfg-gated macOS clippy warnings by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1591
* Quarantine name-driven topology adapter by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1604
* Clean warning and deprecation noise by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1618
* Register skippy-model ownership by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1620
* Make pre-commit validation change-scoped by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/1580
* How to run crate test gates on a bare Windows checkout by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/1657
* Silence the Windows-only dead-code lints in mesh-llm-system by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/1659

</details>

## New Contributors
* @MahdiHedhli made their first contribution in https://github.com/Mesh-LLM/mesh-llm/pull/1191
* @wangwenjunfromlanzhou made their first contribution in https://github.com/Mesh-LLM/mesh-llm/pull/1307
* @Virgile-pct made their first contribution in https://github.com/Mesh-LLM/mesh-llm/pull/1535
* @DaBlitzStein made their first contribution in https://github.com/Mesh-LLM/mesh-llm/pull/1549
* @mikemikimike made their first contribution in https://github.com/Mesh-LLM/mesh-llm/pull/1558
* @StevenMih made their first contribution in https://github.com/Mesh-LLM/mesh-llm/pull/1437
* @wedigcode made their first contribution in https://github.com/Mesh-LLM/mesh-llm/pull/1607

**Full Changelog**: https://github.com/Mesh-LLM/mesh-llm/compare/v0.75.1...v0.76.0

Related Repositories