Packages
jsv
0.12.0
0.21.2
0.21.1
0.21.0
0.20.0
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.3
0.18.2
0.18.1
0.18.0
0.17.1
0.17.0
0.16.0
0.15.2
0.15.1
0.15.0
0.14.0
0.13.1
0.13.0
0.12.0
0.11.5
0.11.4
0.11.3
retired
0.11.2
0.11.1
0.11.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.0
0.5.1
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
A JSON Schema Validator with complete support for the latest specifications.
Current section
Files
Jump to
Current section
Files
CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file.
## [0.12.0] - 2025-11-19
### π Features
- Support normalizing structs into non-map values in the Normalizer
- Added support for collecting additionalProperties in structs
## [0.11.5] - 2025-11-12
### π Bug Fixes
- Relax Poison dependency version constraints
### π Documentation
- Document function groups in main JSV module
## [0.11.4] - 2025-10-23
### π Bug Fixes
- Ignore all error values from Code.ensure_compiled
## [0.11.3] - 2025-10-23
### π Bug Fixes
- Fixed module-based schema loading in Elixir 1.19
## [0.11.2] - 2025-10-13
### π Documentation
- Fixed doc on schema preset helpers
## [0.11.0] - 2025-09-16
### π Features
- [**breaking**] ABNF parsers are now automatically enabled
### π§ͺ Testing
- Updated JSON Schema Test Suite
### βοΈ Miscellaneous Tasks
- Updated README.md
## [0.10.1] - 2025-08-11
### π Features
- Export required keys from generated struct modules
### βοΈ Miscellaneous Tasks
- Fix JSON tests for elixir 1.17
## [0.10.0] - 2025-07-10
### π Features
- Define and expect schema modules to export json_schema/0 instead of schema/0
- Allow to call defschema with a list of properties
- Added the defschema/3 macro to define schemas as submodules
### π Bug Fixes
- Ensure defschema with keyword syntax supports module-based properties
## [0.9.0] - 2025-07-05
### π Features
- Provide a schema representing normalized validation errors
- Deprecated the schema composition API in favor of presets
### π Bug Fixes
- Emit a build error with empty oneOf/allOf/anyOf
- Reset errors when using a detached validator
- Ensure casts are applied after all validations
- Revert default normalized error to atoms
### βοΈ Miscellaneous Tasks
- Define titles for normal validation error schemas
## [0.8.1] - 2025-06-29
### βοΈ Miscellaneous Tasks
- Export the locals_without_parens formatter opts for public macros
## [0.8.0] - 2025-06-23
### π Features
- Declare formatting support from main JSON codec
- Added the JSV.validate! bang functions
- Added explicit error when a sub schema is not buildable
- Export JSV.resolver_chain/1 for integration in 3rd parties
- [**breaking**] Defschema does not automatically define $id anymore
- Added string_to_number and string_to_boolean casters
- Return sub errors when oneOf has no matches
- Order sub-errors by ascending item index in array validation
- Added ability to build only a nested schema or multiple schemas
- Expose the map extensions helpers
- Added the prewalk traverse utility for schema normalization
- [**breaking**] Error normalizer will now sort error by instanceLocation
- [**breaking**] Changed caster tag of defschema to 0
- Allow custom formats to validate other types than strings
- Provide a function to create reference from a list of path segments
### π Bug Fixes
- Ensure keys are json-pointer encoded in instanceLoction in errors
- Return meaningful error for unknow keys in :required in defschema
- Fixed typespec on JSV.build_key!
- Fixed typespec and argument name in Builder.build!
### π Refactor
- Renamed Schema.override/2 to Schema.merge/2
- Defined different typespecs for normal schema and native schema
- Build error will now be raised with a proper stacktrace
- Removed useless accumulation of atoms when normalizing schemas
- [**breaking**] Changed order of arguments for Normalizer.normalize/3
- Renamed build_root to to_root as it is not building validators
### π Documentation
- Rework Decimal support limitations
### π§ͺ Testing
- Verify that unknown formats are ignored when formats assertion is disabled
### βοΈ Miscellaneous Tasks
- Clarify defschema error when no properties are given
- Fix warning when Poison.EncodeError is not defined
- Updated JSON Schema Test Suite
- Renamed keycast module attribute to jsv_keycast in defschema
- Provide correct line/column in debanged functions
- Allow to customize Inspect for Builder and Resolver
- Fix Elixir 1.19 warnings
## [0.7.2] - 2025-05-08
### π Features
- Added the non_empty_string schema helper
- Atom enums will use string_to_atom to support compile-time builds
### βοΈ Miscellaneous Tasks
- Updated JSON Schema Test Suite
- Enhanced JSTS updater
- Fixed warning on code when Decimal is missing
## [0.7.1] - 2025-04-27
### π Bug Fixes
- Fixed hex package definition
## [0.7.0] - 2025-04-27
### π Features
- Mail_address dependency is no longer used
- Validation support for Decimal
### π Documentation
- Updated doc examples with generated code
### π§ͺ Testing
- Enable tests for the 'uuid' format
- Enable tests for the 'hostname' format
- Enable tests for all uri/iri/pointer formats
### βοΈ Miscellaneous Tasks
- Changed JSON schema test suite updater
## [0.6.3] - 2025-04-13
### βοΈ Miscellaneous Tasks
- Fix missing file in hex package breaking installs
## [0.6.2] - 2025-04-13
### π Features
- Added Jason/Poison/JSON encoder implementations for JSV.NValidationError
## [0.6.1] - 2025-04-13
### βοΈ Miscellaneous Tasks
- Use mix_version for release process
## [0.6.0] - 2025-04-13
### π Features
- Resolvers do not need to normalize schemas anymore
- Added support to override existing vocabularies
- Schema definition helpers do not enforce a Schema struct anymore
- Provide a generic JSON normalizer for data and schemas
- Allow resolvers to mark schemas as normalized
- [**breaking**] Use jsv-cast keyword in schemas for struct and cast functions
### π Bug Fixes
- Removed conversion to string in codec format_to_iodata
### π Documentation
- Fix documentation grammar and typos
- Organize docs sidebar in categories
### βοΈ Miscellaneous Tasks
- Update Elixir Github workflow (#17)
- Use absolute path for JSTS ref file
## [0.5.1] - 2025-03-28
### π Bug Fixes
- Fixed compilation with Mix.install
### βοΈ Miscellaneous Tasks
- Release v0.5.1
## [0.5.0] - 2025-03-25
### π Features
- Added JSV.Resolver.Local to resolve disk stored schemas
- Special error format for additionalProperties:false
- Provide correct schemaLocation in all errors
- Added defschema_for to use different modules for schema and struct
- Provide ordered JSON encoding with native JSON modules
### π Bug Fixes
- Check presence of JSON module in CI
### π§ͺ Testing
- Make JSON codecs easier to test
- Fixed assertions for JSON codec on old OTP versions
### βοΈ Miscellaneous Tasks
- Refactored schema normalization
- Removed unused alias
- Use readmix to generate formats docs
## [0.4.0] - 2025-02-08
### π Features
- Support module-based schemas with structs
## [0.3.0] - 2025-01-08
### π Features
- Added a default resolver using static schemas
### π Bug Fixes
- Upgrade abnf_parsec to correctly parse IRIs and IRI references
## [0.2.0] - 2025-01-03
### π Documentation
- Document atom conversion
- Document functions with doc and spec
## [0.1.0] - 2025-01-01