Skip to content

Releases: blackwell-systems/gcf-proxy

v0.11.3: gcf-go v1.5.0 (encoder/session/delta fixes)

Choose a tag to compare

@blackwell-systems blackwell-systems released this 13 Jul 16:42
  • Upgrade gcf-go to v1.5.0 (from v1.3.2). Inherited encoder fixes relevant to the proxy: graph edges are emitted in deterministic source-then-target order (SPEC 16.1); the --session path now uses stable session-global IDs and omits zero-valued header fields; the --delta path emits the mandatory profile=graph discriminator and the trailing distance field on ## added lines (SPEC 3.4.1); and the streaming graph trailer is deterministic, with an opt-in labeled counts form (SPEC 8.4.1). The library also gains generic-profile delta (SPEC 10a) and graph delta decode/verify. Encode-only proxy, so these are inherited from the dependency; no proxy code change. Build and tests pass unchanged.

Full Changelog: v0.11.2...v0.11.3

v0.11.2

Choose a tag to compare

@github-actions github-actions released this 11 Jul 03:24
  • Upgrade gcf-go to v1.3.2: nested-null flatten losslessness fix. A nested object that was null at an intermediate level (e.g. {"meta":{"owner":null}}) was flattened such that its null reached the model as an absent field rather than null; it now round-trips correctly (the field falls back to the attachment encoding). Encode-only proxy, so this is inherited entirely from the gcf-go dependency; no proxy code change.
  • Fuzz hardening: TestProxyFuzzRoundTrip now decodes the rewritten GCF and compares it back to the input rather than only checking the GCF header prefix, so a losslessness regression in the codec is actually caught. The generator also produces aligned nested-object arrays with null at depth (the v3.2 flatten path the prior random/scalar generator never exercised).

Full Changelog: v0.11.1...v0.11.2

v0.11.1

Choose a tag to compare

@blackwell-systems blackwell-systems released this 23 Jun 19:22

New

  • --no-flatten flag: uses expanded encoding for nested objects (open-weight models currently comprehend this form better; GCF still outperforms JSON either way)
  • CI workflow on push
  • Fuzz test: 20K round-trips with both flatten modes and > in keys

Changes

  • Bumped gcf-go to v1.3.1 (flatten opt-out + field names containing > fix)
  • Updated benchmark tables with general/adversarial split
  • Added flags table to README

Full changelog: v0.11.0...v0.11.1

Full Changelog: v0.11.0...v0.11.1

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 23 Jun 05:00

Full Changelog: v0.10.4...v0.11.0

v0.10.4

Choose a tag to compare

@blackwell-systems blackwell-systems released this 18 Jun 18:49

Bump gcf-go to v1.2.1. Fixes encoder quoting for edge cases involving bracket-colon patterns in string values.

Full Changelog: v0.10.3...v0.10.4

v0.10.3

Choose a tag to compare

@blackwell-systems blackwell-systems released this 13 Jun 21:30

What's new

  • --stats-file <path>: Write JSON stats to a file after each tool call rewrite. Enables hooks and plugins to read session savings in real time.

Install

npm install -g @blackwell-systems/gcf-proxy
pip install gcf-proxy
go install github.com/blackwell-systems/gcf-proxy@v0.10.3

Full Changelog: v0.10.2...v0.10.3

v0.10.2

Choose a tag to compare

@blackwell-systems blackwell-systems released this 13 Jun 18:05

GCF v3 encoder + MCP Registry

  • GCF v3 inline schema encoding: upgraded to gcf-go v1.1.0 with inline object schemas, shared array schemas, and positional attachments. 10% fewer tokens on nested data, zero regressions on flat data.
  • Published to Official MCP Registry: gcf-proxy is now discoverable at registry.modelcontextprotocol.io
  • Added mcpName and server.json for MCP Registry integration

Install

# Go
go install github.com/blackwell-systems/gcf-proxy@v0.10.2

# npm
npx @blackwell-systems/gcf-proxy --session --cache your-mcp-server

# pip
pip install gcf-proxy

Links

Full Changelog: v0.10.1...v0.10.2

v0.10.1

Choose a tag to compare

@blackwell-systems blackwell-systems released this 12 Jun 16:22

Fix: cache + session dedup interaction

When --cache and --session were both active, the output cache returned stale responses with full symbols instead of bare refs. Repeat calls got zero session savings.

Root cause: The output cache stored the encoded GCF from the first call. On cache hit, it returned that verbatim, bypassing the session dedup path that would emit bare references for already-transmitted symbols.

Fix: Added a payload cache layer that stores decoded Payload objects. On cache hit with an active session, the payload is re-encoded with current session state, producing correct bare refs.

Result: 42% smaller responses on repeat calls (bare refs) vs serving identical first-call output. Cache and session now compose correctly.

Install

# Go
go install github.com/blackwell-systems/gcf-proxy@v0.10.1

# npm
npx @blackwell-systems/gcf-proxy --session --cache your-mcp-server

# pip
pip install gcf-proxy

Usage

gcf-proxy --session --cache --verbose your-mcp-server

Links

Full Changelog: v0.10.0...v0.10.1

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 11 Jun 18:44

Full Changelog: v0.9.0...v0.10.0

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 11 Jun 16:24

Full Changelog: v0.8.0...v0.9.0