Skip to content

Releases: GREsau/schemars

v1.0.0-alpha.15

05 Sep 12:04
Compare
Choose a tag to compare
v1.0.0-alpha.15 Pre-release
Pre-release

Added

  • SchemaSettings now has a contract field which determines whether the generated schemas describe how types are serialized or deserialized. By default, this is set to Deserialize, as this more closely matches the behaviour of previous versions - you can change this to Serialize to instead generate schemas describing the type's serialization behaviour (#48 / #335)

Changed

  • Schemas generated for enums with no variants will now generate false (or equivalently {"not":{}}), instead of {"enum":[]}. This is so generated schemas no longer violate the JSON Schema spec's recommendation that a schema's enum array "SHOULD have at least one element".

v1.0.0-alpha.14

29 Aug 16:30
Compare
Choose a tag to compare
v1.0.0-alpha.14 Pre-release
Pre-release

Added

  • Read #[garde(...)] attributes as an alternative to #[validate(...)] (#233 / #331). See the documentation for a full list of supported attributes.

v1.0.0-alpha.13

27 Aug 18:29
Compare
Choose a tag to compare
v1.0.0-alpha.13 Pre-release
Pre-release

Fixed

  • Fix compile errors when using #[validate(regex(path = *expr))] attribute

v1.0.0-alpha.12

27 Aug 18:16
Compare
Choose a tag to compare
v1.0.0-alpha.12 Pre-release
Pre-release

Fixed

  • Allow regex(path = ...) value to be a non-string expression (#302 / #328)
  • Respect #[serde(rename_all_fields = ...)] attribute (#273 / #304)

Changed (⚠️ possibly-breaking changes ⚠️)

  • Invalid attributes that were previously silently ignored (e.g. setting schema_with on structs) will now cause compile errors
  • Validation attribute parsing has been altered to match the latest version of the validator crate:
    • Remove the phone attribute
    • Remove the required_nested attribute
    • regex and contains attributes must now be specified in list form #[validate(regex(path = ...))] rather than name/value form #[validate(regex = ...)]

v1.0.0-alpha.11

24 Aug 13:59
Compare
Choose a tag to compare
v1.0.0-alpha.11 Pre-release
Pre-release

Changed

  • Values in #[doc = ...] and #[schemars(description = ..., title = ...)] attributes may now be any arbitrary expression rather than just string literals. (#204 / #327)
  • ⚠️ MSRV is now 1.65 ⚠️

v1.0.0-alpha.10

22 Aug 19:04
Compare
Choose a tag to compare
v1.0.0-alpha.10 Pre-release
Pre-release

Fixed

  • Fix some cases of unsatisfiable schemas generated when flattening enums (#325 / #164 / #165)

v1.0.0-alpha.9

22 Aug 19:04
Compare
Choose a tag to compare
v1.0.0-alpha.9 Pre-release
Pre-release

Added

  • Add rustdoc for derive(JsonSchema) macro (#322 / #322)

v1.0.0-alpha.8

21 Aug 15:21
Compare
Choose a tag to compare
v1.0.0-alpha.8 Pre-release
Pre-release

Changed

  • Replace schemars::gen module with schemars::generate. This is because gen is a reserved keyword in rust 2024, so can only be used as r#gen. The schemars::gen module is still available for ease of upgrading, but is marked as deprecated and may be removed in the future 1.0.0 release. (#306 / #323)

v1.0.0-alpha.7

19 Aug 21:34
Compare
Choose a tag to compare
v1.0.0-alpha.7 Pre-release
Pre-release

Fixed

  • Fix behaviour of flatten for schemas with additionalProperties
  • Fix behaviour of flatten of multiple enums (#165 / #320)

v1.0.0-alpha.6

17 Aug 19:13
Compare
Choose a tag to compare
v1.0.0-alpha.6 Pre-release
Pre-release

Fixed

  • Fixed a configuration error that caused rustdoc generation to fail on docs.rs