v0.78.0

sleep3r/mtproto.zigv0.78.0Oct 4, 2026by github-actions[bot]

Upgrading?

AI Summary

A major update introducing plugin enhancements, a revamped payments system, and new model serving capabilities including cross-language streaming and OpenAI Decisions API support.

Key Highlights

  • Plugins can now request primary tabs and pin versions.
  • Operators can choose and switch wallet plugins.
  • Added cross-language agent streaming APIs.
  • Security update stamps the local endpoint ID as the frame source.

New Features

  • Primary tab support for plugin pages
  • Wallet plugin switching
  • Cross-language agent streaming
  • OpenAI Decisions API support
  • Pinned catalog versions and per-platform SHA-256

Full Release Notes

## [0.78.0] - 2026-10-04

### Added

#### plugins

* A plugin page may ask for a primary tab; the operator decides by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2130
* Two web UI contribution slots, a chat message and a Logs request by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2140
* A plugin page can turn off the host's page header by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2141
* Catalog entries can pin a version and a per-platform SHA-256 by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2167
* Install a short list of default plugins on first run, pinned by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2188
* Host MoA as a virtual model by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2045

#### payments

* Provider-side payment.lifecycle.v1 events at the seller ops by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2108
* Let operators choose and switch wallet plugins by @benthecarman in https://github.com/Mesh-LLM/mesh-llm/pull/2133
* One exchange id for the provider's two channels by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2139
* Settlement events carry the wallet's credited amount and fee by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2169

#### Other

* Add cross-language agent streaming APIs by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2071
* Report upgrades and execution environment by @danielwinterw in https://github.com/Mesh-LLM/mesh-llm/pull/2102
* Make the split performance settings reachable and documented (#2112 workstream 1) by @danielwinterw in https://github.com/Mesh-LLM/mesh-llm/pull/2113
* Keep the echoed client nonce on a chat message by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2131
* Exchange id on Logs requests by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2132
* The exchange event names both nodes, with digests on the routed and Responses paths by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2138
* Operator-local peer blocks, which a plugin can request by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2142
* The chat page can send to one node with ?target= by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2143
* An optional twin_bracket_id on the exchange envelopes by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2144
* Let small nodes contribute Laya decisions by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/2148
* Support preview OpenAI Decisions API shape by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2160

### Changed

* Buffer the GGUF metadata readers by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/2152

### Fixed

* Restore the downstream read timeout on the handle that changed it by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/2103
* Size the model-open queue to the native progress bound by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/2104
* Let the inbound reader give up a stalled frame on Windows by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/2105
* Preserve wallet profiles and release payments on restart by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/2111
* Initialize the ggml timer for the ngram cache by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/2129
* Publish the exchange event on the paid serving path by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2109
* Fall back to MTLCopyAllDevices when the default Metal device is nil by @mayoalexander in https://github.com/Mesh-LLM/mesh-llm/pull/2156
* Reuse verified local-required sources on Windows by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/2145
* Make repetition penalties take effect by @benthecarman in https://github.com/Mesh-LLM/mesh-llm/pull/2162
* Pack decode rows past large chunks by @benthecarman in https://github.com/Mesh-LLM/mesh-llm/pull/2157
* Resolve auto fused ops from the stage's own layers by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/2174
* Name the payer on the paid serving path's terminal event by @StevenMih in https://github.com/Mesh-LLM/mesh-llm/pull/2176
* Point Docs links at the documentation hub by @iamthesvn in https://github.com/Mesh-LLM/mesh-llm/pull/2153

### Security

* Stamp the local endpoint id as the frame source by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2117

### Internal

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

#### CI and release engineering

* Smoke Laya across platform lanes by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2092
* Align ownership with standalone Skippy by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2101
* Stop the Windows PR lane requiring a smoke it cannot run by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2110
* Route the crates verified green on Windows to the windows-unit row by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/2068
* Restore Windows and Vulkan Laya smokes by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2118
* Stop routing retired mesh-wallet-lexe by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/2149
* Pin resolve-cargo-packages to resolver that tolerates deleted crates by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/2150
* Resolve standalone frontend in legacy plans by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2161
* Gate the Laya GPU smokes on an exact lowercase true by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2116
* Register Windows unit crate ownership by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2165
* Unblock standalone Skippy PR validation by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2170
* Accept relocated llama.cpp pin in PR guard by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2172
* Run mesh-llm-commands and mesh-llm-system in the windows-unit row by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/2128
* Run extracted adapter tests with dynamic runtime on Windows by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2175
* Preserve failed llama canary repair source by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2179
* Diagnose and avoid canary cleanup failures by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2180
* Allow v0.77.0 crates recovery to pull runner image by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2178
* Align static ABI cache and consumers with patched llama by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2181
* Drop the unit row stack reservation by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/2177
* End sibling lane monitors after PR edits and closes by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/2184
* Retry llama canary family regressions by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2107
* Verify Node SDK assets before publishing by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2185
* Bind protected static ABI cache to patched llama revision by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2187
* Prepare v0.78.0 source by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2203

#### Build and dependencies

* Compile the built-in Lexe wallet out by default by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/2121
* Bump iroh 1.1.0 -> 1.3.0 by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/2171

#### Tests

* Qualify solo agentic replay runtime by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2095
* Check every auto fused op on split stages by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/2186

#### Refactors, docs, and hygiene

* Remove unreachable skippy-prompt launch lane and passive/MCP runtime compat lane by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/2073
* Run Laya directly from published model weights by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/2120
* Add the DwarfStar (ds4) engine plugin guide by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/2114
* Design notes around wallet impls by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/2126
* Remove the built-in Lexe wallet by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/2134
* Add security policy by @iamthesvn in https://github.com/Mesh-LLM/mesh-llm/pull/2125
* Fix config example values the validator rejects by @Virgile-pct in https://github.com/Mesh-LLM/mesh-llm/pull/2155
* MacOS Local Network check is troubleshooting, not a deploy gate by @michaelneale in https://github.com/Mesh-LLM/mesh-llm/pull/2124
* Sync the repeat-window copy and note the legacy -1 alias by @i386 in https://github.com/Mesh-LLM/mesh-llm/pull/2168

</details>

## New Contributors
* @mayoalexander made their first contribution in https://github.com/Mesh-LLM/mesh-llm/pull/2156

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

Related Repositories