This post has been republished via RSS; it originally appeared at: New blog articles in Microsoft Tech Community.
The Azure Sphere 21.07 feature release is now available and 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
- Updated samples, tutorials, gallery items, and documentation
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:
- Quickstart: Install the Azure Sphere SDK for Windows
- Quickstart: Install the Azure Sphere SDK for Linux
New and changed features in the 21.07 release
The 21.07 release includes an improvement to how time sync is handled, the ability to track shared library heap memory usage during development, and new ways to authenticate using Azure Active Directory. This release also includes some debugging improvements in the Visual Studio and Visual Studio Code extensions, expanded support of the --output parameter in the CLI, and the ability to get additional device information from some commands in the CLI and Public API (PAPI).
Time sync changes
The time sync process has changed in the 21.07 release to provide a more robust process when the primary time server fails or cannot be reached. Previously, services that depend on completion of time sync could fail to start if time-sync retries prevented time sync from completing. The change adds a fallback mechanism for obtaining accurate time so that time-sync retries do not continue indefinitely.
Heap memory allocation tracking
The heap memory allocation tracking feature provides developers with a convenient way to see memory allocations from libraries included with the Azure Sphere SDK during development of an application. The feature adds a new application capability, HeapMemStats, and a new Azure Sphere SDK library, libmalloc. The feature also includes changes to the output of the Azure Sphere CLI command azsphere device app show-memory-stats and the Visual Studio extension. With these changes, developers can add the HeapMemStats capability to their high-level application, deploy the app to a development-enabled device, and use Visual Studio's Performance Profiler to view the memory used by the SDK libraries called by their app.
Authentication methods using Azure Active Directory
The Azure Sphere Public API (PAPI) supports multiple methods of user authentication and authorization in Azure Active Directory (AAD).
With Azure Active Directory, an application token can be used to authenticate and grant access to specific Azure resources from a user app, service, or automation tool by using the service principal or managed identity method for authentication.
The following authentication methods are now supported using Azure Active Directory:
- Access Azure Sphere Public API with AAD managed identity
- Access Azure Sphere Public API with AAD application service principal
- Access Azure Sphere Public API with your AAD user identity
Additional update status details from CLI and PAPI commands
The Azure Sphere Public API has been extended to include additional device details about the operating system and update status. You can now see the version of the system OS installed on the device, the latest available OS version, when the device was last updated, and when the device last checked for updates. The additional information can be helpful to manage updates to your devices.
The following Azure Sphere API reference pages explain the API response changes in more detail:
Gets details for a device.
Gets all devices that are claimed to the specified tenant.
Gets all devices that are assigned to the specified device group.
Gets all devices that belong to the specified product.
In addition, the Azure Sphere CLI has been updated to include these additional device details in the azsphere device list, azsphere device show, and azsphere device update commands using the --query parameter or the supported output formats. For example, azsphere device show --output json.
New and changed features in Visual Studio or Visual Studio Code extensions for Azure Sphere
The Visual Studio and Visual Studio Code extensions include more descriptive names for debug targets. The Visual Studio extension also includes support for heap memory allocation tracking.
More descriptive names for debug targets
The Visual Studio extension now uses the project name for the debug target name. The Visual Studio Code extension shows the project name as before but simplifies the descriptive text.
Support for other output formats
Additional Azure Sphere CLI commands now support the --output (--out or -o) parameter to specify the format of the CLI output. For more information see, Supported commands.
New and updated commands and parameters
For more information on updates to commands and parameters, see a list of updates in the customer documentation.
New and updated samples and Gallery items
The 21.07 release includes an updated memory usage tutorial, updates to the Azure IoT sample, and three new/updated projects in the Azure Sphere Gallery.
Updated memory usage tutorial
The MemoryUsage tutorial has been updated to demonstrate heap memory allocation tracking.
Updated Azure IoT sample
We made some minor refinements to the Azure IoT sample, including changing the polling rate of IoTHubDeviceClient_LL_DoWork to every 100ms rather than every 1s, following this IoT Hub client best practice. We recommend that you adopt this change in your existing apps.
New or updated Gallery samples
The following new sample was added to the Azure Sphere Gallery , a collection of unmaintained scripts, utilities, and functions:
- VS1053AudioStreaming shows how to play audio through a VS1053 codec board.
- WebHookPublicAPIServicePrincipal shows how to use Service Principal based authentication for the Azure Sphere Security Service Public API.
- AzureSphereTenantDeviceTwinSync was updated to utilize new Azure Sphere Public API support for querying the OS version for devices.
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 would like to purchase a support plan, please explore the Azure support plans.