0.12.3 - 2026-01-30
- DICOM C-GET ordering bug that could return results in incorrect order
0.12.2 - 2026-01-21
- PDU Size negotiation in SCU
0.12.1 - 2026-01-21
- Release profile optimization with LTO (Link Time Optimization) and single codegen unit for improved runtime performance
- PDU size negotiation in DIMSE SCP association and response handling
- Incorrect crate version dependencies in Cargo.lock
0.12.0 - 2026-01-08
- Data mesh architecture with provider resolution and mesh authentication
- HTTPS/TLS support for secure connections
- Enhanced DICOM capabilities with C-STORE on SCU and improved protocol handling
- Version flag support for CLI
- Improved configuration management and cloud integration
- HTTP/3 (QUIC) support for both inbound listeners and outbound backends
- New middleware for DICOM to DICOMweb protocol translation
- Enhanced webhook middleware for event integration and audit logging
- Improved middleware type validation
- (AURA-2241) Data mesh infrastructure
- Basic mesh data architecture and routing
- Mesh authentication and token management
- Route mesh ingress routes to matching endpoints
- Provider resolution for mesh participants
- Support for ingress/egress configuration in meshes
- (AURA-2240) HTTPS/TLS support for secure connections
- (AURA-2248) C-STORE support on DICOM SCU for sending datasets
- (AURA-2245) Provider resolution system
- CLI version flag (
--versionor-v) to display harmony version - Configuration push on startup option for cloud integration
- Support for
idfield on proxy and services configuration - Enhanced startup error messages for better diagnostics
- DICOM flatten support for left-side middleware
- C-STORE dataset available in envelope for middleware processing
- Basic DICOM keys added to DIMSE crate
- Build command for creating release binaries for testing
- HTTP/3 (QUIC) protocol support
- HTTP/3 inbound listeners with TLS configuration
- HTTP/3 backend connectivity for outbound requests
- Coexistence with HTTP/1.x and HTTP/2 on same network
- DICOM to DICOMweb middleware for protocol translation
- Enables DICOM SCP endpoints to proxy to DICOMweb-compatible backends
- Webhook middleware for event integration
- Integration with external event systems
- Migrated
backend_pathto services configuration - Token handling now saves tokens when provided via environment variables
- Management service organization improved
- Made JWT
_algfield optional for flexibility - Improved middleware type validation
- Process no longer exits on invalid config reload (gracefully handles errors)
- Race conditions in DICOM port allocations resolved
- Base64 decoding issues on DICOMweb responses corrected
- DICOM to DICOMweb STOW functionality fixed
- PDU size support added for DICOM associations
- Various DICOM protocol-level fixes for improved stability
- Race conditions between cloud polling and force updates prevented
- Config writer bug fixed
- Safer handling for ingress/egress names in meshes
- Missing ingress/egress on mesh no longer causes fatal errors
- runbeam-sdk dependency issues resolved
- Test resource conflicts (dcmqrscp) resolved
- DICOMweb test stability improved
- Dev install script fixed
- Fixed validation failures for
jwt_authmiddleware - Missing targets no longer cause crashes during configuration validation
- Provider and mesh documentation updates
- Internal crates updated to 0.12.0 (dimse, dicom_json_tool, harmony_transform, harmony-database, harmony-filesystem)
0.10.1 - 2025-12-14
- Target details are now constructed correctly in the pipeline executor, fixing issues with target configuration propagation
0.10.0 - 2025-12-11
- Debug logging support for JOLT transforms (enable with
debug = truein transform middleware config) - Environment variable validation:
proxy.required_env_varsfield enforces required environment variables at startup with clear error messages - Sensitive field patterns:
proxy.sensitive_field_patternsfield for log redaction rules - JWT authentication: Support for deprecated
leeway_secondsfield as fallback toleeway_secsfor backward compatibility
- Transform pipeline behavior improved for better handling of nested array structures
- Query parameter handling improved to preserve parameters set by middleware
- Target details now available earlier in the request processing pipeline
- Transform arrays now handled correctly (via harmony-jolt 0.7)
- Query parameters are now properly cleared if provided by middleware
- Target details can now be set in transforms without requiring pre-existing entry
- Test suite improvements and stability fixes
- Updated harmony-jolt to 0.7.0 for improved array transformation handling
0.9.0 - 2025-12-07
- Enhanced debugging and data transformation capabilities with new middleware
- Improved DICOM handling with structure flattening/unflattening
- Extended DIMSE SCP service with C-STORE support
- Configuration flexibility with environment variable replacement
- Refactored and streamlined DIMSE implementation
- (AURA-2226) Data dumper middleware for inspecting and debugging pipeline data
- New
dicom_flattenanddicom_unflattenmiddleware for flattening DICOM structures in pipelines - Additional
left/righttransform application options in middleware configuration - Filesystem/S3 backend type
- Support C-STORE on the DIMSE SCP service
- Support for environment variable replacement in configuration files
- Transform pipeline now uses a more consistent internal data structure for normalized/transform data
- DIMSE crates (SCU/SCP) refactored to reduce reliance on dcmtk and improve maintainability
- Demo scripts updated to reflect current examples and configuration
- Minor internal cleanups
- Transform behavior and FHIR DICOM example pipeline reliability improvements
- FHIR and FHIR-DICOM example authentication and configuration issues
- DIMSE task handling and related example correctness
- Doctest stability and test-only file handling
- Improved configuration error handling
- Config reload blocking on first run
- General docs improvements and pass over existing content
- Chore-level documentation updates and AI assistant rules refinements
0.8.0 - 2025-11-24
- Major authentication and authorization overhaul with new authentication handling system
- Normalized connection configuration support for all endpoint and backend types
- Updated to runbeam-sdk 0.9 for improved cloud integration
- Enhanced peer and target configuration with connection references
- Authentication system has been redesigned - old auth configurations need to be migrated to the new authentication handling system
- Backend and target configurations now support authorization settings that may require config updates
- (AURA-2196) New authorization support for backends and targets
- Fine-grained authorization controls at the backend level
- Target-specific authorization configuration
- Integration with new authentication handling system
- (AURA-2196) Redesigned authentication handling system
- More flexible and extensible authentication framework
- Improved JWT token validation
- Better separation of authentication and authorization concerns
- (AURA-2205) Normalized ConnectionConfig support for all services
fhir,dicomweb,jmix, andechoendpoints now support connection settings- Backend services respect connection configuration including
base_pathand protocol-derived URLs - Configuration references via
target_refandpeer_reffor cleaner configuration
- (AURA-1973, AURA-2127) Basic peer and target configuration
- Foundation for peer-to-peer communication patterns
- Target configuration for more flexible routing
- Replaced existing authentication system with new authentication handling framework
- Enhanced configuration validation for connection settings
- Improved error messages for authentication and authorization failures
- JWT token validation error that could cause authentication failures
- Connection configuration handling for various service types
- Updated runbeam-sdk to 0.9.0 (from 0.7.x)
- SDK update to 0.8 as intermediate step
0.7.1 - 2025-11-20
- Enhanced deployment options with Helm charts and Docker Compose
- Improved security and deployment best practices
- Better documentation for cloud deployment scenarios
- Helm chart for Kubernetes deployment with security best practices
- Docker Compose quickstart for simple installation
- Cloud Run deployment documentation
- Pre-built Docker images for easier deployment
- Updated Docker base image to debian:stable-slim for improved security
- Removed version pinning from docker-compose for flexibility
- Improved Helm chart security (container UID collision prevention, non-root user)
- Container UID collision prevention in Helm charts
- Security hardening in Helm deployment configuration
0.7.0 - 2025-11-19
- Updated runbeam-sdk integration to 0.7.x for improved cloud connectivity
- Removed OpenSSL dependencies from build pipeline for better portability
- Enhanced configuration handling for Runbeam authorization and API defaults
- Docker build improvements and testing infrastructure
- Updated runbeam-sdk dependency to 0.7.x
- Improved config handling for cloud integration
- Enhanced Docker build workflow with better testability
- Standardized internal crate versions to 0.7.0 across workspace
- Runbeam authorization and config sync issues
- Default API URL configuration in cloud integration
- OpenSSL dependencies removed from build pipeline for improved cross-platform support
- Docker build dependencies (libdus) for production images
- Test stability and reliability improvements
- Updated runbeam-sdk to 0.7.x
- Internal workspace crates (harmony-database, harmony-filesystem) bumped to 0.7.0
0.6.0 - 2025-11-17
- Binary name standardized to
harmonyfor a consistent CLI and deployment experience - New policy-based middleware for fine-grained request handling and authorization
- Additional data type handling in core pipeline processing (AURA-2195)
- New smoketest example to validate end‑to‑end configuration quickly
- Binary name is now
harmony(previously some docs referred toharmony-proxy); update any custom scripts or automation accordingly
- Policy-based middleware with new policy types and examples
- Additional content/data type support in the pipeline (AURA-2195)
- New
smoketestexample configuration to exercise key paths - Internal crate versions bumped to 0.6.0 (
dimse,dicom_json_tool,harmony_transform) for consistency with the mainharmonycrate
- Standardized documentation examples to use the
harmonybinary name - Clarified install and Docker usage instructions around the
harmonybinary - Updated examples to reflect current policy and pipeline behavior
- Renamed release build workflow for clearer CI semantics
- Hot reload now correctly watches and applies updates to pipelines
- Fixed config watching failures for pipeline updates
- Query/path parameter handling no longer strips parameters from paths
- Hop-by-hop headers are no longer proxied to backends
- Policy configuration and return types aligned with the new middleware
- Minor path and build warnings, plus various test and example fixes
- Updated README and docs to reference
harmonyas the primary binary name - Added/expanded policy and installation documentation
- Internal crates updated to version 0.6.0 (no external dependency version changes)
- runbeam-sdk dependency refreshed to the latest compatible 0.6.x
0.5.0 - 2025-11-10
- Hot configuration reload with zero-downtime updates for routes/middleware/backends
- Runbeam Cloud integration for gateway authentication and authorization
- Production-ready DICOM SCP implementation with full C-ECHO, C-FIND, C-GET, C-MOVE support
- Enhanced security with encryption key management and token storage
- Migration from fulvio-jolt to jolt-rs for transform middleware
- Transform middleware now requires jolt-rs instead of fluvio-jolt
- JOLT specification format remains compatible but dependency has changed
-
(AURA-2175) Hot-swappable configuration with file watcher and zero-downtime reloads
- Automatic config reload on file changes (200ms debounce)
- Zero-downtime updates for middleware, routes, backends, logging, and storage config
- Selective adapter restart for network topology changes
- Config validation before applying changes with automatic rollback on errors
-
(AURA-2064) Runbeam Cloud authentication and authorization integration
- JWT-based gateway authorization via Management API
/authorizeendpoint - Machine token lifecycle management with 30-day expiry
- Secure token storage with OS keyring support (macOS Keychain, Linux Secret Service, Windows Credential Manager)
- Encrypted filesystem storage fallback using age X25519 encryption
- Cloud polling for configuration and control plane synchronization
- JWT-based gateway authorization via Management API
-
(AURA-2073) Production-ready DICOM SCP implementation
- Complete C-ECHO support for connectivity testing
- C-FIND query operations with patient/study/series/image levels
- C-MOVE dataset transfer requests
- C-GET direct dataset retrieval
- Configurable AE titles and service endpoints
- Automatic persistent SCP orchestration for backend operations
-
(AURA-2156) Integration with runbeam-sdk for unified API access
- Replaced custom Runbeam API implementation with SDK
- Unified storage abstractions for tokens and credentials
- Better error handling and retry logic
-
Security and encryption key management
- Environment variable support for RUNBEAM_ENCRYPTION_KEY and RUNBEAM_JWT_SECRET
- Multiple key management strategies (CLI-managed, environment variables, auto-generated)
- Comprehensive encryption key documentation and best practices
- Production deployment examples for Docker, Kubernetes, AWS ECS
-
Network-aware unified startup and configuration
- Adapter registry for managing protocol adapters lifecycle
- Network-specific adapter spawning based on pipeline requirements
- Improved startup logging and diagnostics
-
Enhanced integration testing infrastructure
- Easier test execution with improved test organization
- Config reload integration tests
- Cloud poller integration tests
- Adapter registry lifecycle tests
-
Auto-generated management network configuration
- Management network automatically created if enabled but not explicitly configured
- Simplifies setup for management API functionality
-
Enhanced cloud polling with transform auto-download
- Automatic download of referenced transform specifications before applying cloud configs
- Improved error handling and validation during config sync
-
Path filter middleware TOML serialization fixes
- Replaced fulvio-jolt dependency with jolt-rs for transform middleware
- Maintains compatibility with existing JOLT specifications
- Improved performance and reliability
- Updated runbeam-sdk integration to latest version
- Removed custom Runbeam API implementations
- Simplified token management code
- Reorganized helper functions and test utilities
- Improved adapter spawning and lifecycle management
- SCP service initialization and lifecycle bugs
- Services no longer start if no endpoints are defined (prevents resource waste)
- C-ECHO and C-FIND test validation in DICOM SCP examples
- Workflow issues causing basic Rust test failures
- Various test stability improvements
- Added comprehensive encryption key management guide (docs/encryption-key-management.md)
- Enhanced security documentation with environment variables and deployment examples (docs/security.md)
- Added hot config reload architecture documentation (docs/config-reload.md)
- Updated transform middleware documentation for harmony-jolt migration
- Added harmony-jolt 0.5.0 (replacing fluvio-jolt)
- Updated runbeam-sdk integration
- Added notify 6.1 for file watching
- Added arc-swap 1.7 for atomic config swapping
- BREAKING: Transform middleware requires harmony-jolt dependency update
- Hot reload feature is production-ready as of this release
- DICOM SCP implementation is now feature-complete for Phase 1 requirements
- Runbeam Cloud integration requires environment variable configuration (RUNBEAM_JWT_SECRET)
0.4.0 - 2025-10-24
- FHIR backend support (AURA-2102)
- DICOMweb pagination, offset, filters, and date range queries (AURA-2087, AURA-2088)
- Config validation for TOML files
- End-to-end testing scripts
- JMIX builder wrong response with wrong header
- Incorrect slashes in paths
- mock_dicom backend patient level queries
- Transforms loading from non-app-root
- Missing middleware in validation
- Examples and test configurations
- Refactored adaptor spawning logic
0.3.2 - 2025-10-22
- (AURA-2086) FHIR to DICOM pipeline support
- Unified CI/CD workflows for builds and releases
- Helm chart for Kubernetes deployment
- Updated metadata transform functionality
- Unified Docker build workflows
- DockerHub repository naming
- FHIR to DICOM conversion
- Windows build shasum dependency
- OpenSSL dependency handling in builds
- Docker image tagging for releases
0.3.1 - 2025-10-21
- Improved ability to set TargetDetails in middleware
- (AURA-2103) HTTP backend with tests and related fixes
- (AURA-2113) Docker build support
- DIMSE op selection in DICOM backend
- Correctly extract manifest from zip if not available
- Echo endpoint functionality and added extra tracing
- Moved dimse_retrieve_mode to DICOM backend configuration
- Moved jmix options to the jmix_builder
0.3.0 - 2025-10-19
- Complete protocol adapter redesign built around the Router/Pipeline architecture for clearer request flow and easier extensibility. See docs/router.md and docs/adapters.md.
- Enhanced DIMSE support with more robust association handling and improved behavior for common operations.
- Configurable DICOM backends via a new backend abstraction, allowing you to select and configure different DICOM providers.
- Examples reorganized to match the new adapter/backends layout and to simplify getting started.
- Automatic persistent SCP orchestration for DICOM backend operations.
- Numerous bug fixes and dependency updates.
- Protocol adapter interfaces were redesigned.
- Configuration format related to protocol adapters/backends has changed.
- Protocol-agnostic core module layout with HTTP and DIMSE adapters
- Backend abstraction for DICOM enabling configurable providers
- Automatic persistent DICOM SCP spawning for backend operations
- Configurable GET/MOVE operations for DICOM backends
- ServiceType protocol-agnostic response hooks
- Comprehensive tests for Phase 1 components
- Router and pipeline integration updated to align with the new adapter design
- Examples directory layout updated with focused example directories
- DIMSE response conversion and status mapping improvements
- Deprecated dispatcher in favor of HttpAdapter delegation
- Management API fixes and improvements
- Backend skipping logic and associated tests
- State issues with JMIX package construction
- Management API functionality
- Transform test references updated to new example paths
- Multiple stability and correctness fixes across adapters, routing, and configuration validation
- Updated jmix-rs to 0.3.2
- Upgraded core web stack and ecosystem crates
0.2.0 - 2025-10-17
- Management HTTP API with dedicated routes path and network separation (AURA-2097)
- DICOMweb basic implementation, including QIDO and WADO (AURA-1963). Not yet feature complete.
- Path filter middleware (AURA-2100)
- Metadata transform (AURA-2101)
- Mock DICOM backend to test DICOMweb middleware and endpoint
- JWT test coverage
- DICOM/DICOMweb architectural improvements and service/middleware adjustments
- Test suite reorganization
- Middleware registration and execution (AURA-2098)
- More robust handling of middleware error types
- jmix and jmix-rs dependency issues
- dicomweb_bridge: pass includefield as return keys to findscu (restores missing attributes)
- Various test fixes and stability improvements
- DICOMweb testing guide
- Bumped tracing-subscriber
- Dependabot cargo updates
- No breaking changes since 0.1.1.