v0.1.2: The Session-Affine Process Pool
Release Notes: v0.1.2
Release Date: March 07, 2026
This release focuses on critical concurrency bug fixes, API improvements for worker health checks, and comprehensively expanding documentation and examples.
🐛 Bug Fixes
- Pool Scaling Race Condition: Fixed a critical bug in
Pool.maybeScaleUp()where highly concurrent Acquire calls could circumvent themaxworker limit, causing the pool to spawn excessive workers and crash when attempting to release them back into a full channel. We introduced apendingAddsconcurrency counter to strictly bound scaling.
✨ New Features & API Improvements
- ProcessFactory Enhancements: Added flexible configuration options for
ProcessFactory:WithEnv(kv string): Inject custom environment variables (supports{{.Port}}templating).WithHealthPath(path string): Customize the HTTP path polled for liveness (defaults to"/health").WithStartTimeout(duration): Configure the maximum time allowed for the process to successfully start and report healthy.
- Robust Health Polling: Migrated health check polling from a static 30-retry limit to a clean, context-aware timeout mechanism.
📚 Documentation & Examples
- Comprehensive README: Added a complete README.md covering Herd's core invariants, architecture, and feature set.
- Ollama Multi-Agent Gateway: Introduced a fully fleshed-out example in
examples/ollamademonstrating how to use Herd as a session-affine LLM proxy.- The README was heavily updated to showcase this runnable code, along with
curlusage queries. - Added a concurrency stress-test suite (
TestConcurrentChat) for the Ollama integration.
- The README was heavily updated to showcase this runnable code, along with
⚙️ Chores
- Go Version Compatibility: Updated go.mod files to ensure backward compatibility with Go
1.21/1.22.