Repository navigation
Releases: sethjuarez/typra
Releases · sethjuarez/typra
Release list
v4.0.1
4.0.1 (2026-10-17)
Bug Fixes
- emitter: emit valid numeric literals for defaults and factories in Java, C#, and Rust (#360) (d98518f)
- emitter: escape keyword field identifiers in every target (#356) (d98518f)
- emitter: generate safe unique enum members (#357) (d98518f)
- emitter: report numeric literal union diagnostics (#361) (d98518f)
- emitter: resolve numeric, enum, identifier, and Rust loading codegen issues (#363) (d98518f)
- rust: hydrate single polymorphic references (#345) (d98518f)
- rust: normalize null for nullable unknown values (#349) (d98518f)
v4.0.0
4.0.0 (2026-10-16)
⚠ BREAKING CHANGES
- csharp: nullable literal aliases now use their declared type name (for example Mood rather than the property-derived mood). Update direct references to old generated symbols when regenerating 3.0.0 output. Shared Rust enums may move between model source modules; use the unchanged generated module re-exports rather than an owner-file-specific import.
Features
- emitter: load absent required nullable keys as null with
= null(3ab2d65)
Bug Fixes
- csharp: guard nullable string record values before conversion (3ab2d65)
- emitter: declare shared string enums once in Go, Swift, and Rust (3ab2d65)
- emitter: preserve enum alias names through nullable unions (3ab2d65)
- swift: materialize inherited nullable defaults in unknown discriminator saves (3ab2d65)
v3.0.0
3.0.0 (2026-10-15)
⚠ BREAKING CHANGES
- emitter: Open @dispatch unions with a schema wildcard now require one non-null wildcard provider slot. The previous optional custom slot is removed; unknown discriminator values preserve their original discriminator and payload and route to wildcard.
Features
- emitter: add Swift main-target resources option (c1053b4)
- emitter: centralize value-backed coerce lowering across targets (c1053b4)
- emitter: give Rust @sync operations a Result error channel (c1053b4)
- emitter: honor @encodedName as the canonical JSON wire key (c1053b4)
- emitter: preserve unknown fields for Record<unknown> models in every runtime (c1053b4)
- emitter: require wildcard providers for open dispatch unions (c1053b4)
- emitter: resolve open emitter issues across all runtimes (c1053b4)
- emitter: support explicit nullable fields (c1053b4)
Bug Fixes
- emitter: assert expectedError in typed dispatch conformance (c1053b4)
- emitter: derive stable Rust enum variant names (c1053b4)
- emitter: emit compilable Go dispatch carriers, enum aliases, and union returns (c1053b4)
- emitter: emit native sized and unsigned integer types in every runtime (c1053b4)
- emitter: load typed elements for non-string scalar arrays in Rust and Go (c1053b4)
- emitter: serialize string-union fields correctly in Swift and Java (c1053b4)
- verify: correctly credit typed dispatch conformance coverage (c1053b4)
v2.1.8
v2.1.7
v2.1.6
v2.1.5
v2.1.4
v2.1.3
v2.1.2
2.1.2 (2026-09-03)
Bug Fixes
- emitter: skip @sensitive("save") fields in round-trip test assertions (#313) (92888de)