xoonya 2.9.0 → 2.10.0
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.
- package/RELEASE_NOTES.md +7 -77
- package/lib/release_history.js +12 -0
- package/package.json +1 -1
- package/scripts/verify_release_candidate.js +25 -0
package/RELEASE_NOTES.md
CHANGED
|
@@ -1,81 +1,11 @@
|
|
|
1
|
-
# xoonya 2.
|
|
1
|
+
# xoonya 2.10.0 Release Notes
|
|
2
2
|
|
|
3
|
-
`xoonya` 2.
|
|
3
|
+
`xoonya` 2.10.0 is the release-hygiene and standard-boundary polish line for current-release-only package notes and stronger release-candidate packaging checks.
|
|
4
4
|
|
|
5
5
|
Highlights:
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
- preserves the XNYA-compatible conformance mark,
|
|
10
|
-
- keeps
|
|
11
|
-
- prepares the synchronized Naxytra 2.
|
|
12
|
-
|
|
13
|
-
# xoonya 2.8.0 Release Notes
|
|
14
|
-
|
|
15
|
-
`xoonya` 2.8.0 is the XNYA standard-hardening line for conformance marks, reference implementation promotion discipline, cross-language scaffold evidence, PQ/hybrid design gating, and external proof truth boundaries.
|
|
16
|
-
|
|
17
|
-
Highlights:
|
|
18
|
-
|
|
19
|
-
- exposes the XNYA-compatible conformance mark with explicit artifact, vector, error-code, and forbidden-claim boundaries
|
|
20
|
-
- adds the XNYA reference implementation plan and promotion gate so JavaScript remains canonical while Python/Rust require independent vector, crypto, round-trip, conformance, and forbidden-claim evidence before promotion
|
|
21
|
-
- adds Python XNYA atom/payload/frame, proof-bundle, and optional Ed25519 crypto verifier scaffolds without overclaiming full second-reference status
|
|
22
|
-
- packages the Rust XNYA source scaffold while keeping it unpromoted until real Rust toolchain compilation and vector parity exist
|
|
23
|
-
- adds native hybrid/PQ design-gate vectors and deterministic rejection so PQ/hybrid remains visible but not claimable as live verification
|
|
24
|
-
- hardens external proof import truth boundaries for JWT, DID/VC, SD-JWT VC, signed-envelope, detached assertion, and partner proof material
|
|
25
|
-
- keeps the 2.7.0 packaged conformance and clean-consumer release-smoke posture intact while making native-standard claims more defensible
|
|
26
|
-
|
|
27
|
-
# xoonya 2.7.0 Release Notes
|
|
28
|
-
|
|
29
|
-
`xoonya` 2.7.0 is the expansion-closeout release line for package-hardening, clean-consumer release smoke testing, and disciplined native-standard claim boundaries.
|
|
30
|
-
|
|
31
|
-
Highlights:
|
|
32
|
-
|
|
33
|
-
- ships `scripts/` in the npm artifact so `xoonya conformance` and `xoonya first-run --verify-native` work from a clean npm install
|
|
34
|
-
- adds release-candidate guards that fail if conformance verifier scripts are missing from `npm pack`
|
|
35
|
-
- participates in the Naxytra release-smoke harness that installs packed tarballs into a clean consumer project before synchronized release
|
|
36
|
-
- keeps the 2.6.0 XNYA native, payload, line-rate frame, import-adapter, and standardization capabilities intact while closing the packaging reliability gap
|
|
37
|
-
|
|
38
|
-
# xoonya 2.6.0 Release Notes
|
|
39
|
-
|
|
40
|
-
`xoonya` 2.6.0 is the expansion release line for Xoonya Native standard hardening, external proof import, native signed and anchored verification, and strict XNYA payload/frame profile work.
|
|
41
|
-
|
|
42
|
-
Highlights:
|
|
43
|
-
|
|
44
|
-
- umbrella CLI entrypoint with `xoonya start-here`, plus `xoonya review` and `xoonya release`
|
|
45
|
-
- `xoonya-native-signed-v1` verification with Ed25519, secp256k1, and P-256 through the explicit signature-suite registry
|
|
46
|
-
- `xoonya-native-anchored-v1` anchor binding for chain, finality, batch, content-hash, and external attestation refs without claiming external provider truth
|
|
47
|
-
- `xoonya-native-payload-profile/v1` with `XNYP` binary payload canonicalization, typed fields, fixed-width integers, canonical ordering, and unknown-field policy checks
|
|
48
|
-
- `xoonya-native-line-rate-frame/v1` as an optional 60/72-byte transport fast-reject wrapper around existing `XNYA` atoms
|
|
49
|
-
- native payload profile vectors and line-rate frame vectors
|
|
50
|
-
- external proof import adapter for JWT, DID/VC, SD-JWT VC, detached assertions, signed envelopes, and partner proof envelopes
|
|
51
|
-
- native hybrid/PQ readiness and standardization packs that keep `xoonya-native-hybrid-v1` design-gated until validators and vectors are real
|
|
52
|
-
- first-class public contract lanes for `OpenAPI`, `AsyncAPI`, and `CloudEvents`
|
|
53
|
-
- first-class provider, framework, and integration-matrix discovery surfaces for the proof side
|
|
54
|
-
- surfaced proof breadth across `proof-bridge`, `external-proof-import`, `result-package-trust`, major rails, treasury, and registry-backed integrations
|
|
55
|
-
- surfaced observability, provenance, artifact-distribution, shared-signals, and feature-control lanes for proof operations and trust
|
|
56
|
-
- explicit proof-role freeze, role-transition, and capability-registry-home posture remain in place
|
|
57
|
-
- canonical event, receipt, and proof-bundle model remain the proof center while external compatibility stays adapter-friendly
|
|
58
|
-
- clearer install-and-use posture for reviewers, operators, outside builders, and proof-carry integrations
|
|
59
|
-
|
|
60
|
-
Recommended first checks:
|
|
61
|
-
|
|
62
|
-
1. `npm install xoonya`
|
|
63
|
-
2. `xoonya start-here`
|
|
64
|
-
3. `npm run verify:release-candidate`
|
|
65
|
-
4. `node examples/partner_proof_walkthrough.js`
|
|
66
|
-
5. inspect `/v1/proof-center/native-standard/summary`
|
|
67
|
-
6. inspect `/v1/proof-center/native-payload-profile/summary`
|
|
68
|
-
7. inspect `/v1/proof-center/native-line-rate-frame/summary`
|
|
69
|
-
8. inspect `/v1/proof-center/import-adapter/summary`
|
|
70
|
-
9. inspect `/v1/providers`, `/v1/frameworks`, `/v1/integration-matrix`, and `/v1/proof-bridge`
|
|
71
|
-
10. inspect `/v1/telemetry`, `/v1/provenance`, `/v1/artifact-distribution`, `/v1/shared-signals`, and `/v1/feature-control`
|
|
72
|
-
11. inspect `/v1/role-freeze/package`
|
|
73
|
-
12. inspect `/v1/role-transition` and `/v1/capability-registry-home`
|
|
74
|
-
13. inspect `/v1/proof-center/summary` on the deployed service
|
|
75
|
-
|
|
76
|
-
Recommended first docs:
|
|
77
|
-
|
|
78
|
-
- `PROGRAM_COMPLETE_RELEASE.md`
|
|
79
|
-
- `FINAL_CONTRACT.md`
|
|
80
|
-
- `WHY_XYTARA_XOONYA.md`
|
|
81
|
-
- `PARTNER_READY_PATH.md`
|
|
7
|
+
- keeps `RELEASE_NOTES.md` scoped to the current release so npm and GitHub release notes do not read like a rolling changelog
|
|
8
|
+
- adds a release-candidate guard that fails when package release notes contain prior release headings or drift from the package version
|
|
9
|
+
- preserves the XNYA-compatible conformance mark, native reference implementation boundaries, external proof import boundaries, and PQ/hybrid design gate
|
|
10
|
+
- keeps the canonical `https://naxytra.com/xoonya` public product URL and single Naxytra website positioning intact
|
|
11
|
+
- prepares the synchronized Naxytra 2.10.0 line for a cleaner npm, GitHub, website, and post-deploy verification pass
|
package/lib/release_history.js
CHANGED
|
@@ -10,6 +10,18 @@ function buildReleaseHistory() {
|
|
|
10
10
|
current_version: packageJson.version,
|
|
11
11
|
release_track: "public_release",
|
|
12
12
|
history: [
|
|
13
|
+
{
|
|
14
|
+
version: "2.10.0",
|
|
15
|
+
channel: "public_release",
|
|
16
|
+
maturity_posture: "release_hygiene",
|
|
17
|
+
headline: "release-hygiene line with current-release-only notes and package verifier guards while preserving native-standard claim boundaries",
|
|
18
|
+
milestone_refs: [
|
|
19
|
+
"current_release_only_release_notes",
|
|
20
|
+
"release_notes_packaging_guard",
|
|
21
|
+
"xnya_claim_boundary_preserved",
|
|
22
|
+
"synchronized_2_10_release_prep"
|
|
23
|
+
]
|
|
24
|
+
},
|
|
13
25
|
{
|
|
14
26
|
version: "2.9.0",
|
|
15
27
|
channel: "public_release",
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
const assert = require("assert");
|
|
4
|
+
const fs = require("fs");
|
|
4
5
|
const path = require("path");
|
|
5
6
|
const { execFileSync, execSync } = require("child_process");
|
|
6
7
|
const packageJson = require("../package.json");
|
|
@@ -14,6 +15,29 @@ function parsePackDryRun() {
|
|
|
14
15
|
return Array.isArray(parsed) ? parsed[0] : parsed;
|
|
15
16
|
}
|
|
16
17
|
|
|
18
|
+
function verifyReleaseNotes() {
|
|
19
|
+
const notesPath = path.resolve(__dirname, "..", "RELEASE_NOTES.md");
|
|
20
|
+
const notes = fs.readFileSync(notesPath, "utf8");
|
|
21
|
+
const headings = (notes.match(/^#\s+xoonya\s+\d+\.\d+\.\d+\s+Release Notes\s*$/gm) || [])
|
|
22
|
+
.map((heading) => heading.trim());
|
|
23
|
+
assert.deepStrictEqual(
|
|
24
|
+
headings,
|
|
25
|
+
[`# xoonya ${packageJson.version} Release Notes`],
|
|
26
|
+
"RELEASE_NOTES.md must contain only the current xoonya release heading"
|
|
27
|
+
);
|
|
28
|
+
assert.strictEqual(
|
|
29
|
+
notes.includes(`xoonya\` ${packageJson.version}`),
|
|
30
|
+
true,
|
|
31
|
+
"RELEASE_NOTES.md must mention the current package version"
|
|
32
|
+
);
|
|
33
|
+
const mentionedVersions = notes.match(/\b\d+\.\d+\.\d+\b/g) || [];
|
|
34
|
+
assert.strictEqual(
|
|
35
|
+
mentionedVersions.every((version) => version === packageJson.version),
|
|
36
|
+
true,
|
|
37
|
+
"RELEASE_NOTES.md must not mention prior package versions"
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
17
41
|
function main() {
|
|
18
42
|
const releaseOutput = execFileSync(process.execPath, [
|
|
19
43
|
path.resolve(__dirname, "..", "bin", "xoonya-release.js"),
|
|
@@ -27,6 +51,7 @@ function main() {
|
|
|
27
51
|
assert.strictEqual(releaseCandidate.product, "xoonya", "release candidate product mismatch");
|
|
28
52
|
assert.strictEqual(releaseCandidate.publish_access, "public", "release candidate publish access mismatch");
|
|
29
53
|
assert.strictEqual(releaseCandidate.checklist_count >= 5, true, "release candidate checklist count mismatch");
|
|
54
|
+
verifyReleaseNotes();
|
|
30
55
|
|
|
31
56
|
const conformanceOutput = execFileSync(process.execPath, [
|
|
32
57
|
path.resolve(__dirname, "..", "bin", "xoonya.js"),
|