gcf-python 2.5.1__tar.gz → 2.5.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {gcf_python-2.5.1 → gcf_python-2.5.2}/CHANGELOG.md +4 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/PKG-INFO +2 -2
- {gcf_python-2.5.1 → gcf_python-2.5.2}/README.md +1 -1
- {gcf_python-2.5.1 → gcf_python-2.5.2}/pyproject.toml +1 -1
- {gcf_python-2.5.1 → gcf_python-2.5.2}/.github/FUNDING.yml +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/.github/workflows/ci.yml +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/.github/workflows/publish.yml +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/.gitignore +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/LICENSE +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/assets/divider-wave-2.png +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/assets/divider.png +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/assets/gcf-hero-wire-delta.png +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/assets/gcf-python-diagram.png +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/__init__.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/__main__.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/cli.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/constants.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/decode.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/decode_generic.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/delta.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/encode.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/generic.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/generic_delta.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/keyed_map.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/packroot.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/scalar.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/session.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/stream.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/stream_generic.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/src/gcf/types.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/__init__.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_conformance_v2.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_decode.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_delta.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_encode.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_generic.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_generic_delta.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_generic_delta_fuzz.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_generic_delta_session.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_keyed_map_fuzz.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_roundtrip.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_roundtrip_v2.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_session.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_stream.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_stream_fielddecl.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/tests/test_stream_generic.py +0 -0
- {gcf_python-2.5.1 → gcf_python-2.5.2}/uv.lock +0 -0
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v2.5.2 (2026-08-09)
|
|
4
|
+
|
|
5
|
+
- **Spec v3.5.1 conformance (SPEC 5, score-rounding errata).** SPEC 5 now pins the graph `score` two-decimal wire form to round-half-to-even on the exact IEEE-754 double, resolving a midpoint divergence in the JavaScript and Kotlin SDKs. This SDK's `f"{score:.2f}"` formatter already rounds half-to-even, so there is no behavior change; re-verified against the new `graph-encode/004_score_midpoint_rounding` conformance fixture.
|
|
6
|
+
|
|
3
7
|
## v2.5.1 (2026-08-07)
|
|
4
8
|
|
|
5
9
|
- Decoders now reject a declared `[N]` section count that does not match the actual item count, in both directions, per SPEC Section 13 (Count Validation). A declared count smaller than the rows or entries present was previously read as a limit and the surplus was dropped; it is now an error. Covers the generic tabular, keyed-map, and root-array forms, the delta and full-set decoders, and the graph `## edges [N]` section. Valid payloads and encoding are unchanged.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: gcf-python
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.2
|
|
4
4
|
Summary: The AI-native wire format for structured data. 50-92% fewer tokens than JSON, with multi-turn delta encoding for agent loops. 100% comprehension on every frontier model. Zero dependencies.
|
|
5
5
|
Project-URL: Homepage, https://github.com/blackwell-systems/gcf-python
|
|
6
6
|
Project-URL: Documentation, https://gcformat.com/
|
|
@@ -304,7 +304,7 @@ GCF wins 15/16 datasets on the expanded [token efficiency benchmark](https://git
|
|
|
304
304
|
|
|
305
305
|
**Zero runtime dependencies. Permanently.** All six implementations depend only on their language's standard library. No transitive dependencies. No supply chain risk. This is a permanent commitment: GCF will never take on external runtime dependencies. MIT licensed. All implementations support both generic profile (`encodeGeneric`) and graph profile (`encode`). CLI included in all 6 languages.
|
|
306
306
|
|
|
307
|
-
**Specification:** [SPEC v3.
|
|
307
|
+
**Specification:** [SPEC v3.5.0 Stable](https://github.com/blackwell-systems/gcf/blob/main/SPEC.md) with 264 conformance fixtures, 43,000,000,000+ lossless round-trips verified across 5 formats and 6 languages. All implementations at v2.5.1+ (Go v1.6.1, Swift v2.6.0). Cross-language 6x6 matrix verified.
|
|
308
308
|
|
|
309
309
|
## Adopted by
|
|
310
310
|
|
|
@@ -279,7 +279,7 @@ GCF wins 15/16 datasets on the expanded [token efficiency benchmark](https://git
|
|
|
279
279
|
|
|
280
280
|
**Zero runtime dependencies. Permanently.** All six implementations depend only on their language's standard library. No transitive dependencies. No supply chain risk. This is a permanent commitment: GCF will never take on external runtime dependencies. MIT licensed. All implementations support both generic profile (`encodeGeneric`) and graph profile (`encode`). CLI included in all 6 languages.
|
|
281
281
|
|
|
282
|
-
**Specification:** [SPEC v3.
|
|
282
|
+
**Specification:** [SPEC v3.5.0 Stable](https://github.com/blackwell-systems/gcf/blob/main/SPEC.md) with 264 conformance fixtures, 43,000,000,000+ lossless round-trips verified across 5 formats and 6 languages. All implementations at v2.5.1+ (Go v1.6.1, Swift v2.6.0). Cross-language 6x6 matrix verified.
|
|
283
283
|
|
|
284
284
|
## Adopted by
|
|
285
285
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "gcf-python"
|
|
7
|
-
version = "2.5.
|
|
7
|
+
version = "2.5.2"
|
|
8
8
|
description = "The AI-native wire format for structured data. 50-92% fewer tokens than JSON, with multi-turn delta encoding for agent loops. 100% comprehension on every frontier model. Zero dependencies."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = {text = "MIT"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|