You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixed Homebrew formula publish: publish-homebrew-formula job now depends on build-global-artifacts where cargo-dist generates the .rb formula file.
Was incorrectly depending only on build-local-artifacts after the decoupling
fix in v0.1.11.
Install oxllm 0.1.12
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/oxllm/releases/download/v0.1.12/oxllm-installer.sh | sh
OpenAI-compatible JSON error format: All error responses (400, 502, 403) now
return {"error": {"message": ..., "type": ..., "code": ...}} with Content-Type: application/json. Official OpenAI SDKs can parse errors correctly.
CORS headers: Access-Control-Allow-Origin: * on all public endpoints
(/v1/chat/completions, /v1/embeddings, /v1/models). Enables browser-based
OpenAI SDKs (JavaScript, Vercel AI SDK) to call the proxy directly.
x-request-id correlation: Every response now includes an oxllm-<hex> x-request-id header, visible in both success and error responses. The ID is
also attached to all log lines and OTel spans (proxy.request_id attribute)
for end-to-end request tracing.
Provider status OTel gauge: llm_proxy.provider.status (0=Healthy, 1=Cooldown,
2=Tripped) now emits on every circuit state transition. Previously the gauge was
defined but never populated.
Unit & integration tests: 7 new tests covering CORS preflight, JSON error
format parsing, and x-request-id presence on both success and error responses.
Changed
localhost_only middleware returns JSON error body instead of empty 403.
CORS layer registered globally, before all per-route middleware.
All upstream-failure warn! log lines now include request_id field.
Documentation
Added CORS support, x-request-id, and JSON error format to README features list.
Updated architecture doc with CORS subsection, request correlation docs, and
updated middleware diagram.
Install oxllm 0.1.11
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/oxllm/releases/download/v0.1.11/oxllm-installer.sh | sh
Updated docs/providers.md to match the actual config.toml — removed Cerebras
(not in config), updated Groq/SambaNova/OpenRouter model names to verified IDs,
excluded Gemini 2.5 Pro (paid-only), added second SambaNova tier.
Updated docs/architecture.md with missing endpoints (/admin/providers/*, /health), corrected rate-limit header parsing claim (only Retry-After),
documented v0.1.9 mid-stream feedback deferral, marked root-context-synthesis
as planned-not-implemented, added manual_disabled field to struct diagram,
and updated admin-route protection to mention dual-stack IPv6 support.
Install oxllm 0.1.10
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/oxllm/releases/download/v0.1.10/oxllm-installer.sh | sh
oxllm serve now uses the host config field for IPv4 binding instead of
hardcoding 127.0.0.1. Set host = "0.0.0.0" to accept connections from
other machines. Admin and status routes remain protected by localhost_only
middleware regardless of bind address.
Install oxllm 0.1.8
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/oxllm/releases/download/v0.1.8/oxllm-installer.sh | sh
oxllm --version now reports the actual crate version from Cargo.toml
instead of a hardcoded 0.1.0 string (broken since v0.1.5).
Uses env!("CARGO_PKG_VERSION") via clap derive.
Added
Router-ready config with all API keys inlined (no shell variables) and
Ollama fallback removed — written to /etc/oxllm/config.toml.
systemd service file, update script (/usr/local/bin/oxllm-update).
Install oxllm 0.1.7
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/oxllm/releases/download/v0.1.7/oxllm-installer.sh | sh