Repository navigation
·
5 commits
to main
since this release
- Fix the
of_jsonderiver for polymorphic variants with inherited rows, on
both backends. Decoding now tries, in this order: the type's own tags, then
the inherited types (in definition order), then the[@json.catch_all]row,
then the error (or[@json.allow_any]). It no longer depends on the row
order in the definition: an inherited type listed before an own tag used to
shadow it on Melange, and an own catch-all used to swallow every tag of the
inherited types on both backends. - Fix: use the
lenvalue as an expression on the variant case function to avoid
expected "named" value to be declared on the function. - Fix: remove the duplicated runtime deps from the ppx libraries.
- Move the JSON Schema runtime into the main packages, at
Jsonkit.Jsonschema.
It is the same API under a new path, on both backends, so sources shared
between a native and a Melange build need no per-backend conditionals. The
JSON runtime is unchanged and stays where it is: everything previously at
Jsonkit.*is still atJsonkit.*, and is now also reachable as
Jsonkit.Json.*. - Deprecate the
jsonkit.jsonschemaand
jsonkit-melange.jsonschemalibraries, along with the
Ppx_deriving_jsonschema_runtime,Ppx_deriving_jsonschema_runtime_classify
andPpx_deriving_jsonschema_runtime_primitivesmodules. They still exist and
still work, as aliases forJsonkit.Jsonschema,Jsonkit.Jsonschema.Classify
and the primitives modules. The deprecated modules keep their old shape:
Primitivesstill has itsYojsonandJsonkitsubmodules, and
json_schemais still there under that name, so existing code compiles
unchanged.