github-actions
released this
01 Dec 20:48
·
1 commit
to master
since this release
Release v2024.12.0
This release marks a significant milestone in the Modbus Relay project, introducing package management support and numerous CI/CD improvements.
🚀 Major Changes
- Adopted Calendar Versioning (CalVer) for more intuitive version tracking
- Added official package builds for Debian and Arch Linux distributions
- Improved build system with cross-compilation support
- Restructured configuration system with YAML and environment variables support
- Added HTTP server for health checks and statistics
- Improved error handling with detailed context for serial port issues
📦 Package Support
- Added Debian package (.deb) builds for:
- x86_64 (amd64)
- ARM64 (aarch64)
- ARMv7 (armhf)
- Added Arch Linux package (.pkg.tar.zst) build for:
- x86_64
- Added systemd service files and example configurations
- Packages include proper dependencies and system integration
🛠️ Infrastructure Improvements
- Streamlined CI/CD pipeline with optimized cross-compilation
- Enhanced package building process for better reliability
- Improved dependency management and system configuration
- Added comprehensive error handling and logging
- Added platform-specific helper messages for troubleshooting
- Optimized build process for both native and cross-compilation targets
🧹 Code Quality
- Restructured connection management system
- Added per-IP permit to connection guard
- Improved idle connection cleanup
- Added connection backoff configuration
- Consolidated configuration into logical submodules (tcp, rtu, http, logging)
- Fixed Clippy warnings and improved code style
- Updated minimum Rust version requirement to 1.83
- Improved serial port handling with RTS control options
📝 Documentation
- Updated repository links and project status
- Improved license information with dual MIT/Apache-2.0 licensing
- Enhanced code documentation
- Added hierarchical configuration examples
- Added platform-specific troubleshooting guides
🔧 Technical Details
- Improved connection management and cleanup
- Enhanced environment variable configuration with double underscore separator
- Added health/stats HTTP server
- Optimized ModbusProcessor implementation
- Enhanced CRC16 calculation efficiency
- Added serial test attributes to prevent test interference
- Improved TCP server startup logging
- Added configurable RTS options (none/up/down)
📥 Installation
Packages are now available for both Debian-based and Arch-based distributions. You can find the appropriate package for your system in the release assets.
Debian/Ubuntu
# For amd64
sudo dpkg -i modbus-relay_2024.12.0_amd64.deb
# For arm64
sudo dpkg -i modbus-relay_2024.12.0_arm64.deb
# For armhf
sudo dpkg -i modbus-relay_2024.12.0_armhf.deb
Arch Linux
sudo pacman -U modbus-relay-2024.12.0-1-x86_64.pkg.tar.zst
Full Changelog: v0.1.0...v2024.12.0