Commit graph

562 commits

Author SHA1 Message Date
Graham Esau
95475ad1b4 Use $defs instead of definitions in draft 2019-09
This also changes the strategy for running visitors on subschemas - it is now done eagerly, as soon as they're added to the definitions map.
2024-05-19 18:07:51 +01:00
Graham Esau
22e89a5dd6 Never add a field with the default attribute to a schema's required properties 2024-05-18 23:00:24 +01:00
Graham Esau
7ecaa7feab
Revert unintentional change in behaviour when combining default and required attributes (#293)
Never add a field with the `default` attribute to a schema's `required` properties
2024-05-18 22:37:40 +01:00
Graham Esau
d3b6ff5aeb Re-add preserve_order feature, to preserve order of struct fields in a schema's properties 2024-05-18 21:55:05 +01:00
Graham Esau
c4d42ec11a Refactor flatten and move it to _private, remove TempFixupForTests, regenerate test schemas 2024-05-13 22:02:32 +01:00
Graham Esau
18300c67bb
Use const instead of single-valued enum (#291) 2024-05-13 21:30:51 +01:00
Graham Esau
cf5be1b266 Ignore failing test
The failure reason is arguably a bug in `Schema`'s `PartialEq` impl. This bug is not present in the v1 branch, so the test passes there.
2024-05-13 21:29:16 +01:00
Graham Esau
8c2c32bce0 Regenerate example schemas 2024-05-13 18:33:55 +01:00
Graham Esau
f5d2142714 Regenerate test schemas 2024-05-13 18:33:48 +01:00
Graham Esau
4dde683358 Update OpenAPI 3.0 schema URI 2024-05-13 18:17:21 +01:00
Graham Esau
dec3c67e87 Remove test schemas for now-removed RootSchema 2024-05-13 17:58:09 +01:00
Graham Esau
efff7e2606 Merge branch 'master' into v1 2024-05-13 17:55:02 +01:00
Graham Esau
449bb1a0ca Add more tests for different schema settings
This is mainly to keep this coverage around in v1, where the `schema_for_schema` tests are no longer viable
2024-05-13 17:53:56 +01:00
Graham Esau
b87b6ebb6c Remove usage of is_some_and (not supported in rustc 1.60) 2024-05-13 10:56:55 +01:00
Graham Esau
3b3870ca82 Simplify flatten
No longer use it for internally-tagged enums. Instead, use a private helper that adds the tag property.
2024-05-13 10:52:42 +01:00
Graham Esau
342cd5fd09
Define Schema as a newtype around serde_json::Value (#289) 2024-05-12 19:23:54 +01:00
Graham Esau
7f6a7b7e32 Typo in changelog 2024-05-06 18:17:37 +01:00
Graham Esau
8da70a4d45 v0.8.19 2024-05-06 18:13:54 +01:00
Graham Esau
1a40d1b06c Fix deriving JsonSchema on enum without variants
Fixes #287
2024-05-06 18:12:20 +01:00
Graham Esau
4b90b6f8c8 v0.8.18 2024-05-06 13:58:49 +01:00
Graham Esau
d04c17bda4
Simplify generated enum code (#286)
* simplify the code generated for unit enums
* simplify generated code for validating object properties
* optimize internal and externally tagged enums

---------

Co-authored-by: Robin Appelman <robin@icewind.nl>
2024-05-06 13:54:13 +01:00
Graham Esau
e5ef0f8d7b v0.8.17 2024-04-28 19:03:40 +01:00
Graham Esau
df00e2fd71 Add comment explaining why we double-parse an Expr 2024-04-28 18:59:42 +01:00
Graham Esau
bbedf130ce Include Cargo.lock file in git
This should make builds (especially for MSRV) much more stable, at the cost of no longer testing schemars compatibility with new dependency versions.
2024-04-28 18:56:06 +01:00
Graham Esau
9501fe319f Update to syn 2 and serde_derive_internals 0.29 2024-04-28 18:56:06 +01:00
Graham Esau
e04e3a3a81 v0.8.16 2023-11-11 20:35:26 +00:00
Graham Esau
ae9544aaf9 Put schema value into a variable before calling apply_metadata
This reduces size of MIR output, which should somewhat mitigate #246
2023-11-11 20:28:10 +00:00
Graham Esau
9415fcb57b v0.8.15 2023-09-17 21:13:54 +01:00
Graham Esau
a8d723342f Cleanup and test updates for bigdecimal04 2023-09-17 21:10:22 +01:00
Adam Chalmers
cc28738f41
Support bigdecimal 0.4 (#237) 2023-09-17 21:05:21 +01:00
Graham Esau
0084f1a655 v0.8.14 2023-09-17 20:56:13 +01:00
Graham Esau
6e3248f830 Fix bad merge 2023-09-17 20:53:10 +01:00
Graham Esau
a136277f60 Update docs for schema_id() 2023-09-17 20:51:37 +01:00
Graham Esau
28258ae99b Update changelog 2023-09-17 20:40:19 +01:00
Graham Esau
342b2dff33
Add schema_id(), handles different types with the same name (#247) 2023-09-17 20:36:52 +01:00
Graham Esau
53bb51cb25 Update changelog 2023-09-17 20:35:16 +01:00
Graham Esau
db1dd47039
Fix schemas for bigdecimal/rust_decimal (#248)
Both of these crates serialise decimals as strings, not as plain numbers
2023-09-17 20:31:24 +01:00
Jakub Jirutka
a5e51b22b3
Add #[schemars(inner(...)] attribute to specify schema for array items (#234) 2023-09-09 13:35:53 +01:00
Graham Esau
30e513ac14
Use feature resolver version 2 2023-09-09 13:32:54 +01:00
Graham Esau
27469ab32b Update changelog for 0.8.13 2023-08-28 21:20:24 +01:00
Graham Esau
6931d70e0a v0.8.13 2023-08-28 21:19:01 +01:00
Graham Esau
e0c867cd6a Forward RawValue's JsonSchema impl to Value 2023-08-28 12:29:36 +01:00
Graham Esau
c487bbb9e7 Update docs and changelog 2023-08-28 12:29:36 +01:00
Łukasz Biel
cb392d1829 Cover serde_json RawValue type by schemars 2023-08-28 12:29:36 +01:00
Graham Esau
5836afbd64 Update docs and changelog 2023-08-27 23:01:12 +01:00
David Knaack
aeb989486e Add support for indexmap v2 2023-08-27 23:01:12 +01:00
Graham Esau
5dbfa49c5e Update MSRV to 1.60 2023-08-27 23:01:12 +01:00
Graham Esau
37478d764e
Support types with const generics (#239)
Co-authored-by: Spencer Sharkey <spsharkey@tesla.com>
2023-08-27 20:50:20 +01:00
Graham Esau
0303f0334e
add support for semver crate (#238)
---------

Co-authored-by: Omar Tawfik <15987992+OmarTawfik@users.noreply.github.com>
2023-08-27 20:00:36 +01:00
Graham Esau
1ac9d19a24 Don't duplicate entire README in doc comment 2023-08-20 18:14:04 +01:00