Download Latest Version v1.3.0 source code.zip (254.7 kB)
Home / v1.3.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-11-01 3.0 kB
v1.3.0 source code.tar.gz 2026-11-01 219.2 kB
v1.3.0 source code.zip 2026-11-01 254.7 kB
Totals: 3 Items   476.9 kB 2

OpenAPI v1.3.0

Diff since v1.2.0

OpenAPI v1.3.0

New features

  • datetime = :zoned maps format: date-time-local to Dates.DateTime, a wall clock with no offset. Regenerate to use it. (#135)
  • Newly generated :zoned modules reject a date-time value without Z or an offset, and a date-time-local value with one. Existing modules do not change. (#135)
  • Under :zoned, planning rejects date-time-local in parameters, headers, and whole bodies. (#135)

Fixes

  • JSON Schema pattern and patternProperties follow ECMA-262: $ does not match before a trailing newline, \d and \w are ASCII, \s and \S use the ECMA-262 white-space set, and . does not match a line terminator. This applies to existing modules without regeneration. (#136)
  • The runtime Dates.DateTime decoder rejects a value with a trailing newline. This applies to existing modules without regeneration. (#135)
  • Generated schema IDs no longer change when unrelated parts of the root document change, such as info.version or a description. Existing generated modules keep working; regenerating changes their IDs once, and later regenerations produce much smaller diffs. (#131, fixes [#117])

Performance

  • Schema lookups during decoding no longer take a lock on cache hits. With 4 tasks decoding concurrently, the cost per lookup drops from about 120–150 ns to about 10 ns. This also fixes a data race on the schema graph cache. (#132, closes [#128])

Documentation

  • New section "Developing handlers with Revise" in the server docs: HTTP.jl 2.x no longer calls handlers through Base.invokelatest, so edits made with Revise need an invokelatest middleware passed to register!. (#133, closes [#118])

Compatibility

  • Generated-code contract stays at 4. Existing generated modules keep loading, and the OpenAPI = "1.2" compat bound remains sufficient for them.
  • Behavior changes without regeneration: stricter pattern matching (#136) and the trailing-newline check in the Dates.DateTime decoder (#135). Values that passed validation or decoding before can now fail.

Merged pull requests:

  • fix(normalize): keep portable schema IDs stable across unrelated root edits (#131) (@tanmaykm)
  • perf(runtime): read schema graph and subschema caches without locking (#132) (@tanmaykm)
  • docs(server): developing generated server handlers with Revise (#133) (@tanmaykm)
  • feat(client): map date-time-local and require an offset for zoned date-time (#135) (@jd-lara)
  • fix(schema_engine): follow ECMA-262 semantics in pattern (#136) (@jd-lara)
  • increment minor version to 1.3.0 (#137) (@tanmaykm)

Closed issues:

  • Docstrings need to embed parameters in backticks (#72)
  • Portable schema IDs cascade from the root document digest, so any root edit rotates every ID in generated output (#117)
  • How to make openapi server implementation revisable? (#118)
  • Remove graph_lock from the _schema_at hot path (#128)
Source: README.md, updated 2026-11-01