Share via


About the 21.01 feature release

The Azure Sphere 21.01 feature release includes the following components:

  • Updated Azure Sphere OS
  • Updated Azure Sphere SDK for Windows and for Linux
  • Updated Azure Sphere extensions for Visual Studio and for Visual Studio Code

If your devices are connected to the internet, they will receive the updated OS from the cloud. You'll be prompted to install the updated SDK on next use, or you can install it now. To install the latest SDK, see the installation Quickstart for Windows or Linux:

New and changed features in the 21.01 release

The 21.01 release includes additional features in the CLI v2 Beta, a new API to help applications monitor their memory usage, support for application crash data collection, and improved capabilities in Azure Sphere Explorer. In addition, we've added the ability to control current for GPIOs and additional ways to access ADC peripherals.

The following sections provide details about these changes.

Azure Sphere CLI v2

In the 21.01 release, the Azure Sphere CLI v2 continues to evolve, but is still considered a Beta product. We encourage you to use this new, more powerful CLI and to report any problems by using the v2 Beta CLI azsphere feedback command. In general, the V2 CLI is backwards compatible with the V1 CLI; however, it has a few differences that are worth noting, as described in the online documentation.

In each subsequent release of CLI v2, we aim to maintain backwards compatibility for both input (command names, parameter names, parameter values) and output in JSON and yaml. In cases where such compatibility is not possible, we will provide at least 6 months' notice before making changes.

The 21.01 release of CLI v2 supports simplified object identification so that you can use either use the ID (GUID), IP address, or Local Connection ID to identify the device.

API features

Several of the Applibs libraries contain new functions at this release:

  • New memory functions allow high-level applications to monitor their own memory usage. The functions return the total memory usage, user-mode memory usage, and peak user-mode memory usage.

  • New GPIO libraries components, which include gpiopin_request, pin_config_param_type, and GPIO_SET_PIN_CONFIG_IOCTL, allow you to control the amount of current used to drive GPIO pins.

Support for crash data collection

Optional diagnostic data can be configured to collect a full Linux core dump when an application or system service crashes.

The Device Group - Patch function in the public API (PAPI) supports enabling crash dump collection for one or more of your device groups.

Access to ADC peripherals

ADC peripherals can now be accessed in the following ways:

  • Simplified functions that are wrappers for base Linux functionality.

  • Advanced functions that rely on Linux ioctls that communicate with the peripheral directly.

Code snippets are provided for both simplified and advanced functions that show how to:

  • Get the channel specification

  • Set the reference voltage

  • Get the sample bit count

  • Read the ADC

See the Implementation Overview for a side-by-side comparison of reading the ADC with the simplified, advanced, and Linux sysfs implementations.

New features in the 21.01 SDK

The IoT C SDK that is released with Azure Sphere was upgraded to the July LTS Refresh. This update contains an important security patch.

Updated Azure Sphere Explorer in Visual Studio and Visual Studio Code

Azure Sphere Explorer has been updated for this release. Visual Studio supports a read-only version and the Visual Studio Code version now supports write capabilities.

New and updated samples for 21.01

The 21.01 release includes the following new and updated sample hardware designs and applications:

  • A new ADC sample that demonstrates how to use analog-to-digital conversion (ADC) functionality.

  • Updates to the HTTPS_CurlEasy sample to showcase chunked downloads.

We have continued to make more of our existing Azure Sphere samples available for download through the Microsoft Samples Browser.

In addition, we now provide a collection of unmaintained samples and hardware designs in the Azure Sphere Gallery.

New and revised documentation in the 21.01 release

Topics on how to create, build, and debug applications have been restructured and simplified. As much as possible, these have been organized with the development environment in mind, whether Visual Studio, Visual Studio Code, or the command line.

The following table lists additional changes.

Article Changes
azsphere device capability Added the azsphere device capability select command in CLI v2 to select a downloaded capability file to use for a servicing session.
azsphere device app start Updated --debug-mode parameter to remove usage of short format -d.
azsphere command reference pages All azsphere commands where the --device parameter is used.
Tutorial: Build and debug partner applications New tutorial to illustrate multi-root debugging.
Create a high-level application New topic contains steps to create new high-level applications.
Create a real-time capable application New topic describes how to create new real-time capable applications.
Create partner applications New topic describes how to create new partner applications.
Build a high-level application New topic describes how to build high-level applications.
Build a real-time capable application New topic describes how to build real-time capable applications.
Build and deploy partner applications New topic describes how to build partner applications.
Debug a high-level application New topic contains steps to debug high-level applications.
Debug a real-time capable application New topic describes how to debug real-time capable applications.
Debug partner applications New topic describes how to debug partner applications.
Create and manage device groups New topic describes how to create and update device groups.
Manage products New topic describes how to create and update products.
View deployment history New topic describes how to view deployment history for a device group.
Create a cloud deployment for test New topic describes how to create a deployment for testing during development.
Memory use in high-level applications Added information on new memory API to obtain memory statistics in high-level applications.
Overview of diagnostic data types New topic that provides an overview of the diagnostic data types for Azure Sphere devices.
Configure crash dumps New topic that describes how to configure crash dump related setting.

Known issues in the 21.01 release

In CLI v2, an incorrect error message is displayed if the value for the --name and --new-name parameters contains non-alphanumeric characters. The error is reported for the azsphere product create, azsphere product update, azsphere device-group create, and azsphere device-group update commands. The error message will be updated in an upcoming release. The names for product and device groups can only include alphanumeric characters.