Azure IoT C# and Java SDKs release new long-term support (LTS) branches
Updated: 18 February, 2020
The Azure IoT Java and C# SDKs have each now released new long-term support (LTS) branches.
In both cases, previous LTS branches are no longer supported.
If you are using the C# SDK, there are a couple scenarios where you should grab the latest master branch as opposed to the LTS branch:
- If you are using HTTP proxies, use the latest Microsoft.Azure.Devices v1.19.0 release. This contains a fix for a regression that broke HTTP proxy functionality in the previous LTS release.
- If you would like to specify the default certificate revocation policy, use the latest Microsoft.Azure.Devices.Client v.1.23.0 release. This has the remote SSL certification revocation check disabled by default for both AMQP and MQTT and it also contains a new API for you to enable/disable this check.
See all the updates in the repository’s release notes.
What is an LTS branch?
While we share frequent releases on our GitHub repositories with the latest and greatest features, we also offer a stable branch—the LTS branch—that only gets critical bug fixes and security patches. This branch provides critical updates with minimal impact to your device’s code. The LTS and master branches provide you with the flexibility to build stable solutions while still accessing the latest technology and Github issue support.
Our LTS timeline
- Every six months, a new version of LTS is released. This means that a new LTS branch is created for code access and a new set of LTS packages is released on the supported package manager. The versioning of LTS branch follows the master branch at the time of release. Deprecated APIs from the master branch are removed with a major version update and removed in the subsequent release of a new LTS branch.
A version is actively maintained for six months to receive security fixes and critical bug fixes. At the end of six months, a new version of LTS is released. The previous version will enter deprecated mode, where it will not receive any updates.
After a one-year total lifetime, the corresponding branch will be removed from GitHub, but packages from package manager will still be available.
If you have any feedback on this design, please comment on GitHub.