@oh-my-pi/omptype 17.2.7 → 17.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,29 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [17.2.8] - 2026-08-04
6
+
7
+ ### Added
8
+
9
+ - Added `io: 'input'` and `io: 'output'` options to `toJsonSchema()`, supporting input validation shapes and piped `.to()` target types
10
+ - Added Standard Schema V1 interop: every schema exposes `~standard` with synchronous validation, enabling direct use with `@t3-oss/env`, tRPC, and other Standard Schema consumers.
11
+ - Added `fromJsonSchema()`, rebuilding callable schemas from JSON Schema documents (draft-07 / draft-2020-12 structural keywords, string formats, `$defs` recursion, enums, and `anyOf`/`oneOf`/`allOf` composition) — the inverse of `Type.toJsonSchema()`.
12
+ - Added `$defs`/`$ref` emission for recursive alias schemas in `toJsonSchema()` (draft-07 converts to `definitions`), preventing unbounded recursion on cyclic scopes.
13
+ - Added `AnyType`, a minimal structural constraint for generic functions accepting any schema without descending the recursive fluent surface.
14
+ - Root `.default()` values now materialize for `undefined` input in direct calls and at the Standard Schema boundary (factories run per call).
15
+ - `.narrow()`/`.filter()` boolean overloads accept `OmpErrors` returns, so `cond || ctx.reject(...)` recipes typecheck.
16
+
17
+ ### Changed
18
+
19
+ - Restored low-overhead schema construction by lazily activating advanced normalization and compatibility machinery.
20
+ - `.default()` is typed input-side (`i | (() => i)`) and marks the schema's input as optional (`i | undefined`).
21
+ - Parse keywords (`string.integer.parse`, `parse.number`, ...) now infer their morph output inside union strings, and input-side inference is union-aware.
22
+ - Object-literal inference for `.merge()`/`.or()`/`.and()` unwraps embedded schema values (output and input sides).
23
+
24
+ ### Fixed
25
+
26
+ - Alias intersections defer through memoized lazy nodes, so cyclic scope schemas no longer overflow the stack in `.and()` or morph-union determinism checks.
27
+
5
28
  ## [17.2.7] - 2026-08-03
6
29
 
7
30
  ### Added