Releases
v3.0.0
v3.0.0 — Swift API Redesign & Full JSON Schema Support
Latest
Compare
Sorry, something went wrong.
No results found
v3.0.0 — Swift API Redesign & Full JSON Schema Support
Breaking Changes
get<T>() accessors removed, replaced by typed require*() accessors (requireString, requireInt, etc.) — aligns with Swift API design guidelines (#45 )
JSONSchemaError.keyword changed from String to JSONSchemaKeyword enum for type-safe keyword handling (#52 , #53 )
dump API redesigned — new JSON.Indent type replaces raw indent parameters; OutputOptions added to encoder
Source files reorganized following Swift API design guidelines — imports may need updating (#49 )
New Features
Full JSON Schema support — core validation, composition keywords, array/object keywords, $ref/$id resolution, format validation, string content keywords, output/error reporting, draft-specific dispatch, schema generation from instances (#28 , #30 , #32 -#45 )
Comparable conformance on JSON — enables sorted(), max(), min() and other Comparable-constrained APIs
JSONWithUnknownKeys — captures unknown keys during decoding while preserving known-key structure
Performance optimizations across parsing, serialization, and binary formats (#43 )
Bug Fixes
Comprehensive 13-phase bug hunt fixing correctness issues across all subsystems (#48 )
Type hierarchy aligned with nlohmann/json comparison semantics — fixes edge-case comparison behavior (#51 )
Various CBOR, BSON, MessagePack, UBJSON edge-case fixes
Parser overflow and schema compilation fixes
Refactoring & Maintenance
Source and test files reorganized into focused files by concern (#31 , #49 )
Modernized test patterns with Swift Testing best practices (#46 )
DocC documentation comments added, README verified against API (#47 )
Removed stale plan files (PROGRESS.md, BUG_HUNT_PLAN.md, SCHEMA_PLAN.md)
CLAUDE.md project instructions added
1,710 tests — all passing
You can’t perform that action at this time.