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

Make a Comment

Thank You!

Messages are moderated.

Your message will be posted shortly.

Sorry

Your message could not be processed at this time.

Error:

Please retry later.

OK