Sming Framework v4.0.0 is officially released

We are happy to annouce the official release of Sming version 4.0.0. This is a major new release and was first announced from @slaff on 3rd of November, 2019 at OpenFest.

Sming v.4.0.0

If your application was based on older version of Sming you should read the migration guide. We also provide 3.8.x LTS version - currently 3.8.1 for those that haven’t had the time to upgrade yet. The LTS version will be supported until 1st of April, 2020.

Below you will find an impressive list of new features, improvements and bug-fixes in Sming 4.0.0.

New features

  • Initial support for multiple architectures. At the moment ESP8266 and Host with ESP32 coming soon. ( #1675 )
  • Modular build system ( #1724 ). Beware of changed behaviour when using environmental variables ( #1758 ).
  • Host Emulator (#1692)
  • Added support for both ArduinoJson version 6 and 5 ( #1752 ). The default version is now version 6.
  • New documentation system based on sphinx ( #1766 ). The new documentation is located at https://sming.readthedocs.io/en/latest/.
  • Clock framework and Polled Timers ( #1821 )
  • Integrated libsodium v1.0.18 as a component ( #1797)
  • Added support for time zones and sunrise/sunset calculation #1840
  • File upload support in the HttpServer. #1792
  • I2S driver + Basic Audio sample (#1862).
  • RingTone Player sample plus libraries (#1864).
  • Added support for BME280 and MCP23008 arduino libraries. #1763
  • Initial CAN Bus support. #1646
  • Added malloc_count Component to track heap usage #1743
  • Enforced C11 standard #1695

Improvements

  • WiFi improvements ( #1812, #1802 )
  • Unified Callback Timer API ( #1831 )
  • Updating internal SDK to NON-OS version 3.0.1. ( #1832 )
  • BodyParser improvements. ( #1823, )
  • Fixed Esp8266 partitions, added 8Mbyte and 16Mbyte device support #1800
  • Decreased latency in MqttClient publishing. Latency is less than 1ms. #1761
  • Fixed custom heap #1745
  • Updated servo library and sample (#1870).
  • Updated ArduinoJson6 to current version 12.0 (#1885).
  • Improvements to the tcp connection handling and axTLS.

Breaking Changes

  • For Architecture:Esp8266 only NON-OS SDK version 3.0.1 is officially supported (#1878).

Bug fixes

  • Fixed array bounds issue detected via GCC-8 on Host build #1709
  • Fixed memory leak in MqttClient #1742
  • Fixed UpdServer_Echo. #1775

All PRs that were merged in this release can be seen from here

For a complete list of changes run the following command:

git log 3.8.0..4.0.0

Thanks to everyone who helped us make this release happen and especially to @mikee47 for working so hard on multiple new features, improvements and bug fixes!

Written on November 8, 2019