The release of Mongoose OS 2.20.0 is available, offering a framework for developing firmware for Internet of Things (IoT) devices based on ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, and STM32F7 microcontrollers. It has built-in support for integration with AWS IoT, Google IoT Core, Microsoft Azure, Samsung Artik, Adafruit IO, as well as any MQTT servers. The project code, written in C and JavaScript, is distributed under the Apache 2.0 license.
The project's features include:
- The mJS engine, designed for developing applications in JavaScript (JavaScript is positioned for rapid prototyping, while C/C++ is recommended for final applications);
- OTA update system with rollback support in case of failure;
- Remote device management tools;
- Built-in support for data encryption on Flash storage;
- Supply of an mbedTLS library variant optimized to leverage cryptochip capabilities with minimal memory consumption;
- Support for microcontrollers CC3220, CC3200, ESP32, ESP8266, STM32F4, STM32L4, STM32F7;
- Use of the standard ESP32-DevKitC toolkit for AWS IoT and ESP32 Kit for Google IoT Core;
- Integrated support for AWS IoT, Google IoT Core, IBM Watson IoT, Microsoft Azure, Samsung Artik, and Adafruit IO;

Among the changes in the new release:
- The option to use the external LwIP network stack is provided;
- Encryption-related functions have been ported to the mbedtls library;
- For ESP8266 chips, all memory allocation functions have added stack overflow protection, and the implementation of malloc functions has been optimized;
- The use of the libwpa2 library has been discontinued;
- The logic for selecting a DNS server has been improved;
- The initialization of the pseudo-random number generator has been improved;
- For ESP32 chips, transparent data encryption on Flash storage has been included in LFS;
- Support for loading configuration files from VFS devices has been added;
- The use of SHA256 hashes for authentication has been implemented;
- Significantly expanded support for Bluetooth and Wi-Fi.
Source: opennet.ru
