Release Date
April 9, 2019 (Final)
March XX, 2019 (Planned)
Important Notes
Deprecated nrf52xxx-compat package is now removed from tree.
New Features
FCB2 - second generation FCB
Redesigned FCB with smaller RAM footprint, more failure resistant and better abstraction.
Global fault management
New package (sys/fault) that is intended to handle unexpected runtime failures (hardware failures, heap allocation failures, etc) and gives application means to act on those eg retry or log.
HFXO request/release API on Nordic MCU
Allows application to request HFXO and release it when no longer needed.
Initial support for Cortex-M33
Support for new BSPs
- Bluepill (STM32F1x)
- Nucleo-F030R8 (STM32F0x)
- Nucleo-F072RB (STM32F0x)
- reel board (nRF52x)
Generic bus driver
General bus driver is an abstraction for using serial buses like I2C or SPI in a generic way where bus state is managed automatically to handle access form multiple threads and to multiple devices concurrently in a seamless way. This aims to replace direct calls to HAL in drivers.
Drivers
- LIS2DH12 accelerometer
- SSD1673 display
- nRF52 TWIM
- TRNG for K64F
- CRYPTO (accelerator) for K64F and NRF52x
Flash loader
Tools to manipulating flash contents. This can be used in programming flash when JTAG adapter software is not able to do it directly, e.g. external flash, or when programming data via encrypting flash driver.
Crypto framework
Abstraction to do security operations. The idea is to allow uniform API to do crypto, taking advantage of HW acceleration when available.
Enhancement/Fixes to existing features
Stats support improvements
Support for persisting stats across reboots and registering stats before sysinit.
Flash driver unification on STM32
STM32 MCUs are now based on a single flash driver for the most part, leaving just the erase operation in a MCU specific flash driver.
Mbed TLS updated to version 2.14.1
Mbed TLS 2.14.0 introduces several new features like non-blocking ECC operations, CTR-DRBG using only AES-128 cipher operations, smaller salt sizes for RSASSA-PSS signatures, enabling compliance with FIPS 186-4. It also has security fixes and other features.
Mbed TLS 2.14.1 has two security issues fixed.
https://tls.mbed.org/tech-updates/releases/mbedtls-2.14.0-2.7.7-and-2.1.16-released
https://tls.mbed.org/tech-updates/releases/mbedtls-2.14.1-2.7.8-and-2.1.17-released
nrfx updated to version 1.4.0
https://github.com/NordicSemiconductor/nrfx/releases/tag/v1.4.0
Manufacturing support improvements
Support for manufacturing image version 2.0. Devices can now be manufactured with multiple images, one image per flash device. The new manufacturing image format is documented here: https://github.com/apache/mynewt-newt/blob/master/newt/mfg/README.md
Unit test improvements
The test/testutil
and test/runtest
packages were redesigned to make writing unit tests easier:
- For self tests (tests run with
newt test
),sysinit()
gets called automatically at the start of each unit test. - The APIs were simplified; extraneous functionality has been marked deprecated.
- Generic reusable tasks for multi-threaded tests.
Please see the following email threads for more details:
- https://lists.apache.org/thread.html/9c0c24c74c55178de6a7209fa3c84efd0a6e187b6ae19a4e9ac64ae8@%3Cdev.mynewt.apache.org%3E
- https://lists.apache.org/thread.html/ec5d5ac556b1b955a60efac05b673e729fbf89bdb4675a1e34a1063a@%3Cdev.mynewt.apache.org%3E
Low mbuf sanity check
Additional sanity check. If an msys pool has a low buffer count for too long, a crash is triggered. This check is disabled by default.
FCB log bookmarks optimization
Mynewt can be configured to remember the flash location of its most recent FCB log lookups. Subsequent log walks start from the closest bookmark rather than from the start of the log.
Travis CI integration improvements
Travis CI now uses Apache RAT tool for license checks.
Concurrency support improvements
Multiple drivers and subsystems have fixes for concurrent access from multiple threads.
Newt Tool enhancements
Genericize sysinit and shutdown functionality (stage, sysdown)
Support for defining logs in syscfg.yml (logcfg)
- new target commands: sysinit, sysdown, dump
- support for merging conflicting dependency conditionals
- required Go version bumped to 1.10
- new packages: flashmap, imgprod, manifest
- Microsoft Windows support fixes
- Support for configuring path escaping
- Support for choice syscfg option - this allows to specify allowed values for specified sycfg config option
- Support for range syscfg option - this allows to specify valid range (eg 1..5) for config option value
Newt Manager (newtmgr)
Display CBOR/binary log entries as text
Additional Board Support Packages
Blue Pill (STM32F)
Known Issues and Limitations