2022 January Release
Pre-release
Pre-release
What's Changed
- Add Key Vault SDK crate by @guywaldman in #1
- Project Organization Refactoring by @rylev in #4
- Format by @rylev in #7
- build on any branch by @ctaggart in #15
- make TokenResponse::new public by @gzp-crey in #9
- call az through cmd on windows by @gzp-crey in #12
- Update README.md by @dzmitry-lahoda in #13
- bump oauth2 to latest by @ctaggart in #33
- Using TokenCredential trait in KeyVaultClient by @gzp-crey in #10
- Rename Crates by @rylev in #34
- Azure storage queue: Get Messages implementation by @MindFlavor in #2
- expose subscription and tenant ids in AzureCliCredentials by @ctaggart in #38
- Deny warnings in CI by @rylev in #41
- Remove dependency on nightly compiler by @rylev in #40
- format with Better TOML by @ctaggart in #45
- Refactor identity crate by @rylev in #43
- initial 100 service mgmt APIs generated by AutoRust by @ctaggart in #31
- Move the TokenCredential trait to azure_core by @rylev in #56
- rename operation configuration to OperationConfig by @ctaggart in #55
- Rearrange core headers by @rylev in #57
- New service updates by @rylev in #58
- multi-value query parameters by @ctaggart in #63
- use TokenCredential in services by @ctaggart in #59
- 4 more mgmt services & CamelCase enum value identifiers by @ctaggart in #66
- Add support for ADLS Gen2 Filesystem API by @sawlody in #67
- Azure storage copy blob support by @MindFlavor in #48
- disable incremental in CI to save disk space by @ctaggart in #70
- add 5 mgmt services: cosmos_db, healthcareapis, machinelearning, redis, redisenterprise by @ctaggart in #69
- Add get_blob_properties method to Blob by @sd2k in #75
- Support direct methods for Azure IoT Hub Service by @corollaries in #64
- posts with no bodies require Content-Length 0 by @ctaggart in #73
- add mgmt services with recursive types by @ctaggart in #76
- newline_style = "Unix" by @ctaggart in #77
- allow setting the authority_host with TokenCredentialOptions by @ctaggart in #71
- Typo in KeyVaultClient causes invalid authorization request by @jefshe in #74
- Fixed adls_gen2 E2E test by @MindFlavor in #86
- Pluggable HTTP client for CosmosDB by @MindFlavor in #79
- Simplify ConsistencyLevel and CosmosStruct by @rylev in #88
- Reduce complexity of request builders and clients by @rylev in #89
- Implemented Queue Delete Message by @Alexei-B in #90
- Queue Delete Message to Require Put Receipt by @Alexei-B in #93
- Break up sdk and services into two workspaces by @rylev in #87
- Implemented Queue Peek Messages by @Alexei-B in #92
- Support getting and setting the module/device twin for Azure IoT Hub Service by @corollaries in #82
- Table API query/get all rewrite by @MindFlavor in #84
- Move traits out of lib file by @rylev in #95
- Permissions Module by @rylev in #98
- Expose azurite_workaround feature in storage crate and use endpoint URIs from connection string in storage KeyClient by @cschaible in #101
- Dedicated resources module by @rylev in #99
- Add project status warning to README by @rylev in #102
- Remove all request builder json helper files in cosmos by @rylev in #106
- More Refactoring by @rylev in #103
- Remove the various client traits by @rylev in #108
- Remove the various Name traits by @rylev in #107
- Queue methods simplification by @MindFlavor in #105
- Add AddAsHeader trait by @rylev in #109
- Assign perform_request to intermediate variable in get_blob_properties_builder by @sd2k in #112
- parse metadata from header when available by @extrawurst in #117
- Fix request builders not being Send by @MindFlavor in #114
- Add
setters
macro by @rylev in #111 - Queue refactor by @MindFlavor in #110
- Move setters macro to core crate by @rylev in #122
- Implemented Event Grid Client & Publish Events by @Alexei-B in #126
- Update dependencies by @rylev in #136
- Make APIs that take partition keys more flexible by @rylev in #137
- Export Param by @rylev in #138
- Change setter methods to take param as
Into<T>
instead ofT
by @rylev in #140 - Lockdown oauth2 crate version to unblock build by @karataliu in #135
- update services to latest rest api specs by @ctaggart in #143
- upgrade services to tokio 1.0 by @ctaggart in #144
- Azure Blob Storage rewrite by @MindFlavor in #119
- Refactor CreateCollectionBuilder by @rylev in #141
- own request Bytes & to_json by @ctaggart in #145
- Add support for device identity operations by @corollaries in #142
- Request builders updates by @rylev in #147
- Added support for x-ms-blob-content-md5 in PutBlockList by @MindFlavor in #148
- Support for question mark in SAS tokens by @MindFlavor in #146
- response Bytes by @ctaggart in #151
- Get blob metadata implementation by @MindFlavor in #152
- Deny missing docs in cosmos by @rylev in #153
- use http_client in services by @ctaggart in #157
- Fix
dyn TokenCredential
not being sendable or syncable by @uint in #161 - fix request body serialization in services by @ctaggart in #168
- Storage Queue rewrite by @MindFlavor in #156
- Cleanup core by @rylev in #162
- Add support for module identities and rewrite requests by @corollaries in #158
- Simplify a couple of pattern-matches by @huitseeker in #173
- Support optional access tier for high performance blob accounts by @maxburke in #172
- Blob XML parsing from manual to Serde by @MindFlavor in #176
- Fix listing blobs when there are no blobs in a container by @carols10cents in #179
- Add support doc by @heaths in #180
- SignedUrlBuilder rewrite by @MindFlavor in #182
- Clearly marking this as "unofficial" by @kurtzeborn in #183
- Changed GetBlob return type from Vec to bytes::Bytes by @MindFlavor in #187
- Data Lake storage (file system API) rewrite by @MindFlavor in #185
- Table storage rewrite by @MindFlavor in #190
- Switch to single, mandatory PartitionKey by @MindFlavor in #188
- Storage crate reorg and cleanup by @MindFlavor in #194
- Update readme where it references data plane crates by @damienpontifex in #192
- Key Vault Additions: Get Key and Sign by @trevor-crypto in #189
- update services to latest specs by @ctaggart in #202
- switch services to thiserror by @ctaggart in #205
- Key Vault: Remove public cloud constructor by @trevor-crypto in #207
- Key Vault: Added getters for KeyVaultKey by @trevor-crypto in #203
- Policy Architecture by @rylev in #204
- Reorganize the repo to better match other SDKs by @heaths in #209
- update mgmt services by @ctaggart in #211
- feat(storage): Add the ability to delete a table entity by @notheotherben in #214
- feat: Add support for getting a specific entity from table storage by @notheotherben in #226
- feat(storage): Add support for querying table storage by @notheotherben in #216
- check core for wasm by @ctaggart in #228
- add AutoRust source code by @ctaggart in #215
- make optional fields optional when deserializing by @ctaggart in #233
- Prepend scheme to vault endpoint by @jakubfijalkowski in #235
- Fix feature "azurite_workaround" by @arnodb in #231
- Fix consistency response by @arnodb in #236
- Bump version on oauth2 and fix deprecated use of Url .into_string() by @mdtro in #242
- Revert "Fix consistency response" by @MindFlavor in #244
- remove failure from core by @ctaggart in #246
- remove paste from core by @ctaggart in #247
- use thiserror in core by @ctaggart in #249
- remove md5 from core by @ctaggart in #248
- move xml dependencies to storage & add AzureStorageError by @ctaggart in #250
- Custom core Request and Response by @MindFlavor in #230
- Runtime update of total blob size using content_range header by @MindFlavor in #253
- add HttpError, StreamError & CosmosError by @ctaggart in #251
- azure_core::Error & identity::Error by @ctaggart in #266
- Set default values for blob properties on deserialization by @ArtemTrofimushkin in #264
- Set access_tier to None for PutBlockBlobBuilder & PutBlockListBuilder by @ArtemTrofimushkin in #262
- Don't append
/
to KeyVault endpoint by @jakubfijalkowski in #243 - Make content_range an optional field by @jefshe in #268
- add new_http_client & fix cosmos_client by @ctaggart in #274
- Endpoints for Azure Resource Manager in different Azure clouds by @ctaggart in #278
- test: Add automated integration tests for Table Storage by @notheotherben in #227
- Move create_collection over to new architecture by @rylev in #279
- Add support for queries by @corollaries in #240
- Format on save by @heaths in #282
- Fix missing slashes in URLs and allow switching emulator account by @arnodb in #232
- Fix consistency response by @arnodb in #283
- azure_cosmos::Error & azure_storage::Error by @ctaggart in #285
- Add TelemetryPolicy by @heaths in #210
- Update dependencies by @rylev in #287
- Convert get database operation to pipeline architecture by @rylev in #286
- make location header optional for storage table insert response by @ctaggart in #296
- fix storage table delete for azurite by @ctaggart in #295
- use azurite for integration tests by @ctaggart in #299
- Fix consistency properties by @arnodb in #284
- Use ClientOptions to create Pipeline by @heaths in #288
- Fix nits in PR #288 by @rylev in #301
- Clean up errors by @rylev in #302
- Fix BOM handling in queue responses by @arnodb in #309
- add new_emulator_default by @ctaggart in #312
- remove en-us from links by @ctaggart in #313
- Fix Cosmos response header key by @justinbarclay in #311
- Further simplify errors by @rylev in #306
- Remove should_panic unit tests #307 by @u5surf in #314
- do not skip_serializing of read only schemas by @ctaggart in #317
- Continue to simplify error by @rylev in #315
- Fix DELETE_TYPE_PERMANENT with feature azurite_workaround by @arnodb in #321
- Bugfix: Custom deserialization for CRC64 and MD5 by @MindFlavor in #320
- fix autorest URL now that it has been imported by @bmc-msft in #323
- Add expiry to key vault secret attributes by @Billy-Sheppard in #319
- Cosmos DB - Authorization policy by @MindFlavor in #325
- Move create, get, and replace user to pipeline architecture by @JoshGendein in #332
- Create ListDatabases resource by @yoshuawuyts in #335
- Move create document to pipeline architecture by @rylev in #331
- add keyvault decrypt by @vincentserpoul in #333
- [Cosmos] Move (create, replace, get, delete)_permission to pipeline architecture by @JoshGendein in #349
- import autorust_openapi by @ctaggart in #328
- List databases stream impl by @rylev in #340
- split up AutoRust code generation of models & operations by @cataggar in #355
- [Cosmos] Migrate get_document to pipelines architecture by @eholk in #357
- Aligned multipart boundary. by @MidasLamb in #362
- separate parameter lifetime from token credential lifetime by @esheppa in #353
- CosmosDB: support for changing AuthorizationToken in pipeline by @MindFlavor in #339
- Add headers and remove body from DELETE transaction operation by @MidasLamb in #367
- Bugfix for deserializing MsiTokenResponse struct by @Billy-Sheppard in #366
- Bugfix for Incorrect Property Name on KeyVaultGetSecretResponseAttributes by @Billy-Sheppard in #365
- enable optionally using rustls instead of native-tls in reqwest by @bmc-msft in #368
- Mock testing framework via policies by @MindFlavor in #363
- Fix copy-paste error in example by @MidasLamb in #369
- Fix url in QueryEntityBuilder by @ankoh in #359
- Mock transport improvements by @rylev in #374
- Run example with mock framework as test by @rylev in #376
- Make sure URIs are set in record and match in playback by @rylev in #380
- Pass authorization token to cosmos client in mock_transport_framework test by @TheeGreenBee in #382
- ✨: Support set metadata request for blob by @afitzek in #351
- Move delete_user and list_users to pipeline architecture by @JoshGendein in #346
- Update mock_transport docs by @rylev in #381
- update services to latest specs by @bmc-msft in #384
- workaround Microsoft.Compute spec bug for location by @bmc-msft in #385
- autogenerate azure_mgmt_network by @bmc-msft in #391
- [Cosmos] Migrate (get, replace, delete)_collection to pipeline architecture by @JoshGendein in #373
- autogenerate data-plane service SDK by @bmc-msft in #389
- add azure_mgmt_batch examples by @bmc-msft in #386
- generate the rest of the data-plane SDK by @bmc-msft in #390
- generate type aliases for top level definitions that are basic types by @bmc-msft in #396
- set content-type application/json for generated requests with a json body by @bmc-msft in #397
- work around applicationinsights data plane spec error by @bmc-msft in #399
- get api-version from the specs, not the tag by @ctaggart in #406
- support x-ms-paths by @ctaggart in #405
- Documentation fixes by @gauravgahlot in #387
- roundtrip storage specs by @ctaggart in #403
- allow dashes in params by @ctaggart in #409
- make oauth2 authorizationUrl and scopes optional by @ctaggart in #408
- path level
parameters
by @ctaggart in #407 - improve rust identifier generation by @ctaggart in #412
- remove batchai service by @bmc-msft in #414
- support multiple concurrent versions of generated service APIs by @bmc-msft in #416
- make api-version static in service crates by @bmc-msft in #417
- generate keyvault svc bindings by @bmc-msft in #418
- support file response type by @ctaggart in #411
- use Url instead of String for Blob URLs by @bmc-msft in #422
- enable setting multiple SAS permissions at once by @bmc-msft in #432
- [storage] support tags in list blobs operation by @JensWalter in #410
- adjust service crate naming by @ctaggart in #440
- azure_security_keyvault by @ctaggart in #441
- update the services readme by @ctaggart in #448
- address clippy 0.1.56 lints in services by @bmc-msft in #437
- add "create path" operation (files only for now) to Azure Storage data_lake (using Pipeline architecture) by @thovoll in #358
- [storage] support find blobs by tags operation by @JensWalter in #439
- azure_messaging_eventgrid by @ctaggart in #442
- azure_messaging_servicebus by @ctaggart in #443
- azure_iot_hub by @ctaggart in #444
- address clippy 0.1.56 lints in SDK by @bmc-msft in #436
- compile all features for services nightly & on demand by @ctaggart in #447
- Use the spec's
consumes
for alternate forms ofapplication/json
by @bmc-msft in #449 - support account and service level SAS signatures by @bmc-msft in #433
- add simple
create_task
example forazure_svc_batch
by @bmc-msft in #450 - data_lake/create_path improvements by @thovoll in #451
- Expose
crate::Result
type alias for Cosmos by @yoshuawuyts in #338 - work around batch svc enum spec errors by @bmc-msft in #452
- move case_insensitive_deserialize to azure_core::util by @bmc-msft in #453
- no longer
println
from within SDK by @bmc-msft in #454 - fix MSI authentication parsing of
expires_on
by @bmc-msft in #460 - Fix formatting scripts by @rylev in #456
- begin history and faq by @ctaggart in #461
- Refactor retry by @rylev in #458
- Finish Cosmos database client by @rylev in #455
- Add cancellation example to Cosmos by @yoshuawuyts in #457
- Retry on 5xx, error on 4xx by @rylev in #465
- delete_database must DELETE, not GET, the database by @dimbleby in #471
- Add usage to sdk by @deven96 in #467
- refresh tokens contain
scope
fields, notscopes
by @bmc-msft in #468 - attempt to parse token errors on refresh failures by @bmc-msft in #472
- expose identity traits by @bmc-msft in #469
- check clippy as part of the build by @bmc-msft in #485
- support mutliple Scopes in client credential flow by @bmc-msft in #484
- remove unused dependencies from security_keyvault by @bmc-msft in #487
- Rename DefaultCredential to DefaultAzureCredential by @johnbatty in #488
- align oauth2 crate's TLS support with reqwest support. by @bmc-msft in #486
- [Identity] Aggregate errors for get_token by @JoshGendein in #481
- remove cron schedule by @ctaggart in #498
- crate::Error for services by @ctaggart in #497
- Remove traits AsDataLakeClient and AsFileSystemClient by @thovoll in #491
- bug fixes to add 4 more azure_svc crates by @ctaggart in #505
- Document operations by @rylev in #476
- Add more data_lake operations by @thovoll in #495
- Context as type map by @MindFlavor in #504
- Create azure_storage_queues crate from azure_storage::queue by @johnbatty in #493
- fix metadata for list blobs not populated by @afitzek in #350
- Add rename_file_if_not_exists operation to data_lake by @thovoll in #506
- Add 'delete file' operation to data_lake. by @thovoll in #512
- only add getrandom as a dependency on wasm32 targets by @bmc-msft in #513
- enable passing reqwest features to azure_core from azure_storage by @bmc-msft in #509
- update auto-generated services by @bmc-msft in #518
- Add support to use rustls with azure-identity by @bmc-msft in #517
- fix signing blob URLs where the blob name contains slashes by @bmc-msft in #514
- Enable using rustls from service crates by @bmc-msft in #519
- Add KeyVault Certificate Functions by @Billy-Sheppard in #334
- [Identity] Check status code for ManagedIdentityCredential by @JoshGendein in #511
- PipelineContext removal by @MindFlavor in #522
- Removed Context mutability in pipeline by @MindFlavor in #523
- resolve parameters before codegen by @ctaggart in #524
into_future
for services by @cataggar in #527- add operation summary doc comments by @cataggar in #530
- fix default credential builder flags by @polivbr in #526
- Squash warnings on main by @yoshuawuyts in #535
- Operation Builder Future by @rylev in #510
- first pass at polishing
azure-core
by @yoshuawuyts in #538 - Refactor mock support by @rylev in #540
- Slim down core further by @rylev in #541
- Pageable by @rylev in #534
- Further core cleanup by @rylev in #542
- Identity cleanup by @rylev in #544
- Create azure_storage_blobs crate from azure_storage::blob by @johnbatty in #499
- Create azure_data_tables crate from azure_storage by @johnbatty in #546
- Create azure_storage_datalake crate from azure_storage by @johnbatty in #545
- Force operationalinsight query result rows to serde_json::Value. by @bittrance in #550
- box operationalinsights errors by @ctaggart in #554
- re-enable rustls support for recently split out storage crates by @bmc-msft in #560
- re-enable using rustls with data-tables by @bmc-msft in #561
- resolve models before codegen by @ctaggart in #556
- resolve allOf before codegen by @ctaggart in #558
- fix rustls support for data tables and storage blobs by @bmc-msft in #564
- print tag details by @ctaggart in #565
- update to latest service specs by @ctaggart in #562
- report tags that use multiple versions by @ctaggart in #567
- add dependabot for SDK & services generator by @bmc-msft in #566
- Update hyper-rustls requirement from 0.22 to 0.23 by @dependabot in #572
- Update env_logger requirement from 0.8 to 0.9 by @dependabot in #574
- Update serde-xml-rs requirement from 0.4 to 0.5 by @dependabot in #571
- update hmac and sha2 by @bmc-msft in #576
- support multiple versions by @cataggar in #577
- update services to latest by @cataggar in #578
- add default endpoint if in specs by @cataggar in #582
- add Default to models by @cataggar in #580
- impl Default for enums by @cataggar in #585
- update comrak & config_parser by @cataggar in #587
- Remove lifetimes from some request properties by @roeap in #586
- Fix wrong definition of certificate authority by @rerkcp in #548
- Remove lifetimes for file operation request properties by @roeap in #592
- Add shared key auth to data_lake by @thovoll in #568
- rename HTTPHeaderError to HttpHeaderError by @cataggar in #596
- update heck to 0.4 by @cataggar in #594
- add
::new
to service models for required by @cataggar in #598 - document all features at docs.rs by @cataggar in #603
- drop Error suffix from cases by @cataggar in #600
- rename azure_cosmos to azure_data_cosmos by @cataggar in #606
- remove "Error" suffix in StreamError & HttpError cases by @cataggar in #608
- move BA512Range to storage_blobs by @cataggar in #609
- [datalake] Migrate file system operations to pipeline architecture by @roeap in #597
- rename ParsingError to ParseError by @cataggar in #607
- error source cleanup by @cataggar in #611
- Update README SDK crate list by @johnbatty in #605
- add source for errors in generated services by @cataggar in #613
- [Identity] Add docs by @JoshGendein in #615
- Upgrade examples to
[email protected]
by @yoshuawuyts in #619 - identity error cleanup by @cataggar in #620
- add blob_container.exists() by @bmc-msft in #616
- [datalake] Add DirectoryClient and FileClient by @roeap in #610
- publish as azure_base crate by @cataggar in #623
- add azure_base version for azure_identity by @cataggar in #626
- move device_code_flow example by @cataggar in #627
- revert back to "azure_core" by @ctaggart in #630
- add license for services by @ctaggart in #631
New Contributors
- @guywaldman made their first contribution in #1
- @gzp-crey made their first contribution in #9
- @dzmitry-lahoda made their first contribution in #13
- @MindFlavor made their first contribution in #2
- @sawlody made their first contribution in #67
- @sd2k made their first contribution in #75
- @jefshe made their first contribution in #74
- @Alexei-B made their first contribution in #90
- @cschaible made their first contribution in #101
- @extrawurst made their first contribution in #117
- @karataliu made their first contribution in #135
- @uint made their first contribution in #161
- @huitseeker made their first contribution in #173
- @maxburke made their first contribution in #172
- @carols10cents made their first contribution in #179
- @kurtzeborn made their first contribution in #183
- @damienpontifex made their first contribution in #192
- @trevor-crypto made their first contribution in #189
- @notheotherben made their first contribution in #214
- @jakubfijalkowski made their first contribution in #235
- @arnodb made their first contribution in #231
- @mdtro made their first contribution in #242
- @ArtemTrofimushkin made their first contribution in #264
- @justinbarclay made their first contribution in #311
- @u5surf made their first contribution in #314
- @Billy-Sheppard made their first contribution in #319
- @JoshGendein made their first contribution in #332
- @vincentserpoul made their first contribution in #333
- @eholk made their first contribution in #357
- @MidasLamb made their first contribution in #362
- @esheppa made their first contribution in #353
- @ankoh made their first contribution in #359
- @TheeGreenBee made their first contribution in #382
- @afitzek made their first contribution in #351
- @gauravgahlot made their first contribution in #387
- @JensWalter made their first contribution in #410
- @dimbleby made their first contribution in #471
- @deven96 made their first contribution in #467
- @polivbr made their first contribution in #526
Full Changelog: https://github.com/Azure/azure-sdk-for-rust/commits/v2022-01-25