HERMES-GIELIE/api
nesquena-hermes f7e144d59f
Release v0.51.566 — isolated-profile opt-in hardening (#4620) (#4642)
* stage #4620 (franksong2702): snapshot isolated-profile opt-in at import (fixes #4590)

Security/deployment-hardening follow-up to #4586/#4589. Snapshots
HERMES_WEBUI_ISOLATED_PROFILE at module import (_INITIAL_ISOLATED_PROFILE_OPT_IN)
so _isolated_profile_opt_in() reads the startup snapshot, not live os.environ — a
pinned profile .env loaded later can't flip the isolation posture. _reload_dotenv
key filter kept as defense-in-depth. Adds one-time warning when HERMES_HOME has a
profile-dir shape but isolated wasn't opted in at startup. Code byte-faithful from
PR head 5ef14264.

Co-authored-by: franksong2702 <franksong2702@users.noreply.github.com>

* Release v0.51.566 — Release TY (isolated-profile opt-in hardening; #4620)

---------

Co-authored-by: nesquena-hermes <agent@nesquena-hermes>
Co-authored-by: franksong2702 <franksong2702@users.noreply.github.com>
2026-06-21 17:12:52 -07:00
..
__init__.py
agent_health.py
agent_sessions.py fix(#4385): keep archived cron sessions hidden after list refresh 2026-06-18 00:28:02 +00:00
auth.py
background.py
background_process.py test: cover malformed wakeup edge cases 2026-06-18 19:30:24 +02:00
clarify.py stage #4524: clarify 409-terminal (id-guarded, loading-cleared) + SSE-notify on expiry (#4504) + v0.51.534 CHANGELOG 2026-06-20 05:36:56 +00:00
commands.py
compression_anchor.py
config.py stage #4598 (Paladin173): composer footer control visibility toggles + rebase + contract test (#4630) 2026-06-21 12:42:42 -07:00
dashboard_probe.py
extensions.py Release v0.51.564 — loopback sidecar diagnostics (#4612) (#4632) 2026-06-21 13:07:32 -07:00
gateway_chat.py fix(#4550): harden gateway reasoning forwarding follow-up 2026-06-20 18:44:25 +00:00
gateway_watcher.py Release PF (v0.51.445): scope gateway watcher to active profile (#2848) (#4275) 2026-06-15 15:41:21 -07:00
goals.py
helpers.py Release v0.51.564 — loopback sidecar diagnostics (#4612) (#4632) 2026-06-21 13:07:32 -07:00
kanban_bridge.py stage #4447: opt-in chunked SSE for buffering proxies (#4447) + v0.51.524 CHANGELOG 2026-06-19 22:09:17 +00:00
metering.py
models.py stage #4608 onto master (v0.51.559) — backfill run-journal-recovered rows into model context 2026-06-21 10:11:35 +00:00
oauth.py Avoid blocking OAuth flow lock during Codex start 2026-06-17 00:20:49 +00:00
onboarding.py
passkeys.py
paths.py
plugin_providers.py
plugins.py
profiles.py Release v0.51.566 — isolated-profile opt-in hardening (#4620) (#4642) 2026-06-21 17:12:52 -07:00
providers.py fix(#4365): wrap /api/provider/quota in profile_env_for_active_request 2026-06-19 05:27:42 +00:00
request_diagnostics.py
rollback.py fix(#4410): pre-check workspace leaf type via lstat + close fd on non-regular (Codex gate v2) 2026-06-18 19:22:29 +00:00
route_approvals.py fix(approval): extract _webui_mirror_token literal into named constant 2026-06-14 17:48:37 +00:00
routes.py Release v0.51.565 — API-server sidecar prune (#4619) + mic insecure-origin message (#4621) (#4639) 2026-06-21 16:50:32 -07:00
run_journal.py
runner_client.py fix(gateway): correct approval URL and thread session history into runs API (#4479) 2026-06-19 13:16:39 -04:00
runtime_adapter.py
session_discoverability.py
session_events.py feat(sessions): carry changed session_id in session-list-changed events (#4221) (#4233) 2026-06-15 00:10:01 -07:00
session_lifecycle.py
session_ops.py
session_recovery.py
skill_usage.py
sse_chunked.py stage #4447: opt-in chunked SSE for buffering proxies (#4447) + v0.51.524 CHANGELOG 2026-06-19 22:09:17 +00:00
startup.py
state_sync.py
streaming.py Release v0.51.561 — context-window indicator stays correct after model switch (#4618) (#4628) 2026-06-21 11:36:26 -07:00
system_health.py
terminal.py
todo_state.py
turn_journal.py
updates.py stage #4486: untracked-file update collision recovery (#4310) [CHANGELOG pending post-4502] 2026-06-19 20:09:30 +00:00
upload.py fix(voice): recognize command STT providers in capability probe (#4312) 2026-06-16 17:21:11 +00:00
usage.py
webui_session_db.py
workspace.py harden(#4581): display-only escape symlinks must not disclose target path/metadata 2026-06-21 09:15:22 +00:00
workspace_git.py release: v0.51.506 — harden destructive workspace Git paths vs repo-local execution (#3879, #3777) 2026-06-19 02:14:13 +00:00
worktrees.py