diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 370c85d2..978dd0a5 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,6 +1,6 @@ { - "crates/higgs-models": "1.8.0", - "crates/higgs-engine": "1.8.0", - "crates/higgs": "1.8.0", - "crates/higgs-bench": "1.0.2" + "crates/higgs-models": "2.0.0", + "crates/higgs-engine": "2.0.0", + "crates/higgs": "2.0.0", + "crates/higgs-bench": "1.0.3" } diff --git a/Cargo.lock b/Cargo.lock index 78c9a207..1999b974 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1644,7 +1644,7 @@ dependencies = [ [[package]] name = "higgs" -version = "1.8.0" +version = "2.0.0" dependencies = [ "async-stream", "axum", @@ -1692,7 +1692,7 @@ dependencies = [ [[package]] name = "higgs-bench" -version = "1.0.2" +version = "1.0.3" dependencies = [ "anyhow", "built", @@ -1715,7 +1715,7 @@ dependencies = [ [[package]] name = "higgs-engine" -version = "1.8.0" +version = "2.0.0" dependencies = [ "half", "higgs-models", @@ -1738,7 +1738,7 @@ dependencies = [ [[package]] name = "higgs-models" -version = "1.8.0" +version = "2.0.0" dependencies = [ "criterion", "half", diff --git a/crates/higgs-bench/Cargo.toml b/crates/higgs-bench/Cargo.toml index ad6667d5..bcba772a 100644 --- a/crates/higgs-bench/Cargo.toml +++ b/crates/higgs-bench/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "higgs-bench" -version = "1.0.2" +version = "1.0.3" edition = { workspace = true } license = { workspace = true } rust-version = { workspace = true } diff --git a/crates/higgs-engine/CHANGELOG.md b/crates/higgs-engine/CHANGELOG.md index adb78869..3c3c760c 100644 --- a/crates/higgs-engine/CHANGELOG.md +++ b/crates/higgs-engine/CHANGELOG.md @@ -1,5 +1,81 @@ # Changelog +## [2.0.0](https://github.com/dusterbloom/higgs/compare/higgs-engine-v1.8.0...higgs-engine-v2.0.0) (2026-10-19) + + +### ⚠ BREAKING CHANGES + +* higgs start is now config/profile-only, attach is a strict daemon dashboard, shellenv/exec fail fast on invalid or unreachable targets, and exact local model matches now take precedence over regex routes. + +### Features + +* add qwen3.5/qwen3.6 turboquant stack ([4f165ee](https://github.com/dusterbloom/higgs/commit/4f165eeca1166ac1d1b62cbaf523b83d344b9a22)) +* **bench:** context-frontier benchmark with shared cache rollback helper (PR2 / ds4 P8) ([#253](https://github.com/dusterbloom/higgs/issues/253)) ([4510835](https://github.com/dusterbloom/higgs/commit/451083523816e33cf636d796e240c6bb21a0a62d)) +* **bonsai-q1:** packed engine scaffold with upstream MLX guard ([#142](https://github.com/dusterbloom/higgs/issues/142)) ([fe43aab](https://github.com/dusterbloom/higgs/commit/fe43aabe44104ab285e19e8ff73c724c0875cbe0)) +* **bonsai:** run Bonsai-Q1 bits=1 on vanilla MLX via JIT qmv_fast kernels (no mlx-rs fork) ([#182](https://github.com/dusterbloom/higgs/issues/182)) ([b604754](https://github.com/dusterbloom/higgs/commit/b604754cab79f3f91a95d863324db46e8765e14a)) +* **cache:** enforce retained-byte continuation ([2057cc7](https://github.com/dusterbloom/higgs/commit/2057cc74145615953a4756f799be7b87fdb80c98)) +* **chat:** log raw model text when the streaming tool-call parser rejects output ([7e9cf43](https://github.com/dusterbloom/higgs/commit/7e9cf43a463c66b5a4ecd091253781368fbb53df)) +* **chat:** streaming tool-call deltas + Qwen-friendly arg normalisation ([#164](https://github.com/dusterbloom/higgs/issues/164)) ([8f01163](https://github.com/dusterbloom/higgs/commit/8f01163a0a60950c011048f8bd3c6d906b3e8a01)) +* **chat:** warn and count large stateless prefills and disabled session routing ([0203e29](https://github.com/dusterbloom/higgs/commit/0203e29c3e594b9bf92731a31c4e35dcc9fb485e)) +* enable MiniCPM5-1B (explicit head_dim + special-token decode + tojson kwarg + tool parser) ([#176](https://github.com/dusterbloom/higgs/issues/176)) ([05464e2](https://github.com/dusterbloom/higgs/commit/05464e22fd67a713ccf8a42d6547fab260d401cb)) +* **engine:** chunked prefill yield quantum for the batch serving loop (PR8 / ds4 P9) ([#259](https://github.com/dusterbloom/higgs/issues/259)) ([247147e](https://github.com/dusterbloom/higgs/commit/247147eacfa04ad97af6d1b5aca974594e8da736)) +* **engine:** disk-backed KV prefix store for restart-resume (PR6 / ds4 P4) ([#257](https://github.com/dusterbloom/higgs/issues/257)) ([0435d11](https://github.com/dusterbloom/higgs/commit/0435d112ff8abf3de65ed554a95e3e3a9b69d690)) +* harden CLI, dashboard, routing, and MLX runtime ([4dfc930](https://github.com/dusterbloom/higgs/commit/4dfc930365ec1d8eb8143508fe63c41b21001ba1)) +* harden default security posture ([1b41a5c](https://github.com/dusterbloom/higgs/commit/1b41a5c93696a7492ef4bf7e941982341edf50ab)) +* inference engine — chunked prefill, prefix cache, thinking budget, MTP ([4fa0971](https://github.com/dusterbloom/higgs/commit/4fa09711096dc40cff8b2b33b6c5ad1b87e4b128)) +* **models:** add Gemma 3 and Gemma 4 inference support ([4f301fc](https://github.com/dusterbloom/higgs/commit/4f301fcc0d45e2922df4203149f05a24a9f46ae6)) +* **models:** add LiquidAI LFM2-MoE (lfm2_moe) ([3ea3fa1](https://github.com/dusterbloom/higgs/commit/3ea3fa12b30813215a5324723b201c55d947b37e)) +* **models:** load MiniCPM-V 4.7 (minicpmv4_7) via the qwen3_5 loader ([695f220](https://github.com/dusterbloom/higgs/commit/695f22057029e51fb8b11d75132395ee85a7b0c5)) +* **models:** MLA latent KV cache with weight absorption for DeepSeek-V2 (PR3 / ds4 P1) ([#254](https://github.com/dusterbloom/higgs/issues/254)) ([482d2ec](https://github.com/dusterbloom/higgs/commit/482d2eceab6d616f9e6e79c37d6af06624c42410)) +* **mtp:** release speculative decoding optimizations ([0e5e458](https://github.com/dusterbloom/higgs/commit/0e5e458ce2b59ab5f1a6aaaa1fe91af6f298fe39)) +* **mtp:** release speculative decoding optimizations ([1d15599](https://github.com/dusterbloom/higgs/commit/1d15599ea86fccb022d786a56b2904131078b150)) +* Qwen3.5 model architecture, TurboQuant KV cache, and model-level optimizations ([1514737](https://github.com/dusterbloom/higgs/commit/1514737d4e1fb108c68b3150e9104aae5b20f400)) +* **qwen35:** Qwen3.6 MoE MTP speculative decode + checkpoint memory-safety fix ([#183](https://github.com/dusterbloom/higgs/issues/183)) ([4989955](https://github.com/dusterbloom/higgs/commit/49899557c5e4fef561c6d79ab957ad0656f486ab)) +* **serve:** stream prefill progress (llama.cpp-compatible prompt_progress) ([#184](https://github.com/dusterbloom/higgs/issues/184)) ([e7b2c8a](https://github.com/dusterbloom/higgs/commit/e7b2c8a41689c7e8e1f1fc4d657a4fa17bba2a96)) +* thinking mode support — reasoning parser and chat template ([a3cc52e](https://github.com/dusterbloom/higgs/commit/a3cc52e7e1f3ef12118b011156cc7b7bad6c05fb)) +* tune qwen3.6 thinking defaults ([6969834](https://github.com/dusterbloom/higgs/commit/696983431b7c404bf5efea4978398251603ac6ec)) + + +### Bug Fixes + +* address coderabbit issues ([6f10bc6](https://github.com/dusterbloom/higgs/commit/6f10bc6d733c192d30c5ab3aed76e4a2e2a69818)) +* address follow-up review issues ([5c857ce](https://github.com/dusterbloom/higgs/commit/5c857ce32f5eeab4fe020c9760a2bd5a0e984c05)) +* address remaining draft review issues ([4396e88](https://github.com/dusterbloom/higgs/commit/4396e8840e399af4abb60c84dfc4412ba8b2131f)) +* address review items across models and engine — PR [#74](https://github.com/dusterbloom/higgs/issues/74) ([8863e2d](https://github.com/dusterbloom/higgs/commit/8863e2d11dacbdada6e560556813c051bf265d8b)) +* **api:** leave required-continuation prefix proof to the worker ([74dfb05](https://github.com/dusterbloom/higgs/commit/74dfb0515db9ff7138fc64cf91f9cb98eee4fec2)) +* **cache:** acknowledge required dspark streams ([7c3f782](https://github.com/dusterbloom/higgs/commit/7c3f782d216a64201a1ddda43ca97d42a9e9bc1d)) +* **cache:** bind and reserve exact retention ([347e8b9](https://github.com/dusterbloom/higgs/commit/347e8b975031ea8de9851f464757055c9aaa1853)) +* **cache:** bind retained reservations to owners ([be3598b](https://github.com/dusterbloom/higgs/commit/be3598bbbe6f791d2ebe716cb6e84151c25ec569)) +* **cache:** bound retained DFlash tap tails ([579c501](https://github.com/dusterbloom/higgs/commit/579c501a3f0848dad16bc7d2545bc589614bd48b)) +* **cache:** keep live retention claims owned ([1bbe259](https://github.com/dusterbloom/higgs/commit/1bbe2591babfad8b259f030c0363ace023014d0b)) +* **cache:** make retained cap updates atomic ([004c881](https://github.com/dusterbloom/higgs/commit/004c881a414edb286d7bad34ab0503ac6c3f11be)) +* **cache:** reserve retained seed slots ([d45f1b8](https://github.com/dusterbloom/higgs/commit/d45f1b822c2b012d39004df9a6034b022aeabded)) +* cargo fmt + restore higgs crate build on PR [#74](https://github.com/dusterbloom/higgs/issues/74) ([050af95](https://github.com/dusterbloom/higgs/commit/050af9590968c129dc8f0a5003d4af47f6591da5)) +* **chat:** evict idle retained sessions before seed admission ([b8adfd4](https://github.com/dusterbloom/higgs/commit/b8adfd423d560b7653ebf7725454662e956a3637)) +* **chat:** render prompts like HF for reasoning + tool models ([32c06c8](https://github.com/dusterbloom/higgs/commit/32c06c827f95407f980c4f9db50b9bcfbefb0da0)) +* clear lint and review blockers ([9c8b878](https://github.com/dusterbloom/higgs/commit/9c8b878bb654ba8865f3455c91ba457b83d1161b)) +* **deps:** migrate to sha2 0.11 ([#273](https://github.com/dusterbloom/higgs/issues/273)) ([eb817f9](https://github.com/dusterbloom/higgs/commit/eb817f97f6f5fd27c6f6d1f1b99c358fe53c6724)) +* doc_markdown lints in detok test comments ([deefbe3](https://github.com/dusterbloom/higgs/commit/deefbe39345669e101b9f1fc5caa90de0aaaa973)) +* **engine,models:** cache config propagation, ndim guards, FSM ordering ([37d2ddd](https://github.com/dusterbloom/higgs/commit/37d2ddd3c222614373f9ee3c49b43e5e69e35c62)) +* **engine,models:** clippy clean lib targets on PR [#74](https://github.com/dusterbloom/higgs/issues/74) (51→0 errors) ([ebf3192](https://github.com/dusterbloom/higgs/commit/ebf319238ed9a79c8efc18bba6b0fbfc6b98f3e3)) +* **engine:** clippy clean 6 files on PR [#74](https://github.com/dusterbloom/higgs/issues/74) (85→51 errors) ([7dc7370](https://github.com/dusterbloom/higgs/commit/7dc737052edea2fdf96c4ab7a097051c0ba34562)) +* **engine:** don't cap reasoning on templates that force <think> ([bb22480](https://github.com/dusterbloom/higgs/commit/bb2248020a80d34411d91a7cf02e17fd1dc55c07)) +* **engine:** explain required-continuation misses ([8c3fea7](https://github.com/dusterbloom/higgs/commit/8c3fea705955c03f76ddd4b1d678c4a6fae195bb)) +* **engine:** keep quoted chat markers out of the structure channel ([f587928](https://github.com/dusterbloom/higgs/commit/f5879288254a7f8615ed59889ced53ee5dd236e9)) +* **engine:** prefix cache full-hit, scheduler leak, gather bounds check ([3e35b3f](https://github.com/dusterbloom/higgs/commit/3e35b3f8e3fe83604883418e408bae09e3533c39)) +* make pre-push pass on dust stack ([2695165](https://github.com/dusterbloom/higgs/commit/26951659aa8ff56d0362a6916827dbe9cf6fae88)) +* **mlx:** restore 0.31 runtime compatibility ([e36ba68](https://github.com/dusterbloom/higgs/commit/e36ba68b8b824b62d06ec7e2e9885231ab309c1f)) +* rename first-token detok bindings to avoid shadowing ([8d16696](https://github.com/dusterbloom/higgs/commit/8d16696c2d59750d3d742f203ab7316a4785b2be)) +* route first streamed token through incremental detokenizer ([722218d](https://github.com/dusterbloom/higgs/commit/722218df3cfb10c8671721cf45888ec45e31187c)) +* split long first doc paragraphs for clippy ([c195312](https://github.com/dusterbloom/higgs/commit/c1953125d8399f899236d7917f26b94051fccb4b)) +* stabilize dust stack CI ([8e629e3](https://github.com/dusterbloom/higgs/commit/8e629e35e53bb65b9a6dd718be5d2d50a79e297c)) + + +### Performance Improvements + +* **escha:** async layer eval off, 3 retained sessions ([fef5775](https://github.com/dusterbloom/higgs/commit/fef5775c75bd2908584ab941377317a90614b3d1)) +* incremental detokenization for streaming generation ([a949e50](https://github.com/dusterbloom/higgs/commit/a949e50fb3a5c2d650c2d7de367eb4afea444138)) + ## [1.8.0](https://github.com/panbanda/higgs/compare/higgs-engine-v1.7.0...higgs-engine-v1.8.0) (2026-09-02) diff --git a/crates/higgs-engine/Cargo.toml b/crates/higgs-engine/Cargo.toml index 218b3e5e..fc3fe006 100644 --- a/crates/higgs-engine/Cargo.toml +++ b/crates/higgs-engine/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "higgs-engine" -version = "1.8.0" +version = "2.0.0" description = "Inference engine (tokenization, generation loop, prompt caching) for higgs" edition.workspace = true license.workspace = true diff --git a/crates/higgs-models/CHANGELOG.md b/crates/higgs-models/CHANGELOG.md index a589f981..a263a187 100644 --- a/crates/higgs-models/CHANGELOG.md +++ b/crates/higgs-models/CHANGELOG.md @@ -1,5 +1,86 @@ # Changelog +## [2.0.0](https://github.com/dusterbloom/higgs/compare/higgs-models-v1.8.0...higgs-models-v2.0.0) (2026-10-19) + + +### ⚠ BREAKING CHANGES + +* higgs start is now config/profile-only, attach is a strict daemon dashboard, shellenv/exec fail fast on invalid or unreachable targets, and exact local model matches now take precedence over regex routes. + +### Features + +* add qwen3.5/qwen3.6 turboquant stack ([4f165ee](https://github.com/dusterbloom/higgs/commit/4f165eeca1166ac1d1b62cbaf523b83d344b9a22)) +* **bench:** context-frontier benchmark with shared cache rollback helper (PR2 / ds4 P8) ([#253](https://github.com/dusterbloom/higgs/issues/253)) ([4510835](https://github.com/dusterbloom/higgs/commit/451083523816e33cf636d796e240c6bb21a0a62d)) +* **bonsai-q1:** packed engine scaffold with upstream MLX guard ([#142](https://github.com/dusterbloom/higgs/issues/142)) ([fe43aab](https://github.com/dusterbloom/higgs/commit/fe43aabe44104ab285e19e8ff73c724c0875cbe0)) +* **bonsai:** run Bonsai-Q1 bits=1 on vanilla MLX via JIT qmv_fast kernels (no mlx-rs fork) ([#182](https://github.com/dusterbloom/higgs/issues/182)) ([b604754](https://github.com/dusterbloom/higgs/commit/b604754cab79f3f91a95d863324db46e8765e14a)) +* **cache:** AnyCache::trim_by dispatcher for spec-decode rollback ([#143](https://github.com/dusterbloom/higgs/issues/143)) ([229c111](https://github.com/dusterbloom/higgs/commit/229c1110f2da4c3d93ac79c8f28c2435e0c97aad)) +* **config:** first-class config surface for the MLA latent KV cache ([#263](https://github.com/dusterbloom/higgs/issues/263)) ([cdb3c4e](https://github.com/dusterbloom/higgs/commit/cdb3c4e74677be2471a89ca6c4d826c2b095d662)) +* enable MiniCPM5-1B (explicit head_dim + special-token decode + tojson kwarg + tool parser) ([#176](https://github.com/dusterbloom/higgs/issues/176)) ([05464e2](https://github.com/dusterbloom/higgs/commit/05464e22fd67a713ccf8a42d6547fab260d401cb)) +* **engine:** disk-backed KV prefix store for restart-resume (PR6 / ds4 P4) ([#257](https://github.com/dusterbloom/higgs/issues/257)) ([0435d11](https://github.com/dusterbloom/higgs/commit/0435d112ff8abf3de65ed554a95e3e3a9b69d690)) +* harden CLI, dashboard, routing, and MLX runtime ([4dfc930](https://github.com/dusterbloom/higgs/commit/4dfc930365ec1d8eb8143508fe63c41b21001ba1)) +* **models:** add Gemma 3 and Gemma 4 inference support ([4f301fc](https://github.com/dusterbloom/higgs/commit/4f301fcc0d45e2922df4203149f05a24a9f46ae6)) +* **models:** add LiquidAI LFM2-MoE (lfm2_moe) ([3ea3fa1](https://github.com/dusterbloom/higgs/commit/3ea3fa12b30813215a5324723b201c55d947b37e)) +* **models:** load MiniCPM-V 4.7 (minicpmv4_7) via the qwen3_5 loader ([695f220](https://github.com/dusterbloom/higgs/commit/695f22057029e51fb8b11d75132395ee85a7b0c5)) +* **models:** MLA latent KV cache with weight absorption for DeepSeek-V2 (PR3 / ds4 P1) ([#254](https://github.com/dusterbloom/higgs/issues/254)) ([482d2ec](https://github.com/dusterbloom/higgs/commit/482d2eceab6d616f9e6e79c37d6af06624c42410)) +* **models:** per-tensor quantization settings with dense-mode loading (PR9 / ds4 P2 loader half) ([#260](https://github.com/dusterbloom/higgs/issues/260)) ([92277ca](https://github.com/dusterbloom/higgs/commit/92277cae5c4595d0148b826739633dc0f4619cfc)) +* **quantize:** MoE calibration tooling + loader fixes; asymmetric-quality claim negative ([#264](https://github.com/dusterbloom/higgs/issues/264)) ([9c40cce](https://github.com/dusterbloom/higgs/commit/9c40cce8094567ab5923281257a62542af9778e5)) +* **qwen3_next:** mixed-bit Qwen3.5 GDN BA loading fallback ([#148](https://github.com/dusterbloom/higgs/issues/148)) ([cc18616](https://github.com/dusterbloom/higgs/commit/cc186160756c9d5741fc18baecbacd3666eeacf3)) +* Qwen3.5 model architecture, TurboQuant KV cache, and model-level optimizations ([1514737](https://github.com/dusterbloom/higgs/commit/1514737d4e1fb108c68b3150e9104aae5b20f400)) +* **qwen35:** Qwen3.6 MoE MTP speculative decode + checkpoint memory-safety fix ([#183](https://github.com/dusterbloom/higgs/issues/183)) ([4989955](https://github.com/dusterbloom/higgs/commit/49899557c5e4fef561c6d79ab957ad0656f486ab)) +* **serve:** stream prefill progress (llama.cpp-compatible prompt_progress) ([#184](https://github.com/dusterbloom/higgs/issues/184)) ([e7b2c8a](https://github.com/dusterbloom/higgs/commit/e7b2c8a41689c7e8e1f1fc4d657a4fa17bba2a96)) + + +### Bug Fixes + +* address coderabbit issues ([6f10bc6](https://github.com/dusterbloom/higgs/commit/6f10bc6d733c192d30c5ab3aed76e4a2e2a69818)) +* address review items across models and engine — PR [#74](https://github.com/dusterbloom/higgs/issues/74) ([8863e2d](https://github.com/dusterbloom/higgs/commit/8863e2d11dacbdada6e560556813c051bf265d8b)) +* align turboquant tests with rand 0.10 ([d0617c4](https://github.com/dusterbloom/higgs/commit/d0617c495f4d81f941492c247e45c4b91c996236)) +* **bonsai:** apply causal mask during prefill ([#203](https://github.com/dusterbloom/higgs/issues/203)) ([ecd78e5](https://github.com/dusterbloom/higgs/commit/ecd78e58c959d375715dec16bbd3551a09c487f3)) +* **cache:** bound retained DFlash tap tails ([579c501](https://github.com/dusterbloom/higgs/commit/579c501a3f0848dad16bc7d2545bc589614bd48b)) +* cargo fmt + restore higgs crate build on PR [#74](https://github.com/dusterbloom/higgs/issues/74) ([050af95](https://github.com/dusterbloom/higgs/commit/050af9590968c129dc8f0a5003d4af47f6591da5)) +* clear lint and review blockers ([9c8b878](https://github.com/dusterbloom/higgs/commit/9c8b878bb654ba8865f3455c91ba457b83d1161b)) +* **deps:** update rust crate safetensors to 0.7 ([#151](https://github.com/dusterbloom/higgs/issues/151)) ([a177ef6](https://github.com/dusterbloom/higgs/commit/a177ef6ce08508a08fa20ab9be4175d3a3a77476)) +* **deps:** update rust crate safetensors to 0.8 ([#201](https://github.com/dusterbloom/higgs/issues/201)) ([27d20e2](https://github.com/dusterbloom/higgs/commit/27d20e2bc8bd4daba65b7ed29c2558ef9ae554a0)) +* **engine,models:** cache config propagation, ndim guards, FSM ordering ([37d2ddd](https://github.com/dusterbloom/higgs/commit/37d2ddd3c222614373f9ee3c49b43e5e69e35c62)) +* **engine,models:** clippy clean lib targets on PR [#74](https://github.com/dusterbloom/higgs/issues/74) (51→0 errors) ([ebf3192](https://github.com/dusterbloom/higgs/commit/ebf319238ed9a79c8efc18bba6b0fbfc6b98f3e3)) +* gate rng import to tests ([1161eaa](https://github.com/dusterbloom/higgs/commit/1161eaa5c81f11fd736527525abcf2327e604e48)) +* honor qwen3 next gate quantization ([00958e1](https://github.com/dusterbloom/higgs/commit/00958e1687201e9ed02875dd606bcfb406ab08ed)) +* **lfm2:** accumulate short conv in f32; add mlx-lm parity check ([d6219a5](https://github.com/dusterbloom/higgs/commit/d6219a5e5a3a74b0a86a198934331563bd50c187)) +* make pre-push pass on dust stack ([2695165](https://github.com/dusterbloom/higgs/commit/26951659aa8ff56d0362a6916827dbe9cf6fae88)) +* **mlx:** restore 0.31 runtime compatibility ([e36ba68](https://github.com/dusterbloom/higgs/commit/e36ba68b8b824b62d06ec7e2e9885231ab309c1f)) +* **models:** clippy clean for higgs-models on PR [#74](https://github.com/dusterbloom/higgs/issues/74) (part 2/2) ([1b4470b](https://github.com/dusterbloom/higgs/commit/1b4470bd7e286c259cf03a63f34fa1a773d9642a)) +* **models:** clippy clean in 5/7 files on PR [#74](https://github.com/dusterbloom/higgs/issues/74) (part 1/2) ([af57c32](https://github.com/dusterbloom/higgs/commit/af57c3223e81c0328d8217794358e52ec3aadd35)) +* **models:** detect dense GDN, embedding and LM head projections ([8beef8f](https://github.com/dusterbloom/higgs/commit/8beef8f203b673c375d9fbd0f1213eec79e47d12)) +* **models:** keep ternary QMV decode-only ([a8812e9](https://github.com/dusterbloom/higgs/commit/a8812e99803c1ad576e4aa38f86fffb1a022374c)) +* **models:** match BF16 probe reference ([b724223](https://github.com/dusterbloom/higgs/commit/b724223ffcb4d66718e30f1cdcead1ad1b55fe42)) +* **models:** match FP16 probe output ([02851c2](https://github.com/dusterbloom/higgs/commit/02851c2274730d78efc5f046b4116fef126ac01a)) +* **models:** recognize Nanbeige adapter ([a4e1254](https://github.com/dusterbloom/higgs/commit/a4e1254b7437b0aee310b1a7e69434bc6bb9aa67)) +* **models:** stage BF16 probe operands ([6d9ff27](https://github.com/dusterbloom/higgs/commit/6d9ff270c7dbfb6282ed63062b58c73f74e88725)) +* **models:** validate Nanbeige discovery ([c7ddb27](https://github.com/dusterbloom/higgs/commit/c7ddb2714db08d08ea5536290bc2bb3baf4ac91d)) +* resolve new clippy lints from stable toolchain update ([#286](https://github.com/dusterbloom/higgs/issues/286)) ([8fb011c](https://github.com/dusterbloom/higgs/commit/8fb011c905b619ab017d66dff64156e6baced314)) +* restore rng import and checkout pin ([8771fa0](https://github.com/dusterbloom/higgs/commit/8771fa00c7d0a3f1fd83fd55594c441c95e214ba)) +* satisfy clippy on qwen3.6 tests ([ab2920a](https://github.com/dusterbloom/higgs/commit/ab2920a182c2a76f8a2e54b67479a044d9513024)) +* stabilize dust stack CI ([8e629e3](https://github.com/dusterbloom/higgs/commit/8e629e35e53bb65b9a6dd718be5d2d50a79e297c)) +* suffix float literals for new float_literal_f32_fallback lint ([#230](https://github.com/dusterbloom/higgs/issues/230)) ([83029e4](https://github.com/dusterbloom/higgs/commit/83029e409cf0bbfbc03d363590edba920de3b1f4)) +* support mlx qwen3.6 smoke ([7046849](https://github.com/dusterbloom/higgs/commit/704684970b3cf43ad9bc3644e74422e378dacfd4)) + + +### Performance Improvements + +* **dtype:** preserve fp16 through scalar multiply in deepseek_v2 + siglip ([5dfbd15](https://github.com/dusterbloom/higgs/commit/5dfbd159926113e5a53a620933f701d7dd3c6ff2)) +* **dtype:** preserve fp16 through scalar multiply in deepseek_v2 + siglip ([90aec29](https://github.com/dusterbloom/higgs/commit/90aec296ada971231dff254cad1095eac1c92646)) +* **escha:** async layer eval off, 3 retained sessions ([fef5775](https://github.com/dusterbloom/higgs/commit/fef5775c75bd2908584ab941377317a90614b3d1)) +* **lfm2:** fused expert gate+up, compiled conv step and router ([01e399f](https://github.com/dusterbloom/higgs/commit/01e399fa827c2eecbb9a35b3e2d47ad4d59009e5)) +* **lfm2:** fused Metal kernels for decode conv step and router ([bdc61ec](https://github.com/dusterbloom/higgs/commit/bdc61ec845d6e9e52b5d9b04daab8d783abd72de)) +* **models:** add tiled ternary qmm probe ([a8a82d4](https://github.com/dusterbloom/higgs/commit/a8a82d4705608df0da6ebc31550a266030174289)) +* **models:** enable FP32 ternary verify kernel ([4110fde](https://github.com/dusterbloom/higgs/commit/4110fde03b82cb9db7426547eb434e3b5d60c222)) +* **models:** opt-in fused MoE gate+up — 3→2 expert matmuls per layer ([#141](https://github.com/dusterbloom/higgs/issues/141)) ([60d7cb4](https://github.com/dusterbloom/higgs/commit/60d7cb48f28ddff5254f8aece898a24a1a475d66)) +* **models:** retile ternary qmm probe ([e29686a](https://github.com/dusterbloom/higgs/commit/e29686a62ba958afc61d825227ef181700e9b5b6)) +* **models:** use decode RoPE for verify rows ([3ae0da0](https://github.com/dusterbloom/higgs/commit/3ae0da00e5e2702dc51ae2d8c95761fb2430881a)) +* **profile:** attribute Qwen3.5 MLP stages ([fcca407](https://github.com/dusterbloom/higgs/commit/fcca407727babd66a0afad54114e283317216bc5)) +* **sampling:** partial-sort path for small top-k ([67a5a06](https://github.com/dusterbloom/higgs/commit/67a5a06f479a9c0ded06af00a07ccafab392ef4c)) +* **sampling:** partial-sort path for small top-k ([bab4519](https://github.com/dusterbloom/higgs/commit/bab4519bdc5bb4d4f2ad7bc90086c054e55131b0)) + ## [1.8.0](https://github.com/panbanda/higgs/compare/higgs-models-v1.7.0...higgs-models-v1.8.0) (2026-09-02) diff --git a/crates/higgs-models/Cargo.toml b/crates/higgs-models/Cargo.toml index 72d3a34e..c4375077 100644 --- a/crates/higgs-models/Cargo.toml +++ b/crates/higgs-models/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "higgs-models" -version = "1.8.0" +version = "2.0.0" description = "Model architectures and weight loading for higgs (LLaMA, Mistral, Qwen2/3)" edition.workspace = true license.workspace = true diff --git a/crates/higgs/CHANGELOG.md b/crates/higgs/CHANGELOG.md index 4774f5a4..e2555555 100644 --- a/crates/higgs/CHANGELOG.md +++ b/crates/higgs/CHANGELOG.md @@ -1,5 +1,114 @@ # Changelog +## [2.0.0](https://github.com/dusterbloom/higgs/compare/higgs-v1.8.0...higgs-v2.0.0) (2026-10-19) + + +### ⚠ BREAKING CHANGES + +* higgs start is now config/profile-only, attach is a strict daemon dashboard, shellenv/exec fail fast on invalid or unreachable targets, and exact local model matches now take precedence over regex routes. + +### Features + +* add --profile CLI flag, TUI routing tab, and config visibility ([#45](https://github.com/dusterbloom/higgs/issues/45)) ([95dda05](https://github.com/dusterbloom/higgs/commit/95dda054071942979aaa2a9c5611a067c0f227d5)) +* add `higgs exec -- ` subcommand ([#49](https://github.com/dusterbloom/higgs/issues/49)) ([b61dbf5](https://github.com/dusterbloom/higgs/commit/b61dbf575ff2ec944e81751f654a65b1b746a90f)) +* add `higgs run -- ` subcommand ([#47](https://github.com/dusterbloom/higgs/issues/47)) ([72339d2](https://github.com/dusterbloom/higgs/commit/72339d270a3c71db4c0ba052a8fddfa91b62c953)) +* add name field to ModelConfig ([#43](https://github.com/dusterbloom/higgs/issues/43)) ([54147e0](https://github.com/dusterbloom/higgs/commit/54147e01ec1e1d9d0f308aff1d5228716207b9c7)) +* add qwen3.5/qwen3.6 turboquant stack ([4f165ee](https://github.com/dusterbloom/higgs/commit/4f165eeca1166ac1d1b62cbaf523b83d344b9a22)) +* API routes — thinking mode streaming and tool call validation ([5f7e62c](https://github.com/dusterbloom/higgs/commit/5f7e62cb8eeb168dfb36d98eea2d39c54cf4e950)) +* **cache:** enforce retained-byte continuation ([2057cc7](https://github.com/dusterbloom/higgs/commit/2057cc74145615953a4756f799be7b87fdb80c98)) +* **chat:** log raw model text when the streaming tool-call parser rejects output ([7e9cf43](https://github.com/dusterbloom/higgs/commit/7e9cf43a463c66b5a4ecd091253781368fbb53df)) +* **chat:** streaming tool-call deltas + Qwen-friendly arg normalisation ([#164](https://github.com/dusterbloom/higgs/issues/164)) ([8f01163](https://github.com/dusterbloom/higgs/commit/8f01163a0a60950c011048f8bd3c6d906b3e8a01)) +* **chat:** warn and count large stateless prefills and disabled session routing ([0203e29](https://github.com/dusterbloom/higgs/commit/0203e29c3e594b9bf92731a31c4e35dcc9fb485e)) +* **cli:** higgs ui opens the desktop app ([09a5b4c](https://github.com/dusterbloom/higgs/commit/09a5b4ce99360e76c866916e973ab847f5c93404)) +* **cli:** plan retained memory for local models ([984104f](https://github.com/dusterbloom/higgs/commit/984104f40bbb20c07621efd2f4a30bffcdbc487b)) +* **config:** first-class config surface for the MLA latent KV cache ([#263](https://github.com/dusterbloom/higgs/issues/263)) ([cdb3c4e](https://github.com/dusterbloom/higgs/commit/cdb3c4e74677be2471a89ca6c4d826c2b095d662)) +* **desktop:** Tauri dashboard app, request tracing, and richer server metrics ([72d8809](https://github.com/dusterbloom/higgs/commit/72d88094ed70fbd23fba3f83357bd8165c8c5c18)) +* **desktop:** Tauri dashboard app, request tracing, and richer server metrics ([487716f](https://github.com/dusterbloom/higgs/commit/487716f91797d85ae7429d090a79de4ee52abd42)) +* **doctor:** validate ServerSection fields ([0250c42](https://github.com/dusterbloom/higgs/commit/0250c422d022e72a00095cd2def1ed5996dfb762)) +* **doctor:** validate ServerSection fields ([554371f](https://github.com/dusterbloom/higgs/commit/554371f890cf23a7e2fd1141109e51cb9f26c2d5)) +* **engine:** chunked prefill yield quantum for the batch serving loop (PR8 / ds4 P9) ([#259](https://github.com/dusterbloom/higgs/issues/259)) ([247147e](https://github.com/dusterbloom/higgs/commit/247147eacfa04ad97af6d1b5aca974594e8da736)) +* **engine:** disk-backed KV prefix store for restart-resume (PR6 / ds4 P4) ([#257](https://github.com/dusterbloom/higgs/issues/257)) ([0435d11](https://github.com/dusterbloom/higgs/commit/0435d112ff8abf3de65ed554a95e3e3a9b69d690)) +* harden CLI, dashboard, routing, and MLX runtime ([4dfc930](https://github.com/dusterbloom/higgs/commit/4dfc930365ec1d8eb8143508fe63c41b21001ba1)) +* harden default security posture ([1b41a5c](https://github.com/dusterbloom/higgs/commit/1b41a5c93696a7492ef4bf7e941982341edf50ab)) +* **higgs:** migrate from huggingface-cli to hf ([#180](https://github.com/dusterbloom/higgs/issues/180)) ([aaecdb4](https://github.com/dusterbloom/higgs/commit/aaecdb4fa7225dc7fc5375982bc2f6c7945eaf2f)) +* **models:** add safe local catalog ([6f83bcf](https://github.com/dusterbloom/higgs/commit/6f83bcf306bd93059fb907cdaeba0c9986bbb635)) +* **models:** expose safe local catalog ([d1e081b](https://github.com/dusterbloom/higgs/commit/d1e081bf5b45c9ebe770a3c03e7ce4138fb6ec69)) +* resize routing sidebar ([913e015](https://github.com/dusterbloom/higgs/commit/913e0150e2779b22f154a03ad456693ac6512f81)) +* server config — TurboQuant, thinking budget, chunked prefill settings ([5b63e4c](https://github.com/dusterbloom/higgs/commit/5b63e4c9bedee401adf6f23b319316f55727c7f1)) +* **serve:** stream prefill progress (llama.cpp-compatible prompt_progress) ([#184](https://github.com/dusterbloom/higgs/issues/184)) ([e7b2c8a](https://github.com/dusterbloom/higgs/commit/e7b2c8a41689c7e8e1f1fc4d657a4fa17bba2a96)) +* ship mlx.metallib alongside the higgs binary ([#39](https://github.com/dusterbloom/higgs/issues/39)) ([deaa322](https://github.com/dusterbloom/higgs/commit/deaa32275c8ef8236846cc1adc2edf24d698fbe5)) +* tune qwen3.6 thinking defaults ([6969834](https://github.com/dusterbloom/higgs/commit/696983431b7c404bf5efea4978398251603ac6ec)) +* unified AI gateway with proxy routing and format translation ([#38](https://github.com/dusterbloom/higgs/issues/38)) ([7c5668b](https://github.com/dusterbloom/higgs/commit/7c5668b67a4de113447dce9297c56ace23f5f017)) + + +### Bug Fixes + +* address CI lint and test failures ([0d8e259](https://github.com/dusterbloom/higgs/commit/0d8e2594809589fe405a3b8091e669164b2e8e52)) +* address coderabbit issues ([6f10bc6](https://github.com/dusterbloom/higgs/commit/6f10bc6d733c192d30c5ab3aed76e4a2e2a69818)) +* address follow-up review issues ([5c857ce](https://github.com/dusterbloom/higgs/commit/5c857ce32f5eeab4fe020c9760a2bd5a0e984c05)) +* address review comments ([36c6484](https://github.com/dusterbloom/higgs/commit/36c6484acd486af7744507ebb974e5a62ecf1f93)) +* address review follow-ups ([d2b312e](https://github.com/dusterbloom/higgs/commit/d2b312e0c447b33b65505e8b34adfa74d240da96)) +* **api:** leave required-continuation prefix proof to the worker ([74dfb05](https://github.com/dusterbloom/higgs/commit/74dfb0515db9ff7138fc64cf91f9cb98eee4fec2)) +* **api:** preserve retained rejection identity ([f8fc162](https://github.com/dusterbloom/higgs/commit/f8fc1620e5d92e1291c855140a12f76aee8d53bf)) +* backtick TcpListener in doc comment for clippy doc_markdown ([94acea7](https://github.com/dusterbloom/higgs/commit/94acea7730105895be598bb04d9580de4ea3195a)) +* **cache:** bind and reserve exact retention ([347e8b9](https://github.com/dusterbloom/higgs/commit/347e8b975031ea8de9851f464757055c9aaa1853)) +* **cache:** bind retained reservations to owners ([be3598b](https://github.com/dusterbloom/higgs/commit/be3598bbbe6f791d2ebe716cb6e84151c25ec569)) +* **cache:** keep live retention claims owned ([1bbe259](https://github.com/dusterbloom/higgs/commit/1bbe2591babfad8b259f030c0363ace023014d0b)) +* **cache:** reserve retained seed slots ([d45f1b8](https://github.com/dusterbloom/higgs/commit/d45f1b822c2b012d39004df9a6034b022aeabded)) +* **capacity:** size retained-contract soft wall and post-compaction target for tool loops ([527b441](https://github.com/dusterbloom/higgs/commit/527b441c39e5d4cf594834f39e410928c1f0517f)) +* cargo fmt + restore higgs crate build on PR [#74](https://github.com/dusterbloom/higgs/issues/74) ([050af95](https://github.com/dusterbloom/higgs/commit/050af9590968c129dc8f0a5003d4af47f6591da5)) +* **chat:** evict idle retained sessions before seed admission ([b8adfd4](https://github.com/dusterbloom/higgs/commit/b8adfd423d560b7653ebf7725454662e956a3637)) +* **chat:** render prompts like HF for reasoning + tool models ([32c06c8](https://github.com/dusterbloom/higgs/commit/32c06c827f95407f980c4f9db50b9bcfbefb0da0)) +* clarify metallib recovery hint ([645dbb0](https://github.com/dusterbloom/higgs/commit/645dbb0201b3a54e3be754a6165ca4bbd951141b)) +* clear lint and review blockers ([9c8b878](https://github.com/dusterbloom/higgs/commit/9c8b878bb654ba8865f3455c91ba457b83d1161b)) +* **cli:** plan complete paired retention cost ([82d2ea2](https://github.com/dusterbloom/higgs/commit/82d2ea2a6d559330bb817159d81e6b78d9a972de)) +* **config:** timeout validation and figment model merge ([441884d](https://github.com/dusterbloom/higgs/commit/441884d6450e2ce486ff3e131b37033296ea3cc9)) +* correct comment about signal handler behavior ([81cbd71](https://github.com/dusterbloom/higgs/commit/81cbd71e38957287cdc81c1e098bc4c8d81a7801)) +* default Qwen3.6 to non-thinking mode ([#150](https://github.com/dusterbloom/higgs/issues/150)) ([372020e](https://github.com/dusterbloom/higgs/commit/372020ec5198b47bfb29babbaf60b4250507a76e)) +* **desktop:** address review findings and bundle the CLI in the app ([bb9a5c3](https://github.com/dusterbloom/higgs/commit/bb9a5c3dd474655e68a545562a9b3f6bfee13ac5)) +* **doctor:** bracket IPv6 host when binding port; add api_key/rate_limit positive-path tests ([7177476](https://github.com/dusterbloom/higgs/commit/717747662379fe1cf89b01b5db5fdf50246504a3)) +* **higgs:** validate config writes, and make metrics see failed requests ([#272](https://github.com/dusterbloom/higgs/issues/272)) ([cfe0ab0](https://github.com/dusterbloom/higgs/commit/cfe0ab033705a2f819c1eb4d59b78db6c6d2f6f7)) +* improve Anthropic API compatibility ([16ee50d](https://github.com/dusterbloom/higgs/commit/16ee50d5b4d1e7e24bdbd3e7e97a2f8943b15a23)) +* improve Anthropic API compatibility ([ff7e96c](https://github.com/dusterbloom/higgs/commit/ff7e96c94b308cfe5d83ea8d162e96e2e50d7e0e)) +* log warning instead of silently discarding signal handler error ([6946974](https://github.com/dusterbloom/higgs/commit/6946974df001540b071ebc97bf7dc3fecfa68371)) +* make pre-push pass on dust stack ([2695165](https://github.com/dusterbloom/higgs/commit/26951659aa8ff56d0362a6916827dbe9cf6fae88)) +* **mlx:** restore 0.31 runtime compatibility ([e36ba68](https://github.com/dusterbloom/higgs/commit/e36ba68b8b824b62d06ec7e2e9885231ab309c1f)) +* **models:** make catalog lifecycle authoritative ([0502c67](https://github.com/dusterbloom/higgs/commit/0502c67b5a2c4a455e490fe2071084623934b548)) +* **models:** make catalog selection race safe ([41ffa38](https://github.com/dusterbloom/higgs/commit/41ffa38c3693b51fb09b65488b9f702ab91cc792)) +* **models:** recognize Nanbeige adapter ([a4e1254](https://github.com/dusterbloom/higgs/commit/a4e1254b7437b0aee310b1a7e69434bc6bb9aa67)) +* **models:** retain path guard through cleanup ([f135343](https://github.com/dusterbloom/higgs/commit/f13534367557b5a94f7f2db53936c16a963b2eac)) +* **models:** retain path ownership across unload ([9a3eea1](https://github.com/dusterbloom/higgs/commit/9a3eea13f05ec6eea71120462f9f50c94b60020f)) +* **models:** retain unload paths and stable names ([4949d89](https://github.com/dusterbloom/higgs/commit/4949d89f66c0340171817541c119bbbbe7e1b685)) +* **models:** runtime loads inherit the matching [[models]] entry ([90ad90a](https://github.com/dusterbloom/higgs/commit/90ad90a1cd25a64dd711fdacde808a7df1fb5765)) +* **models:** validate catalog artifacts ([c2df0c7](https://github.com/dusterbloom/higgs/commit/c2df0c7bc0e9a474660105791a42e5e98559a324)) +* **models:** validate Nanbeige discovery ([c7ddb27](https://github.com/dusterbloom/higgs/commit/c7ddb2714db08d08ea5536290bc2bb3baf4ac91d)) +* normalize auto_router.model to a name like routes do ([1e741c5](https://github.com/dusterbloom/higgs/commit/1e741c5c83133923565b59260e9bf64d41cd3e87)) +* normalize auto_router.model to a name like routes do ([3b52db4](https://github.com/dusterbloom/higgs/commit/3b52db488c4099e44b22712640f82f3f57f8efaa)) +* remove incorrect default_value on Option<u8> CLI arg — PR [#75](https://github.com/dusterbloom/higgs/issues/75) ([bf87bbd](https://github.com/dusterbloom/higgs/commit/bf87bbd4b9f5b2a88e386f2bb7b03beb0f07534d)) +* resolve auto_router model by basename when config uses full path ([#41](https://github.com/dusterbloom/higgs/issues/41)) ([7220fa2](https://github.com/dusterbloom/higgs/commit/7220fa27ce4f9f67b587ea9a5a3785735d3cfb1d)) +* restore higgs crate build on PR [#75](https://github.com/dusterbloom/higgs/issues/75) — chat.rs usage stubs ([f92d139](https://github.com/dusterbloom/higgs/commit/f92d139e4d8b1319169d168c73c92db52bf01a4d)) +* restore pattern matching fallback in force routing mode ([c1bb2c3](https://github.com/dusterbloom/higgs/commit/c1bb2c39c2fc8a377a7fab2a0c792f3ec6794899)) +* restore pattern matching fallback in force routing mode ([217249f](https://github.com/dusterbloom/higgs/commit/217249f2612cde2bf92ac81d10228ee6c6b9b4f8)) +* route first streamed token through incremental detokenizer ([722218d](https://github.com/dusterbloom/higgs/commit/722218df3cfb10c8671721cf45888ec45e31187c)) +* **routes:** close think tag on length-stopped reasoning in OpenAI path ([5c2ea56](https://github.com/dusterbloom/higgs/commit/5c2ea56566fafbf8198f2bca34d3454ea70c2ca2)) +* satisfy clippy duration lint ([20c6aae](https://github.com/dusterbloom/higgs/commit/20c6aaebdafba342e62e33ed4b904dcc5620dc0a)) +* split long first doc paragraphs for clippy ([c195312](https://github.com/dusterbloom/higgs/commit/c1953125d8399f899236d7917f26b94051fccb4b)) +* stabilize dust stack CI ([8e629e3](https://github.com/dusterbloom/higgs/commit/8e629e35e53bb65b9a6dd718be5d2d50a79e297c)) +* strip thinking tags from Anthropic route, fix force routing, add proxy usage tracking ([89f8db2](https://github.com/dusterbloom/higgs/commit/89f8db2c889971b8c2ae21dec8d63ea70308491e)) +* strip thinking tags, fix force routing, add proxy usage metrics ([0ffbabb](https://github.com/dusterbloom/higgs/commit/0ffbabb1cb0abbca70d5c01bea007028b21d6ff4)) +* suffix float literals for new float_literal_f32_fallback lint ([#230](https://github.com/dusterbloom/higgs/issues/230)) ([83029e4](https://github.com/dusterbloom/higgs/commit/83029e409cf0bbfbc03d363590edba920de3b1f4)) +* support clippy across toolchains ([abc316d](https://github.com/dusterbloom/higgs/commit/abc316d1c573db20a1921530782752f41ee745f4)) +* support mlx qwen3.6 smoke ([7046849](https://github.com/dusterbloom/higgs/commit/704684970b3cf43ad9bc3644e74422e378dacfd4)) +* type alias for build_router signature assertion ([d084592](https://github.com/dusterbloom/higgs/commit/d0845926a64c0179646855b628ef0da737e31b2f)) +* use 128+signal convention for signal-killed child exit codes ([89b7ae0](https://github.com/dusterbloom/higgs/commit/89b7ae0cb98b3bf372d49b83f65ef8e23d5d722c)) + + +### Performance Improvements + +* **escha:** async layer eval off, 3 retained sessions ([fef5775](https://github.com/dusterbloom/higgs/commit/fef5775c75bd2908584ab941377317a90614b3d1)) +* **sse:** pre-serialize static chunk fields for streaming routes ([056f4b4](https://github.com/dusterbloom/higgs/commit/056f4b4e316d27ab5c960b954619996f63653942)) +* **sse:** pre-serialize static chunk fields for streaming routes ([d8e02ba](https://github.com/dusterbloom/higgs/commit/d8e02ba9114f799cf47ebc6074385c14b7cf44cf)) + ## [1.8.0](https://github.com/panbanda/higgs/compare/higgs-v1.7.0...higgs-v1.8.0) (2026-09-02) diff --git a/crates/higgs/Cargo.toml b/crates/higgs/Cargo.toml index 8ff1bb09..19c936a9 100644 --- a/crates/higgs/Cargo.toml +++ b/crates/higgs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "higgs" -version = "1.8.0" +version = "2.0.0" description = "OpenAI and Anthropic-compatible inference server for Apple Silicon, built on mlx-rs" edition.workspace = true license.workspace = true