Repository navigation
v2.8.1
Pre-releaseIoto Device Agent v2.8.1 Release Notes
Release Date: November 5, 2025
Recommended Action
- Optional Upgrade -- Upgrade only if convenient
- Recommended Upgrade -- Upgrade recommended but not essential
- Essential Upgrade -- All users strongly advised to upgrade
Overview
Version 2.8.1 is an important maintenance release addressing multiple security issues discovered through fuzzing, resource management improvements, and stability fixes. This release includes fixes for resource leaks, and enhanced error handling throughout the web server and runtime libraries.
Major Features
New Runtime APIs
- Socket Linger Control - New APIs for fine-grained socket connection control and graceful shutdown
rSetSocketLinger()- Configure socket linger behaviorurlAlloc(URL_NO_LINGER)- URL client socket linger control
- Fiber Block Management - New
rStartFiberBlock()API for managing fiber execution blocks
Security Hardening (Fuzzing Results)
- Fixed invalid reference in JSON parser discovered through fuzzing
- Fixed potential null dereference in HTTP method parsing (fuzzing)
- Enhanced error handling and boundary condition checks
Resource Management
- Fixed file descriptor leak in
putFileoperation - Fixed premature memory free in web
getFileoperation - Improved fiber exhaustion handling with better error reporting
Bug Fixes
Critical Fixes
- Fixed hang in
webSendFile- Resolved deadlock condition when sending large files - Fixed fiber exhaustion handling - Improved resource management when fiber pool is depleted
- Fixed file descriptor leak - Prevents descriptor exhaustion in long-running applications
- Fixed premature free in web getFile - Resolved use-after-free condition
- Fixed upload forms - Resolved issues with file upload form handling
- Fixed keep-alive timeout - Corrected HTTP keep-alive connection timeout behavior
Security Fixes
- Fixed invalid reference in JSON parser (discovered via fuzzing)
- Fixed null dereference in
parseMethod(discovered via fuzzing) - Enhanced input validation throughout web server
Build System
- Hardened configure phase to handle missing
build/.appfile gracefully - Refactored app selection mechanism for cleaner, more maintainable builds
- Fixed conditional compilation when building without cloud support (
SERVICES_CLOUD) - Fixed Windows build preparation with improved
prep.nmake - Removed obsolete
webserver.vcxprojfrom Visual Studio projects
Compiler & Warnings
- Fixed compiler warning in
cryptSha1Processfunction
Testing & CI/CD
- Enabled complete test suite for all platforms
- Fixed test setup and isolation issues
- Fixed web temporary file handling in tests
- Enhanced CI/CD pipeline reliability with better timeout handling
Configuration
- Fixed initialization to use default 'unit' app when
build/.appdoesn't exist - Improved cloud service conditional compilation with proper
#if SERVICES_CLOUDguards
API Changes
New APIs
rSetSocketLinger(socket, enable, timeout)- Configure socket linger behaviorurlAlloc(URL_NO_LINGER)- URL client socket linger controlrStartFiberBlock()- Manage fiber execution blocks for better control flow
Enhanced Error Handling
- Improved fiber exhaustion error messages
- Better diagnostics when fiber pool is depleted
- Enhanced error reporting in web file operations
Platform Support
Same as v2.8.0:
- Linux (x86, x64, ARM, ARM64, RISC-V)
- macOS (Intel, Apple Silicon)
- Windows 11 (Native with VS2022, WSL)
- ESP32 (ESP-IDF)
- FreeRTOS
- VxWorks (experimental)
Security Considerations
This release includes important security fixes discovered through comprehensive fuzzing:
- JSON parser boundary condition fixes
- HTTP method parsing null pointer protection
- Resource leak prevention (file descriptors, memory)
- Enhanced input validation in web server
Recommendation: Users running web services exposed to untrusted input should upgrade promptly.
Package Updates
Updated embedded packages (paks):
- r/ - Runtime library with new fiber and socket APIs (
rStartFiberBlock,rSetSocketLinger) - json/ - JSON parser with fuzzing fixes
- crypt/ - Cryptographic library with compiler warning fixes
- url/ - URL client with linger control support
- web/ - Web server with hang fix, resource leak fixes, upload forms fix, keep-alive timeout fix, and security improvements
Upgrade Instructions
- Backup: Backup your current configuration and state directory
- Review Security Fixes: Note the fuzzing-discovered security fixes
- Update Source: Update to v2.8.1 source code
- Rebuild: Rebuild with your application configuration
- Test: Verify build and run comprehensive tests, especially:
- Web file serving operations
- Long-running applications (to verify leak fixes)
- Fiber-intensive workloads
No breaking API changes from v2.8.0. New APIs are additions only.
Known Issues
None identified in this release.
Download
Download from the Builder Site
Documentation
Full documentation available at: https://www.embedthis.com/doc/
Support
For support, please visit:
- Documentation: https://www.embedthis.com/doc/
- Issues: Contact EmbedThis support
Note: This release includes 15+ commits with critical security and stability fixes discovered through fuzzing. Upgrade recommended for all production deployments.