Repository navigation
Swift-JSON 1.2.1 — test coverage and schema reliability
Swift-JSON 1.2.1 expands behavior and acceptance testing and corrects two schema failure paths. This is a patch on release/1.2; it excludes main's JSONHTML/1.3 work.
Changes and compatibility
- Best-effort schema diagnostics may omit oversized optional output without latching a terminal resource failure. Ordinary invalidity remains a completed result with incomplete diagnostics; required work, retention and annotation failures remain operational errors. Complete-diagnostic policy remains strict.
- A wholly missing native schema resource bundle now throws structured
metaSchemacompilation failure instead of SwiftPM's generated fatal error. Search is finite, and all nine resource size/hash pins remain enforced. - Add 126 meaningful Swift Testing functions over 1.2.0, covering native/foreign Codable, exact values and keys, precise errors, causal streaming completion/backpressure, Patch and schema/regex decisions. Twenty public integration functions combine the four products without private meter imports.
- Fix compiler-probe provenance for source archives: an unpacked or nested archive reports no Git identity, retains all source hashes and runs every original ownership/reader case. The first clean run exposed this tooling assumption; the failed receipt is preserved and the successor is requalified.
- Export all five implementation coverage denominators from six test runners, with atomic counters, saturation rejection and actual omitted-schema rejection. Retain fixed-seed valid/invalid replay, nine minimized cases and the bounded native mutation pilot: 26 selected behavioral kills after two minimized assertion repairs. This is not exhaustive assurance.
- Public signatures, exact number/scalar semantics, all 49 finite profile metrics, logical weights and the empty root dependency graph remain unchanged. Exact Int128/UInt128 JSONNumber projection is qualified; typed 128-bit Codable remains unsupported as documented.
Swift tools/compiler 6.4+, Swift language mode 6, macOS/iOS/iPadOS 27+, qualified 64-bit Ubuntu 24.04/glibc ARM64/x86_64, and the existing full-language Swift 6.4 wasm32 WASI command scope remain unchanged. Four products: JSON, JSONSchema, JSONStreaming, JSONPatch; JSONRegexRuntime remains private. Apache-2.0 and all upstream notices are retained.
.package(url: "https://github.com/ThorFuchs/Swift-JSON.git", exact: "1.2.1")Qualification
The annotated tag targets e8b687f822c577311156b13bf1d15c2d5620b84e, a release-preparation successor to the reviewed maintenance merge, with documentation and compiler-probe provenance changes only. Native CI and Linux CI qualify the final candidate; independent native archive reproduction executes the full native lane from manifest-verified source outside a Git checkout. The temporary QA workflow is not part of the release source.
Debug/release/full ASan retain 318 functions and 173 parameterized invocations; targeted TSan retains 32 functions. All 49 cap probes, strict-memory compilation, public consumers and distribution fault cases pass. Independent syntax: 287 evaluated successes plus 31 policy cases out of 318. Schema: 2300 evaluated successes plus 37 policy cases out of 2337. Policy exclusions are not evaluated successes. Native DocC covers 582 authored public symbols and named parameters, with four matching catalogues and no diagnostics.
Both Linux architectures retain complete coverage, safety and clean reproduction. The prior native coverage review meets the per-module 98% authored-line / 95% region targets without removing unused helpers. Execution percentages are not assertion completeness; branch/MC/DC counters are unavailable. Scoped WASI evidence is reused for byte-identical implementation/test inputs: Node full debug/release roots, Node/WasmKit affected QA and strict memory compilation. No new WASI sanitizer, independent WASI corpus or physical-device claim is made. Physical iPad remains deferred under the existing policy; earlier iPhone/device evidence retains its original source and scope. The 20 explicitly rooted schema-consumer cases do not establish downstream MCP conformance.
Accepted performance exception
The maintainer explicitly accepted a 1.2.1-specific performance exception for tag/draft preparation. The earlier diagnostic median +11.9833% exceeds the unchanged 10% review trigger and remains unresolved. A later authorized loaded-host comparison measured −1.6871% with no samples discarded and equal owned-work/logical-retention counters. Its host was busy; the further release readiness check also failed the idle criteria.
Retain the required correctness repair and disclose the measurement uncertainty. This is no intrinsic-improvement, no-regression or controlled-throughput claim. No cap, baseline or threshold was relaxed. Historical streaming reviews retain their separate baselines/dispositions. Logical retained bytes differ from RSS, and caller callbacks remain outside owned instruction quotas. Decision and scope.
Assets and support
Verify source, compiled DocC, reviewed public evidence and qualification receipts against SHA256SUMS; archive contents have accompanying or embedded manifests. An independent native SwiftPM consumer resolves and runs the exact version tag. Public assets exclude private maintainer records, personal device identifiers, credentials, LLVM objects/profiles and SDK-linked WASM binaries.
Online documentation follows main's later feature line; the attached four-catalog DocC archive matches this tag. Changelog · Support · Private reporting.
Published on 15 October 2026 following explicit maintainer authorization. The accepted performance exception and its measurement limitations remain unchanged. Attached qualification receipts retain their original preparation timestamps and states; the source, documentation and evidence assets are unchanged from the verified draft.