About the 20.07 feature release
The 20.07 feature release contains new features for application development and tenant certificate renewal, additional promotions of Beta features to long-term stable (LTS), and enhancement to improve stability and troubleshooting of device connections on Windows platforms.
New and changed features in the 20.07 release
The 20.07 feature release contains new features and improvements to networking, application development, analog-to-digital converter (ADC) and pulse-width modulation (PWM) support, management of tenant certificate authority (CA) certificates, and client-side TLS in wolfSSL.
This release adds new and enhanced foundational networking features:
You can now build Azure Sphere apps in containers, thus providing a reproducible build environment. A preconfigured container image for Azure Sphere is available from the Microsoft Container Registry (MCR).
Templates in Visual Studio and Visual Studio Code
Both Visual Studio and Visual Studio Code now support updated templates:
- The Blink template, intended for validating that the local development environment is set up correctly, supports additional Azure Sphere development boards.
- New blank templates for both high-level and real-time capable applications, which enable you to create an application with minimal removal of unneeded code.
Tenant certificate renewal
The Azure Sphere CLI and public API now support features for (viewing and renewing tenant CA certificates)[../deployment/tenant-cert.md].
In the azsphere CLI, the new azsphere ca-certificate command supports management and renewal of tenant CA certificates. This command replaces azsphere tenant download-ca-certificate, azsphere tenant download-ca-certificate-chain, and azsphere tenant download-validation-certificate.
Azure Sphere applications can now use the wolfSSL client-side TLS API. Starting with the 20.07 release, Azure Sphere supports wolfSSL version 4.4 . This version includes numerous important changes, including some security features that resolve CVEs.
PC-to-device communication stability
The 20.07 feature release contains bug fixes and enhancements to ensure greater PC-to-device communication stability issues that are related to the FTDI driver on Windows. See Windows-specific problems for details. The new azsphere device rescan-attached command helps in troubleshooting device connection problems on Windows.
The Azure Sphere public API (PAPI) supports several new operations:
- Delete a device group
- Delete a product
- Get tenant certificates
- Get tenant certificate chain
- Get proof of possession certificate
- List tenant certificates
The following Azure Sphere Public APIs are being deprecated and will be retired on January 1, 2021:
- Tenants – List Certificates
- Tenants – List Certificate Chains
ADC and PWM
The analog-to-digital converter (ADC) and pulse-width modulation (PWM) APIs have been promoted to long-term stable (LTS) from Beta.
In addition, Azure Sphere now includes limited ioctl support for both ADC and PWM.
Real-time application development
Real-time application support has been promoted to LTS. It is no longer considered Beta. Along with this change, the application.h API has also been promoted to LTS.
In addition, this release fixes a bug with the value of the reset vector of the M4 to enable the use of the M4 watchdog timer.
The Azure Sphere SDK now contains default hardware definitions for common Azure Sphere boards and dev kits, in both header file (.h) and JSON format. The GitHub sample apps also use hardware definitions to create a "sample appliance" abstraction that enables them to run unchanged across many boards, and to illustrate how you can create a similar abstraction for your own usage scenarios.
The Azure IoT sample applications for Azure Sphere have been updated to accommodate changes in Azure IoT Hub and Azure IoT Central. The samples also now support Linux as a development platform.
Boot performance in the 20.07 release has improved by approximately 750ms overall.
GNU Arm path discovery
The Azure Sphere extensions for both Visual Studio and Visual Studio Code now use the same internal mechanism to discover the location of the GNU Arm path. Previously, Visual Studio looked only within the Visual Studio installation directory. Now it looks first in the ARM_GNU_PATH environment variable, then in the registry (on Windows), and then in the Visual Studio installation directory.
The iPerf3 network performance testing tool, which is part of the manufacturing samples, has been updated to LTS status. Support for a subset of fcntl() operations has been added to the base APIs to support the improvements in iPerf3.
Azure IoT C SDK support
Azure Sphere now supports the lts_02_2020 branch of the Azure IoT C SDK.
The Linux kernel underlying the Azure Sphere OS has been updated to version 5.4.
Known issues in the 20.07 release
If you try to use an unknown client identity to authenticate to an EAP-TLS network, the WifiConfig_GetNetworkDiagnostics function does not return AuthenticationFailed (5) in the current release. Instead, it returns only the ConnectionFailed (1) error, which is a regression from the previous release. We expect to correct this in an upcoming release.
For more information
For more information on Azure Sphere OS feeds and setting up an evaluation device group, see Azure Sphere OS feeds.
If you encounter problems
For self-help technical inquiries, please visit Microsoft Q&A or Stack Overflow. If you require technical support and have a support plan, please submit a support ticket in Microsoft Azure Support or work with your Microsoft Technical Account Manager. If you do not have a support plan and require technical support, please explore the Azure support plans.