4.3.0
We are happy to announce Sming version 4.3.0 - a new major release containing new features, improvements and bug fixes.
This release contains braking changes related to spiffs handling.
So either make sure to read our migration document or use our LTS version.
Some of the highlights in this release include:
(A)mazing highlights
Sming is powering applications in smart barbecues, unique adventure rooms, small RC cars AND satellites!
Soon Sming will be used in a popular car producer, smart coffee machines from a renown Italian producer and even matrix printers.
Stay tuned for more details coming in the next months!
Other highlights
- Partition table: The layout of flash memory has been revised and is now managed via partition table.
For more details read Storage Management documentation. - Installable File System (IFS): Sming now supports multiple filesystems via Installable File System (IFS). See Basic IFS for a demonstration.
- Over-The-Air upgrades via MQTT
- Chromecast client allowing you to control your Smart Android TV from Sming
- Updated mDNS library with support for querying
Details
New features
- Partition tables #2171 with rBoot support #2258
- Installable File System (IFS) #1579
- Added protocol buffers support using nanopb. #2217, #2233
- Provide
LinkedObject
for general use #2234 - Google-cast client #2227
- Updated mDNS library with query support #2237
- Added hardware configuration option support #2266
- Added rBoot partition support #2258
- Added graphical hardware profile editor #2274
- Library support for flatbuffers #2252
- Faster Over-The-Air upgrades via MQTT #2269
- Added support for repeated HTTP header fields #2290
Improvements
- Improved FTP server #2271
- Revise install scripts and documentation #2204
- MacOS build fixes #2212
- Added web test support to HostTests CI application #2228
- Added vscode configuration support #2231
- Updated bearssl to its latest version. #2240
- Added setMacAddress() method to Station and AccessPoint #2249
- Rewrote MDNS responder #2248
- Easier voltage reading for ESP8266. #2264
- Updated ArduinoFFT library to latest #2285
- MultiStream & StreamTransformer improvements #2288
- Sming Host Emulator: Allow control over host debug messages #2289
Bug fixes
- Fix bug in
smg_uart_set_tx()
#2210 - Replaced
toString(uint8_t)
with template to avoid unintentional truncation of values #2229 - Multiple minor fixes to documentation and samples #2239
- Python3 migration: Replaced SimpleHTTPServer with http.server #2244
- ScreenOLED_SSD1306 sample compiles also with newer compilers #2259
- Fixed publishing MQTT messages having a stream as payload. #2278
- Compilation fixes for ESP8266 EQT toolchain. #2287
- Fixed SMTP issues #2280
Breaking Changes
- Feature: mqtt connection error event #2279
The connection event handler will be called also when the connection fails. You can use thereturn_code
to check if the connection was successful or there was an error. - Upgraded to clang-format 8 #2268 for coding style.
Security
- Fixed base64 size calculations #2283
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 4.2.0..4.3.0
Thanks to everyone who helped us make this release happen and especially to mikee47 for his quality features and constant devotion!
PS: Everything except parts from the (A)mazing section is true. Happy April 1st :)