@vanaheimr/cose 0.9.0 → 0.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/CHANGELOG.md +55 -1
- package/README.md +20 -0
- package/package.json +15 -15
package/CHANGELOG.md
CHANGED
|
@@ -6,7 +6,61 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
Until 1.0.0 the public API may change in minor releases.
|
|
8
8
|
|
|
9
|
-
## [0.
|
|
9
|
+
## [0.10.0] — 2026-10-25
|
|
10
|
+
|
|
11
|
+
A minor without a single changed line of library code, and deliberately so.
|
|
12
|
+
The CBOR codec underneath moves from `^0.10.0` to `^0.11.1`, and under 0.x
|
|
13
|
+
npm treats that as a major step: a range of `^0.10.0` will never admit 0.11.
|
|
14
|
+
The codec is part of this package's public surface — `cbor` and `CborValue`
|
|
15
|
+
are re-exported from it, and the `CborError` it throws on malformed input
|
|
16
|
+
passes through `parse` unchanged — so a patch release would have reached
|
|
17
|
+
every `^0.9.0` installer automatically and could have left one who also
|
|
18
|
+
depends on the codec directly holding two copies of it. Errors thrown by one
|
|
19
|
+
copy are not `instanceof` the other's `CborError`, and that is exactly the
|
|
20
|
+
check a careful caller writes around `parse`. A minor makes that step a
|
|
21
|
+
choice rather than a surprise. There was nothing for a patch to deliver
|
|
22
|
+
instead: no defect in the library was fixed.
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
|
|
26
|
+
- **The codec is `@vanaheimr/metrological-cbor` 0.11.1.** Its CBOR layer is
|
|
27
|
+
unchanged between 0.10.0 and 0.11.1, so every message, key and structure
|
|
28
|
+
this library writes is byte for byte what 0.9.0 wrote, and every signature
|
|
29
|
+
0.9.0 made still verifies. The codec's own breaking change in 0.11.0 — JSON
|
|
30
|
+
conversion no longer guesses which strings are readings — concerns an API
|
|
31
|
+
this package does not re-export. **If you depend on the codec directly as
|
|
32
|
+
well, move that dependency to `^0.11.1` alongside this upgrade**, so that
|
|
33
|
+
npm installs one copy and `CborError` stays one class.
|
|
34
|
+
- **The cryptography floor rises**: `@noble/hashes`, `@noble/ciphers` and
|
|
35
|
+
`@noble/curves` to 2.4.0, `@noble/post-quantum` to 0.7.1. Fresh installs
|
|
36
|
+
of 0.9.0 already resolved these through their caret ranges; the new floor
|
|
37
|
+
says what this release was tested against.
|
|
38
|
+
|
|
39
|
+
### Development
|
|
40
|
+
|
|
41
|
+
None of this reaches an installer: the published package has the same
|
|
42
|
+
files, the same build shape and no new runtime dependency.
|
|
43
|
+
|
|
44
|
+
- **The browser-bundle test runs in one realm.** It used to hand its `vm`
|
|
45
|
+
sandbox the host's `Object`, `Uint8Array` and two dozen other intrinsics,
|
|
46
|
+
which shadowed the sandbox's own with foreign twins; `@noble/hashes` 2.4
|
|
47
|
+
checks its option defaults for being plain objects and refused to load
|
|
48
|
+
there. A browser has one realm, and the sandbox now does too — which also
|
|
49
|
+
makes the test a truer stand-in for a browser than it was.
|
|
50
|
+
- **Two advisories in the development toolchain are closed**: `source-map-js`
|
|
51
|
+
to 1.2.2 (GHSA-68fv-2mgg-jv7q, reached through tsup and the coverage
|
|
52
|
+
provider) and `markdown-it` to 14.3.3 (GHSA-vfgh-jcmw-g37q and
|
|
53
|
+
GHSA-gfr2-rv44-r23c, reached through typedoc).
|
|
54
|
+
- **The toolchain moves to current majors**: tsup 9, vitest and its coverage
|
|
55
|
+
provider 5.0.5, with eslint, typescript-eslint, globals and tsx in minors.
|
|
56
|
+
TypeScript stays at 6.0 until typedoc supports 7.
|
|
57
|
+
- **The workflows run on actions that run on Node 24** — checkout, setup-node
|
|
58
|
+
and upload-artifact at v7 — instead of being force-migrated with an
|
|
59
|
+
annotation on every run.
|
|
60
|
+
- `update.sh` scripts the dependency sweep, and `*.tgz` is ignored, since the
|
|
61
|
+
release rehearsal in `docs/releasing.md` leaves one behind every time.
|
|
62
|
+
|
|
63
|
+
## [0.9.0] — 2026-08-22
|
|
10
64
|
|
|
11
65
|
**The first version published to npm**, on 2026-08-22 — by hand, with
|
|
12
66
|
multi-factor authentication and a maintainer at the keyboard, as every release
|
package/README.md
CHANGED
|
@@ -532,6 +532,26 @@ What this is for is the integrity of measurement data along the rest of the
|
|
|
532
532
|
chain, and for the conversation about what a digital, signed SI quantity should
|
|
533
533
|
look like.
|
|
534
534
|
|
|
535
|
+
|
|
536
|
+
## Publishing
|
|
537
|
+
|
|
538
|
+
```
|
|
539
|
+
npm version 0.10.0 --no-git-tag-version
|
|
540
|
+
git commit -a
|
|
541
|
+
git tag -s v0.10.0 -m "v0.10.0"
|
|
542
|
+
git push origin master v0.10.0
|
|
543
|
+
git push git1 master v0.10.0
|
|
544
|
+
git push git2 master v0.10.0
|
|
545
|
+
|
|
546
|
+
npm run verify
|
|
547
|
+
npm pack --dry-run
|
|
548
|
+
npm pack
|
|
549
|
+
npm login
|
|
550
|
+
npm whoami
|
|
551
|
+
npm publish
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
|
|
535
555
|
## License
|
|
536
556
|
|
|
537
557
|
[Apache License 2.0](LICENSE.md), matching both reference implementations.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vanaheimr/cose",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "CBOR Object Signing and Encryption (RFC 9052) in TypeScript, on top of the Metrological CBOR codec — the TypeScript counterpart of Vanaheimr Styx's Illias/COSE.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cose",
|
|
@@ -73,25 +73,25 @@
|
|
|
73
73
|
"prepublishOnly": "npm run verify"
|
|
74
74
|
},
|
|
75
75
|
"dependencies": {
|
|
76
|
-
"@noble/ciphers": "^2.
|
|
77
|
-
"@noble/curves": "^2.
|
|
78
|
-
"@noble/hashes": "^2.
|
|
79
|
-
"@noble/post-quantum": "^0.7.
|
|
80
|
-
"@vanaheimr/metrological-cbor": "^0.
|
|
76
|
+
"@noble/ciphers": "^2.4.0",
|
|
77
|
+
"@noble/curves": "^2.4.0",
|
|
78
|
+
"@noble/hashes": "^2.4.0",
|
|
79
|
+
"@noble/post-quantum": "^0.7.1",
|
|
80
|
+
"@vanaheimr/metrological-cbor": "^0.11.1"
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@eslint/js": "^10.0.1",
|
|
84
|
-
"@types/node": "^26.
|
|
85
|
-
"@vitest/coverage-v8": "^
|
|
84
|
+
"@types/node": "^26.6.5",
|
|
85
|
+
"@vitest/coverage-v8": "^5.0.5",
|
|
86
86
|
"esbuild": "^0.28.2",
|
|
87
|
-
"eslint": "^10.
|
|
88
|
-
"fast-check": "^4.
|
|
89
|
-
"globals": "^17.
|
|
90
|
-
"tsup": "^
|
|
91
|
-
"tsx": "^4.23.
|
|
87
|
+
"eslint": "^10.13.0",
|
|
88
|
+
"fast-check": "^4.10.2",
|
|
89
|
+
"globals": "^17.13.0",
|
|
90
|
+
"tsup": "^9.0.0",
|
|
91
|
+
"tsx": "^4.23.15",
|
|
92
92
|
"typedoc": "^0.28.20",
|
|
93
93
|
"typescript": "^6.0.3",
|
|
94
|
-
"typescript-eslint": "^8.
|
|
95
|
-
"vitest": "^
|
|
94
|
+
"typescript-eslint": "^8.72.0",
|
|
95
|
+
"vitest": "^5.0.5"
|
|
96
96
|
}
|
|
97
97
|
}
|