schema-stream
Release history and versioned changes for Schema Stream.
4.2.0
Minor Changes
- #21
06e422cThanks @roodboi! - Reduce progressive parsing overhead by batching internal partial-string updates at source-chunk boundaries when completion callbacks are unused, using safe fast property writes, and materializingiterate()snapshots directly without a UTF-8 JSON round trip. External and exotic defaults retain the previous JSON normalization behavior. Add the low-overheadonValueCompleteevent for child-before-parent completion deltas with their completed values while preserving the legacy progress callback. Add a polished Bun and Node benchmark, complex completion coverage, runnable examples, server-to-browser transport guidance, and deterministic plus opt-in live SDK integration tests, including a guarded Mastra Agent compatibility example and weekly live canary.
Patch Changes
- #22
6045b9fThanks @roodboi! - Link the package to schema.stream and add the generated documentation site, executable integration guides, synchronized canonical Markdown, browser playground, and a reproducible product demo video.
4.1.0
Minor Changes
- #14
82b9edcThanks @roodboi! - Add opt-in completed-value, byte-threshold, and final-only snapshot policies toparse()anditerate()while preserving per-input-chunk emission as the default.
Patch Changes
- Move package metadata, documentation, source, tests, and releases to the dedicated
hack-dance/schema-streamrepository after the v4 release fromisland-ai. Prevent prototype-named streamed paths from escaping the result graph, and remove quadratic fragment joins when progressively parsing long strings.
4.0.0
Major Changes
-
#103
acd1b2fThanks @roodboi! - Add Zod 4 support toschema-streamwhile retaining compatibility with Zod 3.25 and preserving progressive schema-shaped emissions. The major release corrects partial chunk and stub types, adds tested Zod compatibility adapters, removes the Ramda runtime dependency, and propagates parser failures through the stream. A new SDK-neutraliterate()API consumes string or byte Web streams and async iterables directly, including OpenAI Agents SDK and Vercel AI SDK text streams, with backpressure, cancellation, immutable snapshots, and split UTF-8 handling.Move
zod-streamto Zod 4 and its native JSON Schema conversion, modernize the OpenAI integration for OpenAI 6 structured outputs, preserve the documented legacy function-calling mode, and expose honest progressive input/output types. Consume source bytes throughSchemaStream.iterate()so large JSON values and multi-byte characters remain intact across browser and Electron read boundaries, with deterministic 64 KB regression coverage. Movestream-hooksto Zod 4 and modern React contracts, validate completed streams before callingonEnd, and propagate stream and validation errors predictably.
3.2.2
Patch Changes
3.2.1
Patch Changes
3.2.0
Minor Changes
- #67
d2a1ee5Thanks @roodboi! - updating required peer dep on zod to better align with all other packages as well as the one required ecternal zod to json schema dependency.
3.1.0
Minor Changes
- #39
f5acc1784925c2726eeb3fd0a9f491ab0c6f5758Thanks @roodboi! - protect against parsing tokens if we have hit an ended state in schema-stream. add initial function calling support in lly-polyglot
3.0.0
Major Changes
-
#32
008d007b1ec9cc7f1276ae92bd0c32dfef801c38Thanks @roodboi! - Updating the defaults to all be null except for objects and arrays - also not explicitly looking for .default valuesPreviously we had "", 0, and false default values for primitives (silly) - you could still pass nulls as defaults through the explicit defaultValues map - but this is now the default and they can be updated either via zod .default or using the defaultValues map if there is a need for a more explicit default.
2.1.0
Minor Changes
- #12
36eb93ecfec2d3d145238b4f5f80009320917f25Thanks @roodboi! - Adding support for zod default()
2.0.1
Patch Changes
bc1b41792c23ae11b29435f7d9f6910e337a69ecThanks @roodboi! - hot patch to fix bad view update
2.0.0
Major Changes
- #9
cbf57f0a202f5bb662df8761410e78ee49e819afThanks @roodboi! - Updating the completion tracking to use paths vs keys
Patch Changes
08b86d0754df3a813374a6fba4117ba9974c3dafThanks @roodboi! - updating lint rules and fixing a bad undefined check
1.6.0
Minor Changes
d6c6fa587267807f60123fbafc35db036aabf037Thanks @roodboi! - fixing build
1.5.0
Minor Changes
4a4b9dbf5501db7a12dba082609b3c4501acacdbThanks @roodboi! - fixing build so package isnt empty
1.4.1
Patch Changes
31f5aec1a99654393dd0fc485319992f19cb71beThanks @roodboi! - putting readme back
1.4.0
Minor Changes
1f01fad0ca99903550439b627f3f335b25923508Thanks @roodboi! - Removing string streaming flag as it is no longer used - this will be first publish from new repo
1.3.0
Minor Changes
a88a1c8Thanks @roodboi! - Adding optional type defaults to allow for nulling out defaults in addition to the default data option
1.2.1
Patch Changes
1.2.0
Minor Changes
- #49
7154c1bThanks @roodboi! - adding support for zod effects and ensuring parital streams apply only to strings
1.1.0
Minor Changes
- #47
906a0b9Thanks @roodboi! - add new options for string buffer size and hadnling of unescaped new lines
1.0.0
Major Changes
- #45
76342d4Thanks @roodboi! - Forked the json parser package instead of t rying to work around it - updated props and things to accept default data and am now returning a few things like activeKey
0.0.2
Patch Changes
408b0c7Thanks @roodboi! - Update streaming string value so that we dont get a colon at the start of the string