Ioto 1.3.0 Update

I’m happy to announce the release of Ioto 1.3.0.
This release provides a good collection of bug fixes and usability improvements for Ioto and the Ioto APIs.
All users of previous Ioto versions 1.X are encouraged to update to the new version.
The major changes include:
- Improved the web server route definition and processing to specify route handlers, methods and URL prefixes.
- Improved web server request tracing.
- Enhanced support for the legacy protocol HTTP/1.0 and improved HTTP method coverage.
- Improved API usability.
- A set of bug fixes.
Unit Tests
Ioto relies on several sub-modules that provide functionality and communication protocols. These include:
- R — the safe portable runtime
- DB — the local embedded database
- JSON — JSON parser and query engine
- MQTT — MQTT protocol
- OSDEP — O/S dependency abstraction layer
- UCTX — Fiber coroutine support
- URL — HTTP client library
- WEB — HTTP web server library
Each of these modules has their own extensive unit and service test suites. Most of these modules leverage code written for the GoAhead and Appweb web servers that has been battle-hardened over many years in a diverse set of deployments. In this release, we’ve “mined” the GoAhead and Appweb unit test libraries for a large pool of unit tests and have migrated these to Ioto. These tests are run using CI/CD on every code commit.
Ioto itself also has an extensive suite of integration and service tests that are run on a variety of platforms and operating environments.
Features
Here is a more detailed list of features and fixes in the 1.3.0 release:
- Extend unit test coverage
- Simplify log trace and add control via environment variables
- Add OpenSSL protocol configuration
- Enhance JSON query API with jsonGetRef
- Add APIs: ioGetMetric, ioSetMetric, ioGetNum, ioSetNum
- Add route “handler” option to specify route handler
- Add route “prefix”, “methods” and “trim” options
- Add HTTP/1.0 support
- Add support for OPTIONS, TRACE and HEAD methods
Fixes
- Fix pipelined requests and keep-alive handling
- Fix runtime calling rResumeFiber from foreign threads
- Fix building with OpenSSL
- Fix creating missing state direction when installed
- Fix JSON configuration references
- Fix OpenSSL default certficate verification
- Rename dbGrid to use runtime rList instead
- Add DB_OPEN_RESET flag to reset a database on open
- Fix web server consuming unread input before next request
- Fix web server upload memory handling
- Fix I/O operation timeouts and deadling processing
Upgrading
This should be a simple upgrade for all users from previous 1.X releases. API compatibility is high.
Download
Go to the Builder and navigate to the Product List to download.
Ongoing Maintenance
If you have questions, please contact us at: sales@embedthis.com.
Comments