dcr-ts 0.2.0 → 0.2.1

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 CHANGED
@@ -4,6 +4,44 @@ Notable changes per release. Dates are release dates.
4
4
 
5
5
  This library has **not** been independently audited. See [SECURITY.md](SECURITY.md).
6
6
 
7
+ ## 0.2.1 — 2026-08-25
8
+
9
+ **No changes to the library.** `src/` is byte-identical to 0.2.0 and the built
10
+ bundle is unchanged; the package version is not embedded in it. Everything here
11
+ is release infrastructure, plus the one thing that could only be tested by
12
+ performing a release.
13
+
14
+ ### Changed — releasing
15
+
16
+ - **Publishing moved to CI, authorised by a signed tag.** The workflow verifies
17
+ the tag against an allowed-signers list before it does anything else, pins the
18
+ checkout to the commit the tag points at, refuses a tag that disagrees with
19
+ `package.json`, and re-runs the full gates — typecheck, tests, both-format
20
+ entry-point resolution, a production-dependency audit, and a dcrd vector
21
+ regeneration — before it can publish.
22
+ - **Authentication is OIDC, not a stored token.** Trusted publishing means no
23
+ long-lived credential exists in the repository at all, and npm generates the
24
+ provenance attestation automatically. 0.2.0 was published by hand before the
25
+ package existed on the registry, so it carries no attestation; this is the
26
+ first release that does.
27
+ - **The signer policy is read from the default branch, not from the tag.**
28
+ Reading it from the tagged tree would have let a tag supply the policy
29
+ authorising it — a tag carrying its own allowed-signers list, signed with the
30
+ key it names, would have verified itself.
31
+ - **Canonical `repository.url`** (`git+https://…​.git`), matching what
32
+ `hosted-git-info` normalises to. This was previously described as a provenance
33
+ fix; it is not. `libnpmpublish` never reads the field when generating an
34
+ attestation.
35
+ - **CI and npm badges in the README**, which is also the package page on npm.
36
+
37
+ ### Why this version exists
38
+
39
+ The publish step had never executed. The republish guard correctly stops any
40
+ re-run against a version already on the registry, so no amount of re-running
41
+ 0.2.0 could exercise the OIDC exchange — only a version that does not yet exist
42
+ can. Releasing 0.2.1 is how the path gets proven, and the cost is a version
43
+ number rather than an untested release pipeline discovered at the worst moment.
44
+
7
45
  ## 0.2.0 — 2026-08-25
8
46
 
9
47
  ### Fixed — consensus
package/README.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # dcr-ts
2
2
 
3
+ [![CI](https://github.com/jzbz/dcr-ts/actions/workflows/ci.yml/badge.svg)](https://github.com/jzbz/dcr-ts/actions/workflows/ci.yml)
4
+ [![npm](https://img.shields.io/npm/v/dcr-ts)](https://www.npmjs.com/package/dcr-ts)
5
+
3
6
  Decred (DCR) primitives for TypeScript: **BLAKE-256**, addresses, WIF, **BIP32
4
7
  HD keys** with Decred serialization, BIP39 mnemonics, the **transaction wire
5
8
  format**, the **Decred signature hash**, and **low-S ECDSA** P2PKH signing.
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "dcr-ts",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Decred (DCR) primitives for TypeScript: BLAKE-256, addresses, BIP32 HD keys, WIF, the transaction wire format, the Decred signature hash, and low-S ECDSA signing. Byte-exact with dcrd.",
5
5
  "type": "module",
6
6
  "license": "ISC",
7
7
  "author": "Jonathan Zeppettini <jz@jz.bz>",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "https://github.com/jzbz/dcr-ts"
10
+ "url": "git+https://github.com/jzbz/dcr-ts.git"
11
11
  },
12
12
  "keywords": [
13
13
  "decred",