diff --git a/AGENTS.md b/AGENTS.md index b0ca32d..1bc2a84 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,6 @@ # Contributor instructions -Prepared release source is 1.7.0; publication is a separate owner action. Its +Prepared patch release source is 1.7.1; publication is a separate owner action. Its parent development line is 1.7.0-dev and stable 1.6.1 remains separate. This is not a maintenance release or the frozen 6fe8067 RC. Preserve all source-bound qualification history; source integration never publishes a version. diff --git a/CHANGELOG.md b/CHANGELOG.md index dfe6eb8..bf9d7e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## 1.7.1 — prepared source; publication separate + +- Fix packaged Draft 2020-12 resource discovery when SwiftPM's native test host + loads JSONSchema from an XCTest bundle. Search beside that bundle after the + existing locations; preserve integrity checks, finite cumulative compilation + budgets, cancellation and selected-resource failure behavior. +- Add a real public native SwiftPM test-host regression in Debug and Release, + retaining the standalone intact, missing and corrupt resource probes. +- Report CLI source version `1.7.1` with a regenerated deterministic source + identity. No public API, product, dependency or deployment change is introduced. +- See the [patch release notes](Documentation/ReleaseNotes/1.7.1.md) for scope and + the source-bound qualification asset attached to the draft release for outcomes. + ## 1.7.0 — prepared source; publication separate - Reconcile admitted set/matrix APIs with the reviewed public directed graph, diff --git a/Documentation/ReleaseNotes/1.7.1.md b/Documentation/ReleaseNotes/1.7.1.md new file mode 100644 index 0000000..d4da2c2 --- /dev/null +++ b/Documentation/ReleaseNotes/1.7.1.md @@ -0,0 +1,40 @@ +# Swift-JSON 1.7.1 — release notes + +This patch fixes JSONSchema resource discovery in SwiftPM's native test host. +Preparation and tagging do not establish publication; the official GitHub release +and its qualification asset identify the final source and actual outcomes. + +## Fixed + +When the native SwiftPM backend uses `swiftpm-testing-helper` as the main bundle, +JSONSchema can be loaded from a nested XCTest bundle while its resource bundle +is installed beside that bundle. The loader now includes this fixed sibling +location, after the existing candidates, on Objective-C-capable Apple platforms. +All nine packaged Draft 2020-12 resources retain their exact size and SHA-256 +checks. A selected missing or corrupt resource remains an operational failure; +there is no permissive fallback, online resolution or new cache. + +A public Swift Testing consumer exercises this host layout in Debug and Release +without environment overrides, including valid and invalid exact integers above +2^53. Existing standalone intact, missing and corrupt resource checks remain. +CLI metadata reports `1.7.1` with the deterministic final-source identity. + +## Compatibility and qualification + +No public API, product, runtime dependency or platform is added. The package keeps +twelve library products plus `swift-json`, thirteen DocC catalogs, Swift tools and +compiler 6.4+, Swift language mode 6, Apple OS/SDK 27+, Apache-2.0 and retained +upstream notices. Exact values, key identity, schema dialect, cumulative quotas, +cancellation and ordinary-invalid versus operational-error distinctions retain +their contracts. Parallel 1.8 work is outside this patch. + +The release qualification asset records actual source-bound Native, Linux, +safety, docs, archive and consumer outcomes. SDK compilation is distinct from +device runtime; unchanged portable scopes are reuse evidence, not new execution. + +Navigation G4 remains HOLD with zero accepted controlled timing samples. +Transform's scoped performance disposition and incomplete historical sampling +windows are preserved, without a new measured pass. The historical approximately +11% streaming regression disposition and unchanged 10% review trigger remain. +This patch makes no speed, throughput, allocation or RSS claim. Logical retained +bytes and caller work retain their documented accounting boundaries. diff --git a/Sources/JSONCLIEngine/CLIBuildIdentity.swift b/Sources/JSONCLIEngine/CLIBuildIdentity.swift index 065668b..66f9355 100644 --- a/Sources/JSONCLIEngine/CLIBuildIdentity.swift +++ b/Sources/JSONCLIEngine/CLIBuildIdentity.swift @@ -2,6 +2,6 @@ // Generated by Scripts/generate_cli_identity.py; excludes this file. // SHA-256 of the ordered Package.swift + Sources content manifest, not a Git commit. package enum CLIBuildIdentity { - package static let revision = "sha256:52ec97c92df8f4518ecfbf604b895124915205e9ce6c509b05fa31f4aed62452" + package static let revision = "sha256:cc33adc50dbf28731ccac0919bfaf10716e459d3e69ffdd05189301d1d13b2f9" package static let kind = "source-sha256" } diff --git a/Sources/JSONCLIEngine/CLIReleaseVersion.swift b/Sources/JSONCLIEngine/CLIReleaseVersion.swift index 6ed3782..24f9d2b 100644 --- a/Sources/JSONCLIEngine/CLIReleaseVersion.swift +++ b/Sources/JSONCLIEngine/CLIReleaseVersion.swift @@ -2,5 +2,5 @@ // Version of this source distribution. Publication is a separate action. package enum CLIReleaseVersion { - package static let value = "1.7.0" + package static let value = "1.7.1" } diff --git a/Tests/JSONCLITests/IntegrationTests.swift b/Tests/JSONCLITests/IntegrationTests.swift index 5157667..a6e9a46 100644 --- a/Tests/JSONCLITests/IntegrationTests.swift +++ b/Tests/JSONCLITests/IntegrationTests.swift @@ -146,7 +146,7 @@ private func integrationDirectory() throws -> URL { @Test func cliVersionIsDeterministicAndNeedsNoRepositoryOrInput() throws { let metadata = try JSONParser().parse(CLIHelp.versionJSON) - #expect(try metadata.requiredMember("version") == .string("1.7.0")) + #expect(try metadata.requiredMember("version") == .string("1.7.1")) #expect(try metadata.requiredMember("revisionKind") == .string("source-sha256")) let revision = try #require(try metadata.requiredMember("revision").stringValue) #expect(revision.hasPrefix("sha256:") && revision.utf8.count == 71)