CHANGELOG.md

# Changelog

All notable changes to this project will be documented in this file.

## [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

<!-- generated by git-cliff -->