v11.0.0-alpha.7
Breaking Changes
Fixes
- Fix setting a default value for an optional/nullable union schema by @DZakh in #256
- Fix TS enum type widening to string when nested in another schema by @DZakh in #251
- Fix TS S.merge type to preserve optional information on properties by @DZakh in #257
New ReScript PPX Features
Support schema modifiers on root record type declarations
@schema @s.strict
type t = {
email: string,
name: string,
}Support polymorphic variants
@schema
type polyWithPayloads = [#one | #two(int) | #three(string, float) | #four({"foo": string})]Support type parameters
@schema
type wrapper<'a> = {value: 'a}
@schema
type parent = {wrapped: wrapper<int>}Internal Changes
- Migrate from Js/Belt to Stdlib and modern ReScript v12 features by @DZakh in #247
- Remove disabled compiler warnings 50 and 102 by @DZakh in #250
- Configure infrastructure to run ppx in Claude.ai session by @DZakh in #258
- Migrate test framework from AVA to Vitest by @DZakh in #253, #259
- Add TS type instantiation benchmarks using ArkType's Attest by @DZakh in #260, #261
Full Changelog: v11.0.0-alpha.6...v11.0.0-alpha.7