What's new in v0.50.87
Fix: scroll no longer fights you during streaming (#677)
Scrolling up to read earlier content while the AI responds now works. Auto-scroll only engages if you're already near the bottom — if you scroll up, it stays put. A small ↓ button appears at the bottom-right of the message area when you've scrolled up; click it to jump back to live output. The scroll re-pin threshold was also widened from 80px to 150px to avoid hair-trigger re-engagement on fast scroll wheels.
Fix: Gemini 3.x models now available and working (#669)
Gemini 3.1 Flash Lite Preview was missing from all model lists, causing API_KEY_INVALID errors (Google returns that error for unknown model names, not just bad keys). All provider sections now include the current Gemini 3 lineup:
- Gemini 3.1 Pro Preview — advanced reasoning, 1M context
- Gemini 3 Flash Preview — frontier-class at Flash speed
- Gemini 3.1 Flash Lite Preview — most cost-efficient
- Plus stable Gemini 2.5 Pro and Gemini 2.5 Flash as fallbacks
GEMINI_API_KEY env var now also triggers native Gemini provider detection.
Fix: read-only workspace no longer crashes Docker startup (#670)
Mounting your workspace volume as :ro in Docker Compose previously crashed the container with error_exit: Failed to set owner of /workspace. The startup script now detects read-only mounts and skips the chown/write-test gracefully, logging a clear message instead.
Fix: two-container UID/GID mismatch resolved (#668)
In setups where hermes-agent and hermes-webui run in separate containers sharing a named volume (Zeabur, Docker Compose two-container), the WebUI now auto-detects the correct UID/GID from the shared hermes-home volume rather than requiring you to set WANTED_UID=1000 manually.