[0.11.1] — 2026-07-16
Patch release: dependency security updates, an information-disclosure fix,
and two configuration/tooling corrections. No API changes.
Security
- API responses no longer carry exception text. The dashboard services
endpoint returnedstr(exc)from failed Redis and ClickHouse health
checks, andPOST /api/v1/validatereturned the raw exception text of a
guard that broke its contract. Either could echo a host, port or a
credential embedded in a connection URL back to the caller. Both now
report a generic reason; the detail is logged server-side and the
forensic records keep the full text, so the audit trail is unchanged. - cryptography updated to 50.0.0, resolving the high-severity advisory
affecting< 50.0.0. The dependency ceiling is widened from<50to
<51. - setuptools updated to 83.0.0 and pymdown-extensions to 11.0.1,
resolving two moderate advisories reported against the lockfile.
Fixed
ADMINA_GOVERNANCE_MODEis now honoured. The proxySettingsfield
declared no alias, so pydantic bound it to the bare nameGOVERNANCE_MODE
and — because the model is configured withextra="ignore"— the
prefixed variable was silently discarded with no error, despite being the
name advertised by the field's own comment,admina.yaml.example,
admina doctor, and the dashboard. It now declares
validation_alias="ADMINA_GOVERNANCE_MODE", matching the
ADMINA_GUARD_FAIL_MODEprecedent. Note: the undocumented bare
GOVERNANCE_MODEvariable is no longer accepted; a deployment relying on
it silently reverts to theenforcedefault, so switch it to the prefixed
name. The bareLOOP_*andINJECTION_*variables are unaffected — those
are read directly from the environment byadmina/core/config.pyand stay
unprefixed.make statusandscripts/generate_docs.pyreferenced top-level
proxy/,domains/,sdk/,core/andplugins/directories that have
not existed since the package was consolidated underadmina/. Both now
use the real paths, andengine_statusis imported fromadmina.engines.