Skip to content
This repository has been archived by the owner on Oct 6, 2020. It is now read-only.

Releases: MindFlavor/AzureSDKForRust

Removed reqwest dependency from core crate

06 Jan 19:54
7c99a20
Compare
Choose a tag to compare
  • Removed reqwest dependency from core crate (Issue #212).
  • Upgraded AAD crate to use OAuth2 version 3.0.0-alpha.7.

Complete rewrite of CosmosDB crate

05 Jan 14:31
7b459e2
Compare
Choose a tag to compare

Main goals

  1. Support for builder pattern everywhere.
  2. Support for bleeding edge Azure CosmosDB REST APIs (version 2018-12-31). This deprecates non-partitioned collections. The crate reflects that (see https://docs.microsoft.com/en-us/azure/cosmos-db/migrate-containers-partitioned-to-nonpartitioned).
  3. Compliance with the other Azure SDK crates.
  4. Better use of recent Rust features.
  5. More streamlined code. Each REST method has: Request and Response. The Client will create a type safe Request that has an execute function, callable only when all the mandatory fields have been filled. Some functions also export a stream function that takes care of the ContinuationToken for you.
  6. Less fragmented code. Now it should be easier to find the relevant struct/trait in the repo.
  7. Better encapsulation (there is still work to do here, many items can go from pub to pub(crate)).
  8. Removed all Ext traits (those were really ugly 🤦‍♂️).
  9. Ability to create a DatabaseClient and a CollectionClient that embed the database name and collection name. These structs are light but help you avoid repeating the names over and over (most code uses a single collection anyway).
  10. Make implementing the missing APIs easier.

Issues closed

  1. #181: Make CosmosDB API more similar to the rest of the crates.
  2. #153: Cosmos DB: fix replace_collection().

Drawbacks

  1. No backward compatibility.
  2. Many functions are more verbose (but waaay easier to understand and safer to use).

Limitations

  1. The functions always return AzureError in case of error. While AzureError is ergonomic to use it does not capture the nuances of every error. A more thoughtful approach is warranted.

API changes to make Table Storage API easier to use

30 Dec 18:49
Compare
Choose a tag to compare

Support for etag in storage tables

16 Dec 10:19
Compare
Choose a tag to compare
table_0.30.2

version table_0.30.2

Fixed table regression after PR 173

02 Dec 17:25
Compare
Choose a tag to compare
table_0.30.1

updated README refs

std::future compatibility

30 Nov 16:09
727bb69
Compare
Choose a tag to compare

This release migrates to the std::future version of hyper thus enabling the use of async/await syntax.

The code should be backward compatible (given the new Future, that is). You can probably face lifetime issues (especially in the Cosmos SDK) that can be overcome avoiding references altogether.
I will probably streamline the Cosmos crate in the near future to make it more similar to the other ones.

Fixes #170, #169, #168, #167, #166, #165, #164, #163 and #140.

It completes the milestone #2.

AAD 0.21.1

24 Oct 15:02
Compare
Choose a tag to compare

Fixes #155.

0.24.0

17 Oct 14:55
Compare
Choose a tag to compare

As usual, thank you to every contributor!

Conditional header support for PUT block blob

15 Sep 17:13
69276b1
Compare
Choose a tag to compare

Cosmos 0.23.0

  • Exported DocumentAttribute's ID (PR #139 closes #137).

Storage blob 0.23.0

  • Conditional header support for PUT block blob by Eero Kelly (PR #138).

Side note

Whenever I create a release containing multiple crates (like this one) I will increment the highest version and use that one for the tag and every updated crate. This could create holes in a crate version history but I think it's fine as long as it helps to find the tag for a specific version.

Fix clippyand China Cosmos DB URI

16 Aug 13:59
5bd99e9
Compare
Choose a tag to compare

Fixes

  • Fixed China Cosmos DB URI (PR #134 by zimingWu).
  • Fixed clippy warnings and errors (PR #136).
  • Fixed Storage Account E2E test (PR #136).

Breaking changes

  1. In Cosmos crate, renamed the function is_upsert in upsert since it took a mutable reference of self.
  2. In AAD crate, moved function from_str from impl LoginResponse to impl FromStr for LoginResponse (the logic is the same, you just need to have the trait imported).