Skip to content

v2024.12.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 01 Dec 20:48
· 1 commit to master since this release
v2024.12.0
3559a16

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