Skip to content

Releases: sourcemeta/jsontoolkit

v2.0.0

07 May 14:09
905d173
Compare
Choose a tag to compare

What's Changed

  • Don't install uriparser headers by @jviotti in #503
  • Set MSVC /permissive- by @jviotti in #508
  • Fix "Escape" typo in URI docs by @jviotti in #510
  • Mask FindGoogleTest.cmake by default by @jviotti in #511
  • Attempt to fix Windows CI scripts by @jviotti in #513
  • Fix URI::path() example by @jviotti in #512
  • Reformat using ClangFormat v18 by @jviotti in #514
  • Fix Windows MSVC assert where .front() fails on empty strings by @jviotti in #515
  • Introduce a SchemaWalkerResult wrapper by @jviotti in #517
  • Extend schema walker to report keyword dependencies by @jviotti in #518
  • Implement a mechanism to calculate keyword priority for evaluation by @jviotti in #519
  • Generalize SchemaIteratorEntry to hold an arbitrary JSON value by @jviotti in #520
  • Implement a JSON Schema keyword priority-based iterator by @jviotti in #521
  • Run JSON Schema keyword iterator tests on Unikraft by @jviotti in #522
  • Support printing JSON types by @jviotti in #525
  • Prototype a JSON Schema compiler by @jviotti in #523
  • Split default schema compiler into dialects by @jviotti in #526
  • Set a shell default for every entry in the matrix by @jviotti in #528
  • Compile "type" for Draft 4 by @jviotti in #530
  • Compile "required" in Draft 4 by @jviotti in #531
  • Implement an "and" logical operator in the schema compiler by @jviotti in #532
  • Compute effective dialect when compiling schemas by @jviotti in #533
  • Offer a better recursion interface on the schema compiler by @jviotti in #535
  • Compile "allOf" for Draft 4 by @jviotti in #534
  • Use frame to simplify compilation boostrapping by @jviotti in #536
  • Extend frame tests to cover bases too by @jviotti in #537
  • Expose relative pointers when framing schemas by @jviotti in #538
  • Rename schema_location to evaluation_path by @jviotti in #540
  • Add base and relative pointer to compiler context by @jviotti in #541
  • Add a resolve_from_if_absolute method helper to URI by @jviotti in #542
  • Add absoluteKeywordLocation to compiler steps by @jviotti in #543
  • In Draft7, $ref takes precedence over any other keyword by @jviotti in #544
  • In Draft6, $ref takes precedence over any other keyword by @jviotti in #545
  • In Draft4, $ref takes precedence over any other keyword by @jviotti in #546
  • In Draft3, $ref takes precedence over any other keyword by @jviotti in #547
  • Simplify default namespaces in default schema compiler by @jviotti in #548
  • Generalize the compiler recursion to perform arbitrary jumps by @jviotti in #549
  • Extend JSON Pointer to_uri to take a base URI by @jviotti in #551
  • Fix children/condition ordering in logical compiler steps by @jviotti in #552
  • Test bundling a Draft 4 schema without an id by @jviotti in #553
  • Fix schema compiler recursion to follow pointer on the root resource by @jviotti in #554
  • Implement basic $ref support for Draft 4 by @jviotti in #550
  • Support a "label" control step in the schema compiler by @jviotti in #555
  • Extend schema compiler recursion case to select instance location by @jviotti in #557
  • Implement properties for Draft 4 by @jviotti in #556
  • Simplify the Draft 4 compiler for the allOf keyword by @jviotti in #558
  • Simplify schema compiler evaluator by @jviotti in #559
  • Keep a context long-lived object during schema evaluation by @jviotti in #560
  • Fix JSON docs that reference parse_json by @jviotti in #562
  • Downgrade CMake minimum version to 3.22 by @jviotti in #563
  • Corrected some typos by @Era-cell in #564
  • Run CI on fork PRs by @jviotti in #565
  • Extend the schema compiler to support annotations by @jviotti in #566
  • Rename TargetVisitor to TargetInstanceVisitor by @jviotti in #569
  • Represent schema compiler targets with a pair of type/pointer by @jviotti in #570
  • Add a templated instance schema compiler target type by @jviotti in #571
  • Implement property loops in the schema compiler by @jviotti in #573
  • Implement a schema compiler "regex" assertion by @jviotti in #574
  • Implement support for pattern in Draft 4 by @jviotti in #575
  • Rename target_instance to target_value in schema evaluator by @jviotti in #576
  • Implement a mechanism to reference templated properties by @jviotti in #577
  • Support passing custom targets when making assertions with make<> by @jviotti in #578
  • Unify how we treat compiler values in assertion/annotations by @jviotti in #579
  • Add keyword_location to compiler loop steps by @jviotti in #580
  • Add a target to logical schema compiler steps by @jviotti in #581
  • Unify logical and loop compiler step definitions by @jviotti in #582
  • Support JSON encoding on template property targets by @jviotti in #583
  • Support templated annotation values in the schema compiler by @jviotti in #584
  • Report annotation values in the evaluation callback by @jviotti in #585
  • Add a Pointer::pop_back overload to pop many tokens by @jviotti in #587
  • Implement a way to push a pointer into another pointer by @jviotti in #588
  • Turn step evaluation_path into a relative schema location by @jviotti in #586
  • Handle evaluation paths correctly in Draft $ref by @jviotti in #590
  • Fix evaluation path in Draft 4 type disjunctions by @jviotti in #591
  • Fix and optimize Draft 4 required by @jviotti in #592
  • Pass the evaluate path on the schema compiler evaluation callback by @jviotti in #589
  • Assert that every keyword location is actually valid by @jviotti in #593
  • Move internal schema compiler helpers into a private header by @jviotti in #594
  • Prepare the compiler to dynamically compute instance locations by @jviotti in #595
  • Make relativeInstanceLocation actually report relative locations by @jviotti in #596
  • Fix and test instance locations on schema compiler by @jviotti in #598
  • Improve helper to instantiate value-oriented compiler steps by @jviotti in #601
  • Implement a method to convert a Pointer token into a JSON document by @jviotti in #604
  • Improve and simplify how schema compiler loops work by @jviotti in #603
  • Test schema compiler annotation values in trace...
Read more

v1.0.0

23 Feb 20:37
151ca05
Compare
Choose a tag to compare

What's Changed

  • Clarify that .clear() works on arrays by @jviotti in #11
  • Implement make_object and make_array constructors by @jviotti in #12
  • Document how to convert existing instances to arrays/objects by @jviotti in #14
  • Note functions that are useful for programatically creating containers by @jviotti in #15
  • Test programatically creating objects and arrays by @jviotti in #13
  • Implement prettify contrib/ program by @jviotti in #16
  • Implement a contrib/ minify program by @jviotti in #17
  • Do not build contrib/ programs by default by @jviotti in #19
  • Add FetchContent usage instructions by @jviotti in #20
  • Do not build tests by default by @jviotti in #21
  • Reduce required C++ version to 17 by @jviotti in #23
  • Improve contribution instructions by @jviotti in #26
  • Vendor bootstrap by @jviotti in #25
  • Minor fixes to support Windows by @jviotti in #28
  • Support a custom backend path by @jviotti in #29
  • Do not run stdin contrib tests on Windows by @jviotti in #30
  • Extract contrib test scripts into variables by @jviotti in #31
  • Specify --build-config when running ctest by @jviotti in #32
  • Fix Windows stdin checks by @jviotti in #33
  • Support finding rapidjson from vcpkg by @jviotti in #34
  • Fix crash on .assign() with move semantics by @jviotti in #35
  • Namespace JSON tests by @jviotti in #36
  • Implement a metaschema() function by @jviotti in #37
  • Refactor metaschema() to solve one-definition-rule problem by @jviotti in #38
  • Specify --config when building using CMake by @jviotti in #39
  • Simplify JSON unit tests by @jviotti in #40
  • Upgrade vendorpull by @jviotti in #41
  • Implement a JSON Schema id() function by @jviotti in #42
  • Implement a function to return schema vocabularies by @jviotti in #43
  • Ignore vendor/ in .ackrc by @jviotti in #44
  • Implement a function to deep-copy a JSON document or value by @jviotti in #45
  • Support from() when passing a zero literal by @jviotti in #46
  • Add easy-to-use range-based for loop support by @jviotti in #50
  • Implement support for iterating over subschemas by @jviotti in #51
  • Increase granularity of GNU Make targets by @jviotti in #52
  • Implement a default JSON Schema 2020-12 schema walker by @jviotti in #53
  • Let vocabularies() take an optional default metaschema URI by @jviotti in #56
  • Check vocabularies at every step in subschema_iterator() by @jviotti in #55
  • Implement a flat subschema iterator by @jviotti in #57
  • Change domain to jsontoolkit.org by @jviotti in #60
  • Make JSON Toolkit build on Debian 11 (current Stable) by @jviotti in #58
  • Enable pthreads on Linux by @jviotti in #61
  • Test building on GNU/Linux using GCC by @jviotti in #59
  • Add a contrib tool to analyze JSON Schema keywords by @jviotti in #47
  • Implement a function to determine the schema's dialect URI by @jviotti in #62
  • Assume core vocabularies if $vocabulary is unset by @jviotti in #63
  • Take small enough std::uint64_t as input in from() by @jviotti in #64
  • Fix flat_subschema_iterator() on schema without a metaschema by @jviotti in #65
  • Define a schema walker that never walks by @jviotti in #66
  • Implement erase_many() by @jviotti in #67
  • Document GCC support by @jviotti in #68
  • Minor misc fixes for erase_many() by @jviotti in #69
  • Define defines_any() by @jviotti in #70
  • Fix push_back() docs example by @jviotti in #71
  • Implement is_number() by @jviotti in #72
  • Support using from() with std::size_t by @jviotti in #73
  • Implement an "add" function to increment/decrement numbers in-place by @jviotti in #74
  • Document the contains() array function by @jviotti in #75
  • Implement a "compare" function for standard algorithms by @jviotti in #76
  • Generalize iterator-based erase_many to work on arrays by @jviotti in #77
  • Implement a clear_except() function for objects by @jviotti in #78
  • Make sure schema_walker_strategy_t is defined outside of GCC by @jviotti in #80
  • Build website using CMake by @jviotti in #81
  • Test CMake installation on CI by @jviotti in #82
  • Make Makefile NMAKE compliant by @jviotti in #83
  • Disable some JSONTestSuite tests for MSVC by @jviotti in #85
  • Fix cast to make MSVC happy by @jviotti in #84
  • Add basic Windows support by @jviotti in #86
  • Create a new "test" target in the Makefile by @jviotti in #87
  • Get rid of fail.sh contrib test helper script by @jviotti in #88
  • Do not run tests twice on the Makefile by @jviotti in #89
  • Bring back "contrib" tests on Windows by @jviotti in #27
  • Run clang_format_test, not clang_format on CI by @jviotti in #92
  • Implement a sample contrib cURL resolver by @jviotti in #91
  • Disable min/max macros on MSVC by @jviotti in #94
  • Implement a local-first resolver for 2020-12 official schemas by @jviotti in #93
  • Split JSON and JSON Schema into its own modules within src/ by @jviotti in #95
  • Merge the local resolver with the core JSON Schema module by @jviotti in #96
  • Support JSON Schema 2019-09 on the default resolver by @jviotti in #97
  • Throw if the core vocabulary is missing or set to optional by @jviotti in #98
  • Better handle vocabularies for boolean schemas by @jviotti in #99
  • Check current dialect when fetching vocabularies by @jviotti in #100
  • Make vocabularies() dialect-aware by @jviotti in #101
  • Add 2019-09 support in vocabularies() by @jviotti in #102
  • Support 2020-12 and 2019-09 Hyper Schema by @jviotti in #104
  • Note intention to support older JSON Schema dialects in .vocabularies() by @jviotti in #105
  • Implement a copy() function for JSON containers by @jviotti in #106
  • Add a copy() overload to duplicate entire containers by @jviotti in #107
  • Ensure doubles are never NaN or infinity by @jviotti in #108
  • Re-license the project as AGPL by @jviotti in #109
  • Implement a...
Read more