You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DPS now returns connectionProfile, and the C client reaches mqttv5 hubs through DPS with no override. Direct mqttv5 connects are already supported through opts.host / opts.port / opts.connection_profile.
Removed
Connection client: the AZ_IOT_HUB_MQTT_V5_MOCK_ENDPOINT / AZ_IOT_DEVICE_ID bypass (skipped DPS) and AZ_IOT_DPS_CONNECTION_PROFILE_OVERRIDE.
c/tests/manual: local mqttv5 hub mock scripts.
Samples: mock support; they provision through DPS only.
8 unit tests covering the removed paths; related docs. check-layering.sh drops the exemption that only those scripts needed.
Unchanged
Absent/null connectionProfile still resolves to mqttv3.
az_iot_env_read() stays (coding-convention seam; no library caller remains).
Mosquitto-based adapter conformance tests are unrelated and stay.
Ignore rules for local credentials: applied in 836a5e8. c/.gitignore still ignores tests/manual/.certs/ (generated private keys), .env-mqttv5/ and .client-env.ps1, so existing checkouts cannot commit them.
DPS rollout compatibility: not changed. The override applied only when connectionProfile was absent or null. The rollout failure actually observed was an explicit "classic", which the override could not correct. Absent or null still resolves to mqttv3 by contract. A direct mqttv5 connect remains available through opts.host/opts.port/opts.connection_profile. The removal is recorded as breaking in CHANGELOG.md.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Removal depends on an unverified rollout of a future-dated DPS preview API across supported endpoints.
0 open findings
Previously missed (1)
In code that hasn't changed since last review
Retain guarded MQTT fallback until connectionProfile rollout is confirmed
c/src/core/connection_client.c:2891
This makes an absent profile unconditionally select MQTTv3 even though the only API that carries connectionProfile is the pinned 2026-11-02-preview version (connection_client.c:114-127), dated after this PR. Public DPS documentation currently does not establish that this preview and field are deployed across every supported global/regional/private endpoint. Removing the bridge before that rollout is verified can route an MQTTv5 assignment through MQTTv3. Please retain a guarded fallback until service coverage is confirmed, or gate this removal on that deployment.
Re: review of 836a5e8 (DPS preview rollout): not changed. The 2026-11-02-preview pin comes from #254, not this PR. Where DPS leaves connectionProfile out, the device still resolves to mqttv3 per the contract. The removed override only covered that case for local development; it did not handle an explicit wrong value. Whether to keep a fallback until the API is GA is a maintainer decision.
DPS now returns connectionProfile, and the SDK connects to mqttv5 hubs
through DPS without an override. Direct mqttv5 connects are already
supported through opts.host/opts.port/opts.connection_profile.
- Remove AZ_IOT_HUB_MQTT_V5_MOCK_ENDPOINT / AZ_IOT_DEVICE_ID bypass from
the connection client, and AZ_IOT_DPS_CONNECTION_PROFILE_OVERRIDE.
- Remove the local mqttv5 hub mock scripts (c/tests/manual).
- Remove mock support from samples; they provision through DPS.
- Remove the related unit tests and docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DPS now returns
connectionProfile, and the C client reaches mqttv5 hubs through DPS with no override. Direct mqttv5 connects are already supported throughopts.host/opts.port/opts.connection_profile.Removed
AZ_IOT_HUB_MQTT_V5_MOCK_ENDPOINT/AZ_IOT_DEVICE_IDbypass (skipped DPS) andAZ_IOT_DPS_CONNECTION_PROFILE_OVERRIDE.c/tests/manual: local mqttv5 hub mock scripts.check-layering.shdrops the exemption that only those scripts needed.Unchanged
connectionProfilestill resolves to mqttv3.az_iot_env_read()stays (coding-convention seam; no library caller remains).Validation (Linux, gcc,
linux-gcc-debug+ samples)ctest: 49/49 passed (conformance/integration against a local Mosquitto).check-banned-constructs,check-layering,check-version,check-log-components,code-style(clang-format 18.1.8): clean.