Skip to content

v0.3.0 – Multi-User Experience

Choose a tag to compare

@github-actions github-actions released this 07 Mar 21:21
· 78 commits to refs/heads/main since this release
74ece14

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