This is the fifth preview of the v2 clients. You can read about the changes in this migration guide.
Relevant changes
- Set state to 'closed' when CloseAsync() is called by @abhipsaMisra in #3149
- For c2d, take payload as object, similar to other operations by @drwill-ms in #3154
- Make exception ctors public by @drwill-ms in #3158
- Make ConnectionStatusInfo ctors public by @drwill-ms in #3167
- Throw IotHubClientException for file uploading with invalid correlation id by @brycewang-microsoft in #3159
- Utilize AsyncPageable for query return types by @timtay-microsoft in #3165
- Drop dependency on the hub service client from the device client by @brycewang-microsoft in #3178
- Utilize AsyncPageable for DPS query return types by @timtay-microsoft in #3176
- Fix bug where reconnection failed if client had been previously closed by @abhipsaMisra in #3196
- Simplify PayloadConvention to enable non-JSON payloads by @drwill-ms in #3189
- Make file upload notification callback async by @drwill-ms in #3224
- Pass byte[] through as payload for C2D for binary payloads by @drwill-ms in #3229
- Rename and cleanup ErrorDelegatingHandler by @drwill-ms in #3234
- TelemetryMessage should be able to take bytes and not serialize them by @drwill-ms in #3242
- Cleanup more device sdk handlers by @drwill-ms in #3245
- Separate out semaphores for subscription and client open-close by @abhipsaMisra in #3249
- Ensure client throws ObjectDisposedException when disposed by @drwill-ms in #3250
- Unsubscribe from connection loss events when closing service client AMQP connection by @timtay-microsoft in #3237
- Fix some ErrorCode in IotHubServiceException by @brycewang-microsoft in #3254
- Simplify/rename error class given to IoT hub service client error processors by @timtay-microsoft in #3255
- Fix bug where error processor would execute 3 times on a connection loss event by @timtay-microsoft in #3261
- Miscellaneous DPS service client cleanup by @timtay-microsoft in #3264
- Connection state management by @abhipsaMisra in #3251
- Update misc NuGet dependency versions by @drwill-ms in #3274
- Rename transport handler base in delegating pipeline by @abhipsaMisra in #3277
- Update MQTT and AMQP minor package versions by @drwill-ms in #3278
- Refactor to not send the same element through multiple objects by @abhipsaMisra in #3282
- Fix bug where device operations not recovering after reconnect by @brycewang-microsoft in #3281
- Remove methods from PayloadConvention that are only needed by the DefaultPayloadConvention class by @drwill-ms in #3286
- Open failure on reconnection shouldn't transition to Closed by @abhipsaMisra in #3289
- Add transport pipeline capabilities to HTTP based operations by @abhipsaMisra in #3285
- Cancel twin ops on disconnect by @drwill-ms in #3287
- Small logical fix in MqttTransportHandler by @drwill-ms in #3291
- Update cert chains codes by @drwill-ms in #3301
- Allow users to pass in HttpClient for file upload/module method requests by @timtay-microsoft in #3299
- Fix device AMQP layer not proactively renewing tokens by @timtay-microsoft in #3303
Full Changelog: 2023-03-13-v2preview...2023-04-26-v2preview