Skip to content

v2.0.0

Latest
Compare
Choose a tag to compare
@jviotti jviotti released this 07 May 14:09
· 504 commits to main since this release
905d173

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 traces by @jviotti in #605
  • Rename the Basename compiler target type to InstanceBasename by @jviotti in #606
  • Implement a SchemaBasename compiler target type by @jviotti in #607
  • Implement a method to get the initial part of a pointer by @jviotti in #608
  • Properly handle schema location when applying compiler loops by @jviotti in #610
  • Report correct instance location after applying annotation by @jviotti in #609
  • Support an instance parent target type in the compiler by @jviotti in #611
  • Make sure annotations are not emitted twice by the compiler by @jviotti in #613
  • Make sure the JSON Pointer parser handles regex carets by @jviotti in #612
  • Implement Draft 4 patternProperties by @jviotti in #600
  • Remove unnecessary SchemaBasename compiler target type by @jviotti in #615
  • Store annotations using a JSON array in the evaluator by @jviotti in #616
  • Implement a push_back_if_unique JSON helper by @jviotti in #617
  • Simplify schema compiler target/value resolution by @jviotti in #618
  • Go back to storing annotations as a JSON documents by @jviotti in #619
  • Fetch compiler step values after evaluating the conditions by @jviotti in #620
  • Declare a ParentAdjacentAnnotations schema compiler target type by @jviotti in #621
  • Implement a SchemaCompilerAssertionNotContains step by @jviotti in #622
  • Implement additionalProperties for Draft 4 by @jviotti in #614
  • Note down potential optimizations for the Draft 4 compiler by @jviotti in #623
  • Make sure empty fragment references are framed correctly by @jviotti in #625
  • Canonicalize URIs when compiling subschemas in the schema compiler by @jviotti in #626
  • Extend the schema compile context to keep track of marked labels by @jviotti in #627
  • Keep track of schema compiler control labels during evaluation by @jviotti in #628
  • Implement a schema compiler control "jump" step by @jviotti in #629
  • Implement support for recursive references in Draft 4 by @jviotti in #624
  • Implement the not applicator for Draft 4 by @jviotti in #630
  • Implement array loops in the schema compiler by @jviotti in #631
  • Compiler the object mode of items in Draft 4 by @jviotti in #632
  • Implement a SizeGreater assertion on the schema compiler by @jviotti in #633
  • Compile the array variant of items for Draft 4 by @jviotti in #634
  • Upgrade uriparser to 0.9.8 by @jviotti in #635
  • Allow schema compiler applicators to take values by @jviotti in #636
  • Implement schema compiler array loops starting on a given index by @jviotti in #637
  • Compile additionalItems for Draft 4 by @jviotti in #638
  • Compile anyOf for Draft 4 by @jviotti in #639
  • Compile the oneOf keyword for Draft 4 by @jviotti in #640
  • Compile the dependencies keyword for Draft 4 by @jviotti in #641

New Contributors

Full Changelog: v1.0.0...v2.0.0