Skip to content

Releases: blackwell-systems/gcf-typescript

v2.2.1

23 Jun 17:54

Choose a tag to compare

Flatten Opt-Out

  • encodeGeneric(data, { noFlatten: true }) disables nested object flattening
  • Backward compatible: encodeGeneric(data) unchanged

Bug Fixes

  • Field names containing > excluded from tabular columns (spec rule 7.4.6.1.4)
  • Field names containing > no longer eligible for flattening analysis
  • Decoder no longer treats literal > in key names as a path separator
  • Decoder accepts orphan attachments (fields excluded from column list)
  • 200K round-trips (both modes, > in keys) zero failures; 12 targeted edge case tests

Full changelog: v2.2.0...v2.2.1

Full Changelog: v2.2.0...v2.2.1

v2.2.0: Nested Object Flattening (Spec v3.2)

23 Jun 04:54

Choose a tag to compare

Nested Object Flattening

Encoder automatically flattens fixed-shape nested objects into > path column names. Decoder reconstructs nesting from > paths.

  • 20-48% fewer tokens on deeply nested API data
  • 100% comprehension on every frontier model
  • Zero regression on 200K random + adversarial round-trips
  • Falls back to attachment mechanism for non-flattenable cases

Install: npm install @blackwell-systems/gcf@2.2.0

Full Changelog: v2.1.2...v2.2.0

v2.1.2

18 Jun 17:42

Choose a tag to compare

Patch release. Fixes encoder quoting for edge cases involving bracket-colon patterns in string values. 100M fuzz iterations, zero failures.

v2.1.1

15 Jun 18:25

Choose a tag to compare

CommonJS support

Added CommonJS bundle (dist/cjs/index.cjs) for compatibility with CJS environments like n8n, serverless runtimes, and older Node.js projects.

The exports map now includes both import (ESM) and require (CJS) conditions. No changes needed for existing ESM consumers.

This fixes: No "exports" main defined errors when using @blackwell-systems/gcf in CommonJS projects.

v2.1.0

14 Jun 21:51

Choose a tag to compare

Spec v3.1 Conformance

Spec change

  • tool field in graph profile header is now optional (SHOULD be present for MCP, not required)

Bug fixes

  • Quote strings containing commas in scalar values
  • Decode v2-format indented attachments in tabular rows
  • Reject duplicate attachments on the same row
  • Reject orphan attachments on rows without ^ cells

Conformance

  • 157/157 fixtures passing
  • 23.25B+ round-trips verified across all 6 implementations, zero failures

Full spec release: gcf v3.1.0

v2.0.2: Inline Schema Encoding

13 Jun 06:32

Choose a tag to compare

v2.0.2: Inline Schema Encoding

The generic profile encoder now produces inline schema format for nested objects with 3+ scalar fields.

Breaking Changes

  • encodeGeneric output format changed (inline schemas, no attachment indentation)
  • Decoder no longer accepts v1.x indented attachment syntax
  • Comma no longer quoted in pipe-delimited contexts (only in comma-delimited inline arrays)
  • Strings starting with digits no longer quoted unless they match JSON number grammar

New Features

  • Inline object schema (^{fields}): nested objects encoded positionally
  • Shared array schemas: identical nested arrays omit field headers after first row
  • Browser-safe entry point ("browser" field in package.json): excludes Node-only packRoot/delta modules
  • 25.5% fewer tokens than TOON across 15 real-world datasets

Integrity

  • 141M lossless round-trip iterations
  • 100% comprehension accuracy on every frontier model tested
  • 156 conformance fixtures passing

Migration

- import { encodeGeneric } from '@blackwell-systems/gcf'  // works in Node
+ import { encodeGeneric } from '@blackwell-systems/gcf'  // works in Node AND browser

packRoot and encodeDelta are Node-only (require crypto). Import directly if needed:

import { packRoot } from '@blackwell-systems/gcf/dist/packroot.js'
import { encodeDelta } from '@blackwell-systems/gcf/dist/delta.js'

Full spec: https://github.com/blackwell-systems/gcf/releases/tag/v3.0.0

v2.0.0: Inline Schema Encoding

13 Jun 06:18

Choose a tag to compare

v2.0.0: Inline Schema Encoding

The generic profile encoder now produces inline schema format for nested objects with 3+ scalar fields. This is a breaking change from v1.x output.

Breaking Changes

  • encodeGeneric output format changed (inline schemas, no attachment indentation)
  • Decoders no longer accept v1.x indented attachment syntax
  • Comma no longer quoted in pipe-delimited contexts (only in comma-delimited inline arrays)
  • Strings starting with digits no longer quoted unless they match JSON number grammar

New Features

  • Inline object schema (^{fields}): nested objects encoded positionally
  • Shared array schemas: identical nested arrays omit field headers after first row
  • 25.5% fewer tokens than TOON across 15 real-world datasets

Integrity

  • 1B+ lossless round-trip iterations across 6 language implementations
  • 100% comprehension accuracy on every frontier model tested
  • 156 conformance fixtures passing

Full spec: https://github.com/blackwell-systems/gcf/releases/tag/v3.0.0

v1.0.1: CLI generic profile

10 Jun 19:30

Choose a tag to compare

  • CLI: encode-generic and decode-generic subcommands
  • Both graph and generic profiles supported from the command line

gcf-typescript v1.0.0

10 Jun 09:28

Choose a tag to compare

SPEC v2.0 implementation

130/133 conformance fixtures passing (3 skipped: session, delta, binary UTF-8). 40M property-based round-trips with zero failures.

Breaking changes from v0.6.1

  • encodeGeneric emits GCF profile=generic header
  • decodeGeneric requires GCF profile= header
  • Strings colliding with typed literals are quoted ("true", "123", "-")
  • Full JSON string escaping and number grammar
  • - for null, ~ for absent, ^ for nested attachments
  • ##! summary trailer replaces ## _summary
  • Graph encoder emits profile=graph, sorts by score descending

New

  • scalar.ts: common scalar grammar (quoting, escaping, parsing, number formatting)
  • Property-based round-trip tests (40M verified, configurable via GCF_ITERATIONS)
  • Conformance test runner (133 fixtures)

Install

npm install @blackwell-systems/gcf@1.0.0

v0.6.1: docs update

06 Jun 22:40

Choose a tag to compare

What's new

Updated all documentation with multi-model benchmark data:

  • 1,300+ LLM evaluations across 10 models, 3 providers, and 51 independent test runs
  • 90.5% average comprehension accuracy (four models hit 100%: Sonnet, Gemini 2.5 Pro, Gemini 3.1 Pro, Gemini 3.5 Flash)
  • 5/5 generation validity on every frontier model from Anthropic, OpenAI, and Google
  • TOON's official decoder rejects LLM-generated output on 7 of 9 models tested
  • GCF wins all 6 datasets on TOON's own benchmark

Full benchmarks: https://gcformat.com/guide/benchmarks.html