Skip to content

v5.0.0

Choose a tag to compare

@zhaojh329 zhaojh329 released this 07 Jul 04:23
· 84 commits to master since this release

🎉 Major Architectural Changes

🔥 Breaking Changes

  • Removed built-in TLS support - TLS termination is now handled exclusively by reverse proxy (e.g., Nginx)
  • Removed database support - Simplified architecture by eliminating database dependencies
  • Removed multi-user support - Streamlined to single-user mode for better performance
  • Removed device whitelist support - Simplified device management approach

⚡ Performance Improvements

  • Refactored message distribution process - Improved message handling efficiency
  • Implemented TLV (Type-Length-Value) message parsing - Better protocol efficiency for device messages
  • Optimized HTTP session management - Enhanced connection handling
  • Optimized device registration process - Faster device connection establishment
  • Improved file upload speed - Better performance for file transfer operations
  • Enhanced device heartbeat mechanism - More efficient connection monitoring

🚀 New Features

🌐 Cross-Origin Support

  • Added allow-origins configuration option - Better CORS handling for web applications

📡 Device Management

  • Added API endpoint /dev/:devid - Retrieve specific device information
  • Support for heartbeat interval from rtty client - Configurable connection monitoring
  • Added panic logging in daemon mode - Better error tracking and debugging
  • Added device Grouping Support - Allows organizing devices into logical groups for better management
  • Added show IP Address in dashboard

🖥️ UI Enhancements

  • More convenient device web access - Streamlined user experience
  • Enhanced terminal font size control - Better terminal customization
  • Submit on Enter key in Login page - Improved user interaction

🔧 Configuration Changes

Simplified Configuration

  • Replaced dev-auth-url with dev-hook-url - More descriptive naming
  • Password no longer required for command execution - Simplified authentication flow

🛠️ Technical Improvements

Code Quality

  • Updated CLI framework to github.com/urfave/cli/v3 - Modern CLI handling
  • Updated all packages to latest versions - Security and stability improvements
  • Fixed memory leak in httpProxyCons - Better resource management
  • Fixed GenUniqueID function - More reliable ID generation
  • Improved error handling - Close device on invalid message type
  • Added expiration for HTTP proxy sessions - Better session management
  • Ensured client is only closed once - Prevented race conditions
  • Fixed device message length validation - Better protocol compliance

💔 Removed Features

  • Built-in TLS/SSL support (use reverse proxy instead)
  • Database integration
  • Multi-user authentication system
  • Device whitelist functionality
  • Font size API endpoint
  • Generate token command line option

🔄 Migration Guide

From v4.4.5 to v5.0.0

  1. TLS Configuration: Set up Nginx or another reverse proxy for TLS termination
  2. Database: Remove any database-related configurations
  3. Multi-user: Migrate to single-user authentication model
  4. Configuration: Update rttys.conf to remove deprecated options
  5. Device Management: Update any integrations that relied on device whitelist

Note: This release focuses on simplification and performance improvements. The removal of built-in TLS, database, and multi-user support makes rttys more lightweight and easier to deploy while maintaining core functionality.

🔗 Full Changelog

For detailed commit history, see: v4.4.5...v5.0.0