diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d3aef2..d6f485c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Versions follo ## [Unreleased] +## [0.14.0] - 2026-07-12 + ### Added - RTK tool-output compression (`RTK_COMPRESS=true` / admin toggle): command-aware filtering of tool-result text (test/build/git/log output) using a catalog of 55 declarative filters diff --git a/Cargo.lock b/Cargo.lock index 96b606c..8d3a5a0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -104,7 +104,7 @@ checksum = "2a4385e2e34eb35d6b3efe798b9eb88096925d87726c0798709bf56d9ed84af3" [[package]] name = "anyllm_batch_engine" -version = "0.13.0" +version = "0.14.0" dependencies = [ "anyllm_translate", "async-trait", @@ -126,7 +126,7 @@ dependencies = [ [[package]] name = "anyllm_client" -version = "0.13.0" +version = "0.14.0" dependencies = [ "anyllm_translate", "bytes", @@ -145,7 +145,7 @@ dependencies = [ [[package]] name = "anyllm_optimize_benches" -version = "0.13.0" +version = "0.14.0" dependencies = [ "anyllm_optimize_core", "anyllm_optimize_passes", @@ -154,7 +154,7 @@ dependencies = [ [[package]] name = "anyllm_optimize_cli" -version = "0.13.0" +version = "0.14.0" dependencies = [ "anyhow", "anyllm_optimize_core", @@ -169,7 +169,7 @@ dependencies = [ [[package]] name = "anyllm_optimize_core" -version = "0.13.0" +version = "0.14.0" dependencies = [ "memchr", "proptest", @@ -180,7 +180,7 @@ dependencies = [ [[package]] name = "anyllm_optimize_passes" -version = "0.13.0" +version = "0.14.0" dependencies = [ "anyllm_optimize_core", "memchr", @@ -191,7 +191,7 @@ dependencies = [ [[package]] name = "anyllm_optimize_scorer" -version = "0.13.0" +version = "0.14.0" dependencies = [ "anyllm_optimize_core", "ndarray", @@ -205,7 +205,7 @@ dependencies = [ [[package]] name = "anyllm_providers" -version = "0.13.0" +version = "0.14.0" dependencies = [ "reqwest 0.12.28", "serde", @@ -215,7 +215,7 @@ dependencies = [ [[package]] name = "anyllm_proxy" -version = "0.13.0" +version = "0.14.0" dependencies = [ "anyllm_batch_engine", "anyllm_client", @@ -274,7 +274,7 @@ dependencies = [ [[package]] name = "anyllm_pxpipe" -version = "0.13.0" +version = "0.14.0" dependencies = [ "base64 0.22.1", "font8x8", @@ -286,7 +286,7 @@ dependencies = [ [[package]] name = "anyllm_rtk" -version = "0.13.0" +version = "0.14.0" dependencies = [ "regex", "serde", @@ -295,7 +295,7 @@ dependencies = [ [[package]] name = "anyllm_translate" -version = "0.13.0" +version = "0.14.0" dependencies = [ "axum 0.8.9", "bytes", diff --git a/Cargo.toml b/Cargo.toml index d047de7..e3c4760 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,7 +16,7 @@ members = [ resolver = "2" [workspace.package] -version = "0.13.0" +version = "0.14.0" edition = "2021" license = "MIT" repository = "https://github.com/whit3rabbit/anyllm-proxy" diff --git a/README.md b/README.md index c1f4712..8d24f2a 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ brew install whit3rabbit/tap/anyllm-proxy **Linux (Debian/Ubuntu):** ```bash # Check https://github.com/whit3rabbit/anyllm-proxy/releases for the current filename -curl -LO https://github.com/whit3rabbit/anyllm-proxy/releases/latest/download/anyllm-proxy_0.13.0-1_amd64.deb +curl -LO https://github.com/whit3rabbit/anyllm-proxy/releases/latest/download/anyllm-proxy_0.14.0-1_amd64.deb # arm64: replace amd64 with arm64 sudo dpkg -i anyllm-proxy_*.deb sudo systemctl enable --now anyllm-proxy diff --git a/crates/batch_engine/Cargo.toml b/crates/batch_engine/Cargo.toml index 353bbae..4a14ac7 100644 --- a/crates/batch_engine/Cargo.toml +++ b/crates/batch_engine/Cargo.toml @@ -7,7 +7,7 @@ license.workspace = true repository.workspace = true [dependencies] -anyllm_translate = { path = "../translator", version = "0.13.0" } +anyllm_translate = { path = "../translator", version = "0.14.0" } rusqlite = { version = "0.32", features = ["bundled"] } serde = { version = "1", features = ["derive"] } serde_json = "1" diff --git a/crates/client/Cargo.toml b/crates/client/Cargo.toml index 5c94670..82d6386 100644 --- a/crates/client/Cargo.toml +++ b/crates/client/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "anyllm_client" description = "Async HTTP client for Anthropic-to-OpenAI translation with retry, SSRF protection, and SSE streaming" -version = "0.13.0" +version = "0.14.0" edition.workspace = true license.workspace = true repository.workspace = true @@ -17,7 +17,7 @@ native-tls = ["reqwest/native-tls"] rustls = ["reqwest/rustls-tls-native-roots"] [dependencies] -anyllm_translate = { path = "../translator", version = "0.13.0" } +anyllm_translate = { path = "../translator", version = "0.14.0" } # TLS features are controlled via the native-tls / rustls feature flags above. reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "http2"] } tokio = { version = "1", features = ["rt", "sync", "time"] } diff --git a/crates/optimizer/benches/Cargo.toml b/crates/optimizer/benches/Cargo.toml index 1d34ed8..85c67d8 100644 --- a/crates/optimizer/benches/Cargo.toml +++ b/crates/optimizer/benches/Cargo.toml @@ -12,8 +12,8 @@ name = "optimize" harness = false [dependencies] -anyllm_optimize_core = { path = "../crates/optimize-core", version = "0.13.0" } -anyllm_optimize_passes = { path = "../crates/optimize-passes", version = "0.13.0" } +anyllm_optimize_core = { path = "../crates/optimize-core", version = "0.14.0" } +anyllm_optimize_passes = { path = "../crates/optimize-passes", version = "0.14.0" } [dev-dependencies] criterion = "0.5" diff --git a/crates/optimizer/crates/optimize-core/tests/alloc_budget.rs b/crates/optimizer/crates/optimize-core/tests/alloc_budget.rs index 954d43e..484cc0f 100644 --- a/crates/optimizer/crates/optimize-core/tests/alloc_budget.rs +++ b/crates/optimizer/crates/optimize-core/tests/alloc_budget.rs @@ -15,8 +15,8 @@ use anyllm_optimize_core::{ }; thread_local! { - static RECORDING: Cell = Cell::new(false); - static ALLOC_COUNT: Cell = Cell::new(0); + static RECORDING: Cell = const { Cell::new(false) }; + static ALLOC_COUNT: Cell = const { Cell::new(0) }; } struct CountingAllocator; diff --git a/crates/optimizer/crates/optimize-passes/Cargo.toml b/crates/optimizer/crates/optimize-passes/Cargo.toml index 440712f..02c1395 100644 --- a/crates/optimizer/crates/optimize-passes/Cargo.toml +++ b/crates/optimizer/crates/optimize-passes/Cargo.toml @@ -9,7 +9,7 @@ categories = ["compression", "text-processing"] keywords = ["llm", "prompt", "compression", "openai", "anthropic"] [dependencies] -anyllm_optimize_core = { path = "../optimize-core", version = "0.13.0" } +anyllm_optimize_core = { path = "../optimize-core", version = "0.14.0" } serde = { version = "1", features = ["derive"] } serde_json = "1" memchr = "2" diff --git a/crates/optimizer/crates/optimize-scorer/Cargo.toml b/crates/optimizer/crates/optimize-scorer/Cargo.toml index c9e657b..624f357 100644 --- a/crates/optimizer/crates/optimize-scorer/Cargo.toml +++ b/crates/optimizer/crates/optimize-scorer/Cargo.toml @@ -16,7 +16,7 @@ default = [] onnx = ["dep:ort", "dep:tokenizers", "dep:ndarray", "dep:rayon"] [dependencies] -anyllm_optimize_core = { path = "../optimize-core", version = "0.13.0" } +anyllm_optimize_core = { path = "../optimize-core", version = "0.14.0" } # Model-artifact download + sha256 verify (always compiled — the `artifact` module lets # the proxy/CLI detect+fetch the model without pulling the ONNX Runtime stack). sha2 = "0.10" diff --git a/crates/optimizer/optimize-cli/Cargo.toml b/crates/optimizer/optimize-cli/Cargo.toml index 18283c5..642f522 100644 --- a/crates/optimizer/optimize-cli/Cargo.toml +++ b/crates/optimizer/optimize-cli/Cargo.toml @@ -30,9 +30,9 @@ onnx = ["anyllm_optimize_scorer/onnx"] tiktoken = ["dep:tiktoken-rs"] [dependencies] -anyllm_optimize_core = { path = "../crates/optimize-core", version = "0.13.0" } -anyllm_optimize_passes = { path = "../crates/optimize-passes", version = "0.13.0" } -anyllm_optimize_scorer = { path = "../crates/optimize-scorer", version = "0.13.0" } +anyllm_optimize_core = { path = "../crates/optimize-core", version = "0.14.0" } +anyllm_optimize_passes = { path = "../crates/optimize-passes", version = "0.14.0" } +anyllm_optimize_scorer = { path = "../crates/optimize-scorer", version = "0.14.0" } serde = { version = "1", features = ["derive"] } serde_json = "1" clap = { version = "4", features = ["derive", "env"] } diff --git a/crates/proxy/Cargo.toml b/crates/proxy/Cargo.toml index fb78035..26c824f 100644 --- a/crates/proxy/Cargo.toml +++ b/crates/proxy/Cargo.toml @@ -13,17 +13,17 @@ name = "anyllm-proxy" path = "src/main.rs" [dependencies] -anyllm_translate = { path = "../translator", version = "0.13.0" } -anyllm_client = { path = "../client", version = "0.13.0" } -anyllm_batch_engine = { path = "../batch_engine", version = "0.13.0" } -anyllm_providers = { path = "../providers", version = "0.13.0", features = ["runtime-catalog"] } -anyllm_pxpipe = { path = "../pxpipe", version = "0.13.0" } -anyllm_rtk = { path = "../rtk", version = "0.13.0" } -anyllm_optimize_core = { path = "../optimizer/crates/optimize-core", version = "0.13.0" } -anyllm_optimize_passes = { path = "../optimizer/crates/optimize-passes", version = "0.13.0" } +anyllm_translate = { path = "../translator", version = "0.14.0" } +anyllm_client = { path = "../client", version = "0.14.0" } +anyllm_batch_engine = { path = "../batch_engine", version = "0.14.0" } +anyllm_providers = { path = "../providers", version = "0.14.0", features = ["runtime-catalog"] } +anyllm_pxpipe = { path = "../pxpipe", version = "0.14.0" } +anyllm_rtk = { path = "../rtk", version = "0.14.0" } +anyllm_optimize_core = { path = "../optimizer/crates/optimize-core", version = "0.14.0" } +anyllm_optimize_passes = { path = "../optimizer/crates/optimize-passes", version = "0.14.0" } # Always compiled for the model-artifact detect/download admin flow; the heavy ONNX # scorer inference is gated behind the proxy's `optimizer-onnx` feature (below). -anyllm_optimize_scorer = { path = "../optimizer/crates/optimize-scorer", version = "0.13.0" } +anyllm_optimize_scorer = { path = "../optimizer/crates/optimize-scorer", version = "0.14.0" } axum = { version = "0.8", features = ["ws", "multipart"] } tokio = { version = "1", features = ["full"] } reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "native-tls", "http2", "multipart"] }