Skip to content

Commit

Permalink
Merge #640
Browse files Browse the repository at this point in the history
640: Bump version to v3.3.0 for `hashbrown` support r=jonasbb a=jonasbb

bors r+

Co-authored-by: Jonas Bushart <[email protected]>
  • Loading branch information
bors[bot] and jonasbb authored Aug 19, 2023
2 parents 5687d0f + 5a65392 commit 160c70d
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 29 deletions.
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ license = "MIT OR Apache-2.0"
readme = "README.md"
repository = "https://github.com/jonasbb/serde_with/"
rust-version = "1.64"
version = "3.2.0"
version = "3.3.0"

[workspace.metadata.release]
consolidate-commits = true
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,14 +183,14 @@ Foo::Bytes {
}
```

[`DisplayFromStr`]: https://docs.rs/serde_with/3.2.0/serde_with/struct.DisplayFromStr.html
[`with_prefix!`]: https://docs.rs/serde_with/3.2.0/serde_with/macro.with_prefix.html
[feature flags]: https://docs.rs/serde_with/3.2.0/serde_with/guide/feature_flags/index.html
[skip_serializing_none]: https://docs.rs/serde_with/3.2.0/serde_with/attr.skip_serializing_none.html
[StringWithSeparator]: https://docs.rs/serde_with/3.2.0/serde_with/struct.StringWithSeparator.html
[user guide]: https://docs.rs/serde_with/3.2.0/serde_with/guide/index.html
[`DisplayFromStr`]: https://docs.rs/serde_with/3.3.0/serde_with/struct.DisplayFromStr.html
[`with_prefix!`]: https://docs.rs/serde_with/3.3.0/serde_with/macro.with_prefix.html
[feature flags]: https://docs.rs/serde_with/3.3.0/serde_with/guide/feature_flags/index.html
[skip_serializing_none]: https://docs.rs/serde_with/3.3.0/serde_with/attr.skip_serializing_none.html
[StringWithSeparator]: https://docs.rs/serde_with/3.3.0/serde_with/struct.StringWithSeparator.html
[user guide]: https://docs.rs/serde_with/3.3.0/serde_with/guide/index.html
[with-annotation]: https://serde.rs/field-attrs.html#with
[as-annotation]: https://docs.rs/serde_with/3.2.0/serde_with/guide/serde_as/index.html
[as-annotation]: https://docs.rs/serde_with/3.3.0/serde_with/guide/serde_as/index.html

## License

Expand Down
24 changes: 24 additions & 0 deletions serde_with/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,30 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## [Unreleased]

## [3.3.0] - 2023-08-19

### Added

* Support the `hashbrown` type `HashMap` and `HashSet` (#636, #637)
Thanks to @OliverNChalk for raising the issue and submitting a PR.

This extends the existing support for `HashMap`s and `HashSet`s to the `hashbrown` crate v0.14.
The same conversions as for the `std` and `indexmap` types are available, like general support for `#[serde_as]` and converting it to/from sequences or maps.

### Changed

* Generalize some trait bounds for `DeserializeAs` implementations

While working on #637 it came to light that some of the macros for generating `DeserializeAs` implementations were not as generic as they could.
This means they didn't work with custom hasher types, but only the default hashers.
This has now been fixed and custom hashers should work better, as long as they implement `BuildHasher + Default`.

* (internal) Change how features are documented (#639)

This change moves the feature documentation into `Cargo.toml` in a format that can be read by lib.rs.
It will improve the generated features documentation there.
The page with all features remains in the guide but is now generated from the `Cargo.toml` information.

## [3.2.0] - 2023-08-04

### Added
Expand Down
2 changes: 1 addition & 1 deletion serde_with/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ indexmap_2 = {package = "indexmap", version = "2.0", optional = true, default-fe
# https://github.com/jonasbb/serde_with/blob/eb1965a74a3be073ecd13ec05f02a01bc1c44309/serde_with/src/flatten_maybe.rs#L67
serde = {version = "1.0.157", default-features = false, features = ["derive"] }
serde_json = {version = "1.0.45", optional = true, default-features = false}
serde_with_macros = {path = "../serde_with_macros", version = "=3.2.0", optional = true}
serde_with_macros = {path = "../serde_with_macros", version = "=3.3.0", optional = true}
time_0_3 = {package = "time", version = "~0.3.11", optional = true, default-features = false}

[dev-dependencies]
Expand Down
26 changes: 13 additions & 13 deletions serde_with/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#![doc(test(attr(warn(rust_2018_idioms))))]
// Not needed for 2018 edition and conflicts with `rust_2018_idioms`
#![doc(test(no_crate_inject))]
#![doc(html_root_url = "https://docs.rs/serde_with/3.2.0/")]
#![doc(html_root_url = "https://docs.rs/serde_with/3.3.0/")]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![allow(
// clippy is broken and shows wrong warnings
Expand Down Expand Up @@ -281,14 +281,14 @@
//! # }
//! ```
//!
//! [`DisplayFromStr`]: https://docs.rs/serde_with/3.2.0/serde_with/struct.DisplayFromStr.html
//! [`with_prefix!`]: https://docs.rs/serde_with/3.2.0/serde_with/macro.with_prefix.html
//! [feature flags]: https://docs.rs/serde_with/3.2.0/serde_with/guide/feature_flags/index.html
//! [skip_serializing_none]: https://docs.rs/serde_with/3.2.0/serde_with/attr.skip_serializing_none.html
//! [StringWithSeparator]: https://docs.rs/serde_with/3.2.0/serde_with/struct.StringWithSeparator.html
//! [user guide]: https://docs.rs/serde_with/3.2.0/serde_with/guide/index.html
//! [`DisplayFromStr`]: https://docs.rs/serde_with/3.3.0/serde_with/struct.DisplayFromStr.html
//! [`with_prefix!`]: https://docs.rs/serde_with/3.3.0/serde_with/macro.with_prefix.html
//! [feature flags]: https://docs.rs/serde_with/3.3.0/serde_with/guide/feature_flags/index.html
//! [skip_serializing_none]: https://docs.rs/serde_with/3.3.0/serde_with/attr.skip_serializing_none.html
//! [StringWithSeparator]: https://docs.rs/serde_with/3.3.0/serde_with/struct.StringWithSeparator.html
//! [user guide]: https://docs.rs/serde_with/3.3.0/serde_with/guide/index.html
//! [with-annotation]: https://serde.rs/field-attrs.html#with
//! [as-annotation]: https://docs.rs/serde_with/3.2.0/serde_with/guide/serde_as/index.html
//! [as-annotation]: https://docs.rs/serde_with/3.3.0/serde_with/guide/serde_as/index.html

#[cfg(feature = "alloc")]
extern crate alloc;
Expand Down Expand Up @@ -495,7 +495,7 @@ pub use serde_with_macros::*;
/// # }
/// ```
///
/// [serde_as]: https://docs.rs/serde_with/3.2.0/serde_with/attr.serde_as.html
/// [serde_as]: https://docs.rs/serde_with/3.3.0/serde_with/attr.serde_as.html
pub struct As<T: ?Sized>(PhantomData<T>);

/// Adapter to convert from `serde_as` to the serde traits.
Expand Down Expand Up @@ -927,7 +927,7 @@ pub struct BytesOrString;
/// ```
///
/// [`chrono::Duration`]: ::chrono_0_4::Duration
/// [feature flag]: https://docs.rs/serde_with/3.2.0/serde_with/guide/feature_flags/index.html
/// [feature flag]: https://docs.rs/serde_with/3.3.0/serde_with/guide/feature_flags/index.html
pub struct DurationSeconds<
FORMAT: formats::Format = u64,
STRICTNESS: formats::Strictness = formats::Strict,
Expand Down Expand Up @@ -1059,7 +1059,7 @@ pub struct DurationSeconds<
/// ```
///
/// [`chrono::Duration`]: ::chrono_0_4::Duration
/// [feature flag]: https://docs.rs/serde_with/3.2.0/serde_with/guide/feature_flags/index.html
/// [feature flag]: https://docs.rs/serde_with/3.3.0/serde_with/guide/feature_flags/index.html
pub struct DurationSecondsWithFrac<
FORMAT: formats::Format = f64,
STRICTNESS: formats::Strictness = formats::Strict,
Expand Down Expand Up @@ -1261,7 +1261,7 @@ pub struct DurationNanoSecondsWithFrac<
/// [`SystemTime`]: std::time::SystemTime
/// [`chrono::DateTime<Local>`]: ::chrono_0_4::DateTime
/// [`chrono::DateTime<Utc>`]: ::chrono_0_4::DateTime
/// [feature flag]: https://docs.rs/serde_with/3.2.0/serde_with/guide/feature_flags/index.html
/// [feature flag]: https://docs.rs/serde_with/3.3.0/serde_with/guide/feature_flags/index.html
pub struct TimestampSeconds<
FORMAT: formats::Format = i64,
STRICTNESS: formats::Strictness = formats::Strict,
Expand Down Expand Up @@ -1403,7 +1403,7 @@ pub struct TimestampSeconds<
/// [`chrono::DateTime<Local>`]: ::chrono_0_4::DateTime
/// [`chrono::DateTime<Utc>`]: ::chrono_0_4::DateTime
/// [NaiveDateTime]: ::chrono_0_4::NaiveDateTime
/// [feature flag]: https://docs.rs/serde_with/3.2.0/serde_with/guide/feature_flags/index.html
/// [feature flag]: https://docs.rs/serde_with/3.3.0/serde_with/guide/feature_flags/index.html
pub struct TimestampSecondsWithFrac<
FORMAT: formats::Format = f64,
STRICTNESS: formats::Strictness = formats::Strict,
Expand Down
4 changes: 4 additions & 0 deletions serde_with_macros/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## [Unreleased]

## [3.3.0] - 2023-08-19

No changes.

## [3.2.0] - 2023-08-04

No changes.
Expand Down
10 changes: 5 additions & 5 deletions serde_with_macros/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#![doc(test(attr(warn(rust_2018_idioms))))]
// Not needed for 2018 edition and conflicts with `rust_2018_idioms`
#![doc(test(no_crate_inject))]
#![doc(html_root_url = "https://docs.rs/serde_with_macros/3.2.0/")]
#![doc(html_root_url = "https://docs.rs/serde_with_macros/3.3.0/")]
// Necessary to silence the warning about clippy::unknown_clippy_lints on nightly
#![allow(renamed_and_removed_lints)]
// Necessary for nightly clippy lints
Expand Down Expand Up @@ -590,8 +590,8 @@ fn field_has_attribute(field: &Field, namespace: &str, name: &str) -> bool {
/// }
/// ```
///
/// [`serde_as`]: https://docs.rs/serde_with/3.2.0/serde_with/guide/index.html
/// [re-exporting `serde_as`]: https://docs.rs/serde_with/3.2.0/serde_with/guide/serde_as/index.html#re-exporting-serde_as
/// [`serde_as`]: https://docs.rs/serde_with/3.3.0/serde_with/guide/index.html
/// [re-exporting `serde_as`]: https://docs.rs/serde_with/3.3.0/serde_with/guide/serde_as/index.html#re-exporting-serde_as
#[proc_macro_attribute]
pub fn serde_as(args: TokenStream, input: TokenStream) -> TokenStream {
#[derive(FromMeta)]
Expand Down Expand Up @@ -1008,7 +1008,7 @@ fn has_type_embedded(type_: &Type, embedded_type: &syn::Ident) -> bool {
/// [`Display`]: std::fmt::Display
/// [`FromStr`]: std::str::FromStr
/// [cargo-toml-rename]: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#renaming-dependencies-in-cargotoml
/// [serde-as-crate]: https://docs.rs/serde_with/3.2.0/serde_with/guide/serde_as/index.html#re-exporting-serde_as
/// [serde-as-crate]: https://docs.rs/serde_with/3.3.0/serde_with/guide/serde_as/index.html#re-exporting-serde_as
/// [serde-crate]: https://serde.rs/container-attrs.html#crate
#[proc_macro_derive(DeserializeFromStr, attributes(serde_with))]
pub fn derive_deserialize_fromstr(item: TokenStream) -> TokenStream {
Expand Down Expand Up @@ -1128,7 +1128,7 @@ fn deserialize_fromstr(mut input: DeriveInput, serde_with_crate_path: Path) -> T
/// [`Display`]: std::fmt::Display
/// [`FromStr`]: std::str::FromStr
/// [cargo-toml-rename]: https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#renaming-dependencies-in-cargotoml
/// [serde-as-crate]: https://docs.rs/serde_with/3.2.0/serde_with/guide/serde_as/index.html#re-exporting-serde_as
/// [serde-as-crate]: https://docs.rs/serde_with/3.3.0/serde_with/guide/serde_as/index.html#re-exporting-serde_as
/// [serde-crate]: https://serde.rs/container-attrs.html#crate
#[proc_macro_derive(SerializeDisplay, attributes(serde_with))]
pub fn derive_serialize_display(item: TokenStream) -> TokenStream {
Expand Down

0 comments on commit 160c70d

Please sign in to comment.