-
Notifications
You must be signed in to change notification settings - Fork 0
Releases: coreyt/airlock
Releases · coreyt/airlock
v0.3.1
Full Changelog: v0.3.0...v0.3.1
Assets 4
v0.3.0
Full Changelog: v0.2.1...v0.3.0
Assets 4
v0.2.1
Full Changelog: v0.2.0...v0.2.1
Assets 4
v0.2.0
Full Changelog: v0.1.1...v0.2.0
Assets 4
v0.1.1 — production readiness
Changelog
All notable changes to Airlock are documented here.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
0.1.1 — 2026年04月09日
First published release. Production-readiness pack on top of the 0.1.0
internal baseline.
Security
AIRLOCK_HOSTnow defaults to127.0.0.1instead of0.0.0.0. The
proxy no longer binds all interfaces out of the box. Deployments that
need to accept off-host traffic (Docker, Kubernetes, reverse-proxied
hosts) must setAIRLOCK_HOST=0.0.0.0explicitly. Documented in the
README,docs/operations.md, the.envtemplate, and the TUI config
screen.
Fixed
- Alert engine leak (
airlock.tui.alert_engine) — active alerts
accumulated forever with no expiry or resolution. The engine now
auto-resolves alerts whose underlying condition no longer holds on the
next evaluation cycle, drops alerts older than 24h, and caps the
active list at 500 entries. - Guards stream burst drop (
airlock.tui.screens.guards) — a burst
of log entries sharing the same timestamp was being dropped after the
first one because the incremental-read filter used<=instead of
<. Fixed, with arequest_iddedupe for the rare re-seek path. - Overview p95 off-by-one (
airlock.tui.screens.overview) — the
naiveint(n * 0.95)index pinned p95 to the max for any sample size
up to 20. Replaced with a nearest-rank helper (_p95_index). test_cli_status::test_status_defaults_to_localhost_4000— failed
intermittently depending on whether a proxy was actually listening on
localhost:4000in the test environment. Now mocksurlopen.test_proxy::test_main_default_host_port— flipped to assert the
new127.0.0.1default and stubbedload_dotenvso a developer's
local.envcan't shadow the in-code default.test_cli_post::test_pass_when_key_and_sdk_available— stopped
depending on the[search]extra actually being installed in the dev
environment. Now stubs the SDK module.
Changed
- Distribution name is
airlock-llmon PyPI. The import name is
unchanged (import airlock), and the CLI command remainsairlock.
Theairlockname on PyPI was already taken by an unrelated package. - CI hardening (
.github/workflows/ci.yml):lint,docker, andsecurityjobs nowneeds: [test], so they
only run after tests pass. This stops lint/Docker from reporting
green while the test suite is red.- Linter versions pinned:
ruff==0.15.9,mypy==1.20.0,
pip-audit==2.7.3. A new upstream release can no longer turn CI
red on an unrelated PR.
- Ruff per-file ignores (
pyproject.toml) for modules with
legitimate post-gate imports (callbacks/{metrics,s3_logger,sql_logger,tracing}.py,
fast/monitor.py,guardrails/semantic.py).
Documentation
- Added PyPI metadata to
pyproject.toml:authors,keywords,
classifiers, and[project.urls](Homepage, Repository, Issues,
Changelog). - README install instructions now lead with
pip install airlock-llm
and use the real repository URL for source installs. - All
pip install airlock[extra]snippets across docs and error
messages updated topip install airlock-llm[extra].
0.1.0 — unreleased
Internal baseline. Never published to PyPI. Includes the full feature
set:
- LiteLLM-based unified proxy for OpenAI, Anthropic, and self-hosted
(vLLM / Ollama / LocalAI) endpoints. - Structured JSONL request/response logging with size + age rotation.
- PII redaction via Microsoft Presidio (CREDIT_CARD, US_SSN,
EMAIL_ADDRESS, PHONE_NUMBER, US_BANK_NUMBER, IBAN_CODE). - Keyword blocking (
AIRLOCK_BLOCKED_KEYWORDS). - Adaptive guardrail pipeline: semantic classifier, threat detector,
circuit breaker, priority scoring. - MCP tool server proxying with per-tool allow/block lists and argument
sanitization. - Textual TUI with overview, guards, threats, logs, config, test chat,
and proxy control screens. - Optional extras for S3 log archival, SQL logging, Prometheus metrics,
OpenTelemetry tracing, and the[tui]/[search]integrations. - Client-side Claude Code hooks (session, prompt, audit).
- Offline log analyzer (
airlock analyze).