- Unreleased changes (release date TBD)
- 0.0.13 (released 2023-05-14)
- 0.0.12 (released 2023-05-03)
- 0.0.11 (released 2023-03-18)
- 0.0.10 (released 2022-09-10)
- 0.0.9 (released 2022-06-20)
- 0.0.8 (released 2022-05-22)
- 0.0.7 (released 2022-05-18)
- 0.0.6 (released 2022-05-12)
- 0.0.5 (released 2021-11-06)
- 0.0.4 (released 2021-11-06)
-
Fixed-length, single-type arrays to
[T; N]
(#286) -
Support for reflexive schemas (#292)
-
Much improved support for multi-type schemas (#291)
-
Better error messages on failures
-
Improved enum generation (#270)
-
Improved integer type selection based on number criteria (#255)
-
TypeSpace::add_root_schema()
(#236) -
… and many general improvements
This is a big update with many, many changes to code generation, and many more JSON schema structures well-handled. Among the many changes:
-
Generate a
ToString
impl for untagged enums with trivial variants (#145) -
Allow conversion overrides by specifying a schema (#155)
-
Handle untyped enums that contain nulls (#167)
-
Handle
not
schemas for enumerated values (#168) -
Improve generated code for FromStr and TryFrom impls (#174)
-
Handle format specifiers for enumerated strings (#188)
Previously all transitive consumers required the presence of rustfmt
. In this
version we leave formatting to the consumer. See the formatting section of the README for details on formatting.
Consumers can now affect how code is generated in several ways: * adding derive macros to all generated types * modifying specific types by name to rename them or add derive macros * specifying a replacement type by name * specifying a replacement type by schema pattern
-
Allow per-type renames and derive macro applications (#131)
-
ToString
implementations for untagged enums with trivial newtype variants (#145) -
Fixed an issue with generation of enum defaults (#137)
-
Allow conversion overrides by specifying a schema (#155)
-
Add support for string types with
format
set toip
,ipv4
, oripv6
(#76) -
Be more accommodating in the face of a missing
type
field #(79) -
The order of derives on types has stabilized (and therefore has changed) (#81)
-
Specific
From
andDeserialize
implementations for constrainted string types (#81) -
Specific
From
implementation for untagged enums with constrained string variants (#81) -
FromStr
implementation for simple-variant-only `enum`s (#81) -
Ignore unknown
format
values (#81) -
Added
regress
dependency for ECMA 262 style regexes (#81) -
Dropshot produces a complex
Null
type (by necessity); now rendered as()
(#83) -
Fixed rendering of enums with a single variant (#87)
-
Updated public interface (breaking for consumers) (#98)
-
Optional builder interface for generated structs (#98)
-
Switched from
unicode-xid
tounicode-ident
(#60) -
Elevate
TypeDetail::String
rather thanTypeDetail::BuiltIn("String")
(#72)
-
Support for integer schemas with
enum_values
populated (breaking change) (#57) -
Deeper inspection of
oneOf
constructions to make better `enum`s (#59) -
Simple handling for "constraint"
allOf
constructions (#59) -
Improved handling of non-required unit struct members (#59)
-
Update to
uuid
v1.0.0 for testing (non-breaking change)
-
Add an interface to allow consumers to specify additional derives for generated types (#35)
-
Handle all invalid identifier characters (#37)
-
Add support for
std::net::Ipv6Addr
type (#38) -
Add
Copy
to simple enums (#40) -
Box
trivial cyclic refs (#41) -
Move to heck for case conversion (#43)
-
Improve handling of default values for object properties (#44)
-
use include_str! so that our macro is re-run if the given file changes (#27)
-
Better handling of enums that look like the Result type (#26)
-
Pass through name for make_map (#25)