Repository navigation
v0.3.0 – Multi-User Experience
What's New
This release completes Milestone 1 (Team-Ready Server) and Milestone 2 (Multi-User Experience) — HL7 Forge is now fully multi-user capable and production-configurable.
Milestone 1 — Team-Ready Server
Configuration file (hl7-forge.toml) — configure ports, memory limits, MLLP timeouts, log level, and max message size without recompilation. Load order: config file → environment variables → built-in defaults. (#13)
Rotating file logging — persistent log files with automatic rotation for operational monitoring and audit. (#15)
Graceful shutdown — active MLLP connections are cleanly drained on Ctrl+C or service stop before the process exits. (#7)
Connection limits — configurable max_connections (default 100) via TOML; rejected connections are counted and exposed at /api/stats. (#6)
Milestone 2 — Multi-User Experience
Session-based views — each developer maintains their own filter configuration, active tab, and scroll position, independent of all other users, via sessionStorage. (#24)
Color-coded source markers — each sender IP gets a distinct color dot in the message list. Toggle between "Color by IP" and "Color by Port" modes. A source legend appears alongside the list. (#25)
Custom text tags — manually tag messages (e.g., Bug #1234, Test scenario A) for attribution during shared use. Tags are filterable via search and synchronized across all connected clients in real time. (#26)
Bookmark / pin messages — star any message to pin it. Bookmarked messages are eviction-protected — they will not be removed when the store reaches its memory limit. Bookmark state syncs across browser tabs via WebSocket. (#27)
Resizable panel splitter — drag the border between the message list and detail panel to any width. Double-click to reset to default. Width persists across sessions via localStorage. (#4)
WebSocket exponential backoff — on disconnect, the client retries with exponential backoff (1 s → 2 s → 4 s → … → 60 s cap) and ±25% jitter to prevent thundering herd reconnections. The status bar shows a live countdown. (#12)
ACK viewer — sent ACK/NACK messages (AA, AE, AR) are stored and viewable in a dedicated "ACK" tab on message detail. (#19)
Bug Fixes
Stored XSS fix — segment data in the parsed view is now HTML-escaped and inline onclick handlers have been removed. (#20)
Testing
MSH field indexing regression tests — regression test suite for the MSH +1 offset quirk, preventing silent corruption of all MSH field extractions. (#11)
Upgrading from v0.2.0
No breaking changes. Drop the new binary in place of the old one.
Optionally add an hl7-forge.toml next to the binary to configure ports, memory limits, and log level — see the example file included in the source.
Downloads
Pre-built binaries for Windows, macOS (Apple Silicon), and Linux are attached below.
Full Changelog: v0.2.0...v0.3.0