chore: release 0.14.0

Move Unreleased changelog entries (RTK compression, opt-in prompt
optimizer, release binary archives, Bedrock allowlist fix, model
discovery fix) into the 0.14.0 section. Bump workspace + inter-crate
versions 0.13.0 -> 0.14.0 and the README deb filename.

Fix clippy missing_const_for_thread_local in optimize-core alloc_budget
test (const-init the thread-locals) so cargo clippy -D warnings is clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
whit3rabbit
2026-07-12 21:21:14 -05:00
co-authored by Claude Opus 4.8
parent 1c7d66cc54
commit ff03a7ebd7
12 changed files with 37 additions and 35 deletions
+2
View File
@@ -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
Generated
+12 -12
View File
@@ -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",
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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"
+2 -2
View File
@@ -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"] }
+2 -2
View File
@@ -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"
@@ -15,8 +15,8 @@ use anyllm_optimize_core::{
};
thread_local! {
static RECORDING: Cell<bool> = Cell::new(false);
static ALLOC_COUNT: Cell<u64> = Cell::new(0);
static RECORDING: Cell<bool> = const { Cell::new(false) };
static ALLOC_COUNT: Cell<u64> = const { Cell::new(0) };
}
struct CountingAllocator;
@@ -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"
@@ -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"
+3 -3
View File
@@ -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"] }
+9 -9
View File
@@ -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"] }