Releases: Huddle01/release
Compatibility Fix for Legacy Linux Kernels
Summary
This PR addresses breaking changes introduced by the transition to newer C++ standards (C++20/23) that caused build failures on legacy Linux environments. It also formalises the deprecation path for Linux Kernel 5 as the ecosystem migrates toward Kernel 6.
Problem
The recent transition to newer C++ standards introduced changes in binary layout and language constraints incompatible with legacy headers. Furthermore:
Legacy Mismatch: Older kernels (Kernel 5.x) were released as far back as 2019. These versions are increasingly incompatible with modern C++ toolchains and the latest glibc requirements.
Compilation Errors: Issues occurred when linking modern C++ binaries against legacy kernel headers.
Ecosystem Shift: The Ubuntu ecosystem has largely migrated to Kernel 6.x (starting with Ubuntu 22.04.3+ and Ubuntu 24.04).
Solution
This PR implements compatibility patches while setting the stage for Kernel 6:
Refactored Code: Cleaned up sections utilising deprecated behaviours in the new C++ standard.
Build Scripts: Updated to ensure binary compatibility with older interfaces where strictly necessary.
Shims: Applied shims to bridge the gap between new C++ features and legacy system calls.
Impact & Migration Path
Once merged, this restores support for older distributions, but users should note the following:
Deprecation of Kernel 5: Support for Kernel 5 is being phased out. Kernel 5.x dates back several years and is being superseded by the more robust Kernel 6 architecture.
Ubuntu 22.04 Users: If you are running Ubuntu 22.04 and encounter issues, please ensure you are on version 22.04.3 or later. These versions utilise the Hardware Enablement (HWE) stack, which provides Kernel 6.x.
Future Support: Our development focus is moving toward Kernel 6 to align with Ubuntu 24.04 LTS standards, ensuring long-term stability and performance.
Full Changelog: v0.4.18...v0.8.3
Updates And Fixes
Full Changelog: v0.4.18...v0.8.1
Updates and Fixes
Full Changelog: v0.4.18...v0.8.0
v0.7.0
v0.6.9
Changelog
Added
None
Changed
- Increased the timeout for the Speedtest, because for higher bandwidth nodes the Speedtest was taking more than 10 seconds to complete!!
Technical Details
None
Breaking Changes
None
Dependencies
No dependency updates in this release
v0.6.8
Changelog
Added
-
New CLI command
hudl speedtestfor generating SpeedTest receipts on Media Node instances
-
Earnings status indicator in Media Node
/statusendpoint{ "nodeId": "0x779C0d50D1...", // WalletAddress of the Media Node "startedAt": 1722678589133, // StartedAt timestamp in milliseconds "uptime": "330", // Uptime in seconds "version": 1.2.8, // Media Node Version Being used. "status": { "earning": false, // Is the Node Earning any tHUDL, if not then Node must have dropped due to Downtime. "downtimeCnt": 10, // Count of Downtime the Media Node has Suffered "invaliStatsCnt": 10 // Count of Inavlid Stats where Node was not able to deliver its commitment of no. of CPUs Count ( 4vCPU, 8vCPU ), and Bandwidth ( 250Mbps, 1Gbps ) }, "connectionStats": { "downloadSpeed": 82, // in Mbps "uploadSpeed": 82, // in Mbps "latency": 9, // in milliseconds "jitter": 1, // in milliseconds "myServer": { "city": "Mumbai", "countryCode": "IN" }, "edgeServer": { // Closest Node which is being used to calculate the Stats "city": "Mumbai", "countryCode": "IN", "distance": 16, "region": "Asia Pacific" }, "currentUsage": { // Current Bandwidth Usage by Media Node "download": 4, // in Mbps "upload": 20 // in Mbps } } }
Changed
- Enhanced Speed Test calculation system using estimation techniques for improved accuracy
- Improved Media Node logging system for better debugging and monitoring
- Added more detailed log entries
- Improved log formatting and readability
- Enhanced error reporting and troubleshooting information
Technical Details
Speed Test Updates
- Implemented new estimation algorithm for more accurate speed calculations
- Optimized performance measurement methodology
- Reduced resource usage during speed testing
CLI Improvements
- Added new
hudl speedtestcommand with the following features:- Generates comprehensive test receipts
- Provides detailed performance metrics
- Saves test results locally for reference
Status Endpoint Enhancements
- Added new earnings status field to
/statusresponse - Improved response time and reliability
- Enhanced error handling and status reporting
Logging System Improvements
- Restructured log format for better readability
- Added additional context to log entries
- Improved error tracking and debugging capabilities
- Enhanced performance monitoring through logs
Breaking Changes
- Removed
/healthendpoint and moved all the related data to/statusendpoint.
Dependencies
No dependency updates in this release