- Allow to pass adapter specific options
- Allow to pass
additional_properties
option to JSON Schema generator - Allow to pass
description
option to JSON Schema generator - Support for symbol type aliases in attribute mappings
- [bkjohnson] Add support for JSON Schema validation keywords (#29)
- Add support for Ruby 3.3
- Drop support for Ruby 2.6 and Ruby 2.7
- Fix Ox adapter incorrectly handling documents with XML declaration
- Support for Ruby 3.2
- Support for delegating fields to nested attributes
- JSON and XML schema namespace mapping support
- Allow to set render_nil defaults
- Use
ShaleError
as a base class for exceptions - Use model instead of mapper names for schema types
- Fix compilation error for bundled JSON schemas
- Fix type inference for XML schema when default namespace is used
- Fix XML schema handling with a period in the element name
- Support for CSV
- Allow to specify version and add encoding to XML declaration
- Support for mapping/generating collections
- Allow to group mappings using
group
block - Bring back Ruby 2.6 support
- Use anonymous module for attributes definition.
It allows to override accessors and
super
works as expected.
- Fix broken handling of Date and Time types
only: []
andexcept: []
options that allow to controll what attributes are rendered/parsedrender_nil: true
option that allows to render nil values- Allow to pass a context object to extractor/generator methods
- Pass whole document to methods for JSON/YAML/TOML so its behavior is consistent with XML mapping
- Convert splat arguments to keyword arguments
- RSpec: enable random spec execution and warnings
- Support for TOML
- Support for CDATA nodes in XML documents
- Support for using custom models
- Allow to map XML content using methods
- Prevent adding default mapping after mapping block was declared
- Allow to generate Shale model from XML Schema
- Shale doesn't defaults to REXML anymore - XML adapter needs to be set explicitly
- Rename "JSONSchemaError" to "SchemaError"
- Rename "Composite" type to "Complex"
- Drop support for Ruby 2.6
- Allow to add title to JSON Schema
- Map Shale::Type::Value to "anyType" XML Schema type
- Map Shale::Type::Value to "any" JSON Schema type
- Allow to generate Shale model from JSON Schema
- Performance improvements
- Reformat README a little bit and fix typos
- Fix stack overflow caused by circular dependency when generating JSON and XML schemas
- Rename
id
->$id
and add info about supported JSON Schema dialect
- Support for XML namespaces
- Add option to pretty print JSON and XML and to include XML declaration
- Add support for generating JSON and XML Schema
- Various fixes to documentation
- Rename
hash
->hsh
(hash
is used internally by Ruby) - Rename
Shale::Type::Base
->Shale::Type::Value
- Use ISO 8601 format for date and time in JSON, YAML and XML
- Fix handling of blank attributes in XML format
- Fix incorrect types in README examples
- Fix attribute declaration causing problems in some runtimes (e.g Opal)
- Support for using methods to extract/generate data from/to document
- deduplicate code
- Rename
Shale::Type::Complex
->Shale::Type::Composite
First public release