The Azure IoT Java Device SDK just got in shape for the summer! Update Now!

Published Apr 04 2022 01:22 PM 1,274 Views
Microsoft

The Azure IoT SDK team is releasing a new major version for the Azure IoT Java SDK. This version has a smaller set of dependencies making it a much lighter SDK overall! Since it is a major and fantastic (if we may say so ourselves) overhaul, there are many breaking changes and improvements over the previous version. A detailed migration guide is provided here.

Specifically, the new version will have:

  1. Fewer dependencies
  2. More consistent API naming
  3. Change in how we handle trusted certificates
  4. Removal of all previously deprecated code

 

The most significant breaking change is how the SDK reads its trusted certificates. Until now, trusted certificates were read from source code. Now the SDK will rely on the device’s trusted certificate store to read the required certificates. This will also aid in preparing devices for root changes like the upcoming Baltimore Root migration that Azure IoT Hub and Device Provisioning Service will be undertaking. You can read more generally about the migration here, and SDK specific information is available here.

 

Some Important FAQs

 

Question: What do I gain by upgrading to the 2.X.X release?

Answer: You get a smaller set of dependencies which makes for a lighter SDK overall. You also get a more concise and clearer API surface since all deprecated APIs have been removed. Lastly, and most importantly, you get an SDK that is decoupled from a particular IoT hub and Device Provisioning Service root certificate. This makes these versions more future proof since they aren't tied to a root certificate that will be changed within a few years and may be changed again beyond then. Read the migration guide for detailed information on how to switch to this new version.

 

Question: Will the 1.X.X releases still be supported in any way?

Answer: We will continue to support the long-term support releases of the 1.X.X SDK for their lifespans, but we will not bring newer features to the 1.X.X SDK. Users who want access to the upcoming features are encouraged to upgrade to the 2.X.X SDK.

 

Testing and Feedback

 

To try out the new Java SDK, you can download the JAR files from here. We are always open and looking for feedback. For any comments, suggestions, or feedback, please use GitHub discussions.

%3CLINGO-SUB%20id%3D%22lingo-sub-3275723%22%20slang%3D%22en-US%22%3EThe%20Azure%20IoT%20Java%20Device%20SDK%20just%20got%20in%20shape%20for%20the%20summer!%20Update%20Now!%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-3275723%22%20slang%3D%22en-US%22%3E%3CP%3EThe%20Azure%20IoT%20SDK%20team%20is%20releasing%20a%20new%20major%20version%20for%20the%20Azure%20IoT%20Java%20SDK.%20This%20version%20has%20a%20smaller%20set%20of%20dependencies%20making%20it%20a%20much%20lighter%20SDK%20overall!%20Since%20it%20is%20a%20major%20and%20fantastic%20(if%20we%20may%20say%20so%20ourselves)%20overhaul%2C%20there%20are%20many%20%3CEM%3Ebreaking%20changes%3C%2FEM%3E%20and%20improvements%20over%20the%20previous%20version.%20A%20detailed%20migration%20guide%20is%20provided%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FAzure%2Fazure-iot-sdk-java%2Fblob%2Fmain%2FSDK%2520v2%20migration%20guide.md%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%22%3Ehere%3C%2FA%3E.%3C%2FP%3E%0A%3CP%3ESpecifically%2C%20the%20new%20version%20will%20have%3A%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3EFewer%20dependencies%3C%2FLI%3E%0A%3CLI%3EMore%20consistent%20API%20naming%3C%2FLI%3E%0A%3CLI%3EChange%20in%20how%20we%20handle%20trusted%20certificates%3C%2FLI%3E%0A%3CLI%3ERemoval%20of%20all%20previously%20deprecated%20code%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20most%20significant%20breaking%20change%20is%20how%20the%20SDK%20reads%20its%20trusted%20certificates.%20Until%20now%2C%20trusted%20certificates%20were%20read%20from%20source%20code.%20Now%20the%20SDK%20will%20rely%20on%20the%20device%E2%80%99s%20trusted%20certificate%20store%20to%20read%20the%20required%20certificates.%20This%20will%20also%20aid%20in%20preparing%20devices%20for%20root%20changes%20like%20the%20upcoming%20Baltimore%20Root%20migration%20that%20Azure%20IoT%20Hub%20and%20Device%20Provisioning%20Service%20will%20be%20undertaking.%20You%20can%20read%20more%20generally%20about%20the%20migration%20%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Finternet-of-things-blog%2Fazure-iot-tls-critical-changes-are-almost-here-and-why-you%2Fba-p%2F2393169%22%20target%3D%22_blank%22%3Ehere%3C%2FA%3E%2C%20and%20SDK%20specific%20information%20is%20available%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FAzure%2Fazure-iot-sdk-java%2Fblob%2Fmain%2Fupcoming_certificate_changes_readme.md%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehere%3C%2FA%3E.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH3%20id%3D%22toc-hId--1403160836%22%20id%3D%22toc-hId--1380078422%22%3E%3CFONT%20size%3D%224%22%3ESome%20Important%20FAQs%3C%2FFONT%3E%3C%2FH3%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH4%20id%3D%22toc-hId--712599362%22%20id%3D%22toc-hId--689516948%22%3E%3CFONT%20size%3D%223%22%3EQuestion%3A%20What%20do%20I%20gain%20by%20upgrading%20to%20the%202.X.X%20release%3F%3C%2FFONT%3E%3C%2FH4%3E%0A%3CP%3E%3CFONT%20size%3D%223%22%3EAnswer%3A%20You%20get%20a%20smaller%20set%20of%20dependencies%20which%20makes%20for%20a%20lighter%20SDK%20overall.%20You%20also%20get%20a%20more%20concise%20and%20clearer%20API%20surface%20since%20all%20deprecated%20APIs%20have%20been%20removed.%20Lastly%2C%20and%20most%20importantly%2C%20you%20get%20an%20SDK%20that%20is%20decoupled%20from%20a%20particular%20IoT%20hub%20and%20Device%20Provisioning%20Service%20root%20certificate.%20This%20makes%20these%20versions%20more%20future%20proof%20since%20they%20aren't%20tied%20to%20a%20root%20certificate%20that%20will%20be%20changed%20within%20a%20few%20years%20and%20may%20be%20changed%20again%20beyond%20then.%20Read%20the%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FAzure%2Fazure-iot-sdk-java%2Fblob%2Fmain%2FSDK%2520v2%2520migration%2520guide.md%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Emigration%20guide%3C%2FA%3E%20for%20detailed%20information%20on%20how%20to%20switch%20to%20this%20new%20version.%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH4%20id%3D%22toc-hId-1774913471%22%20id%3D%22toc-hId-1797995885%22%3E%3CFONT%20size%3D%223%22%3EQuestion%3A%20Will%20the%201.X.X%20releases%20still%20be%20supported%20in%20any%20way%3F%3C%2FFONT%3E%3C%2FH4%3E%0A%3CP%3EAnswer%3A%20We%20will%20continue%20to%20support%20the%20long-term%20support%20releases%20of%20the%201.X.X%20SDK%20for%20their%20lifespans%2C%20but%20we%20will%20not%20bring%20newer%20features%20to%20the%201.X.X%20SDK.%20Users%20who%20want%20access%20to%20the%20upcoming%20features%20are%20encouraged%20to%20upgrade%20to%20the%202.X.X%20SDK.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--733605570%22%20id%3D%22toc-hId--710523156%22%3ETesting%20and%20Feedback%3C%2FH2%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ETo%20try%20out%20the%20new%20Java%20SDK%2C%20you%20can%20download%20the%20JAR%20files%20from%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FAzure%2Fazure-iot-sdk-java%2Freleases%2Ftag%2F2022-3-30%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3Ehere%3C%2FA%3E.%20We%20are%20always%20open%20and%20looking%20for%20feedback.%20For%20any%20comments%2C%20suggestions%2C%20or%20feedback%2C%20please%20use%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2FAzure%2Fazure-iot-sdk-java%2Fdiscussions%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3EGitHub%20discussions%3C%2FA%3E.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-3275723%22%20slang%3D%22en-US%22%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-center%22%20image-alt%3D%22image%20for%20Java%20Blog.jpg%22%20style%3D%22width%3A%20400px%3B%22%3E%3CIMG%20src%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F361199i24DBC99C1A9AB6EE%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22image%20for%20Java%20Blog.jpg%22%20alt%3D%22image%20for%20Java%20Blog.jpg%22%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20Azure%20IoT%20team%20is%20releasing%20a%20new%20major%20version%20of%20its%20SDK%20for%20Java%20developers%3C%2FP%3E%3C%2FLINGO-TEASER%3E%3CLINGO-LABS%20id%3D%22lingo-labs-3275723%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EAzure%20IoT%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EAzure%20IoT%20Hub%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EInternet%20of%20Things%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EIoT%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
Co-Authors
Version history
Last update:
‎Apr 04 2022 01:22 PM