edfcore 0.4.326 → 0.4.328

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.
@@ -109,5 +109,5 @@ export declare const SIGNAL_FIELD_BLOCK_OFFSETS: {
109
109
  readonly reserved: 224;
110
110
  };
111
111
  /** Published package version. Kept in sync with package.json by a test. */
112
- export declare const VERSION = "0.4.326";
112
+ export declare const VERSION = "0.4.328";
113
113
  //# sourceMappingURL=constants.d.ts.map
package/dist/constants.js CHANGED
@@ -79,5 +79,5 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
79
79
  reserved: 224,
80
80
  };
81
81
  /** Published package version. Kept in sync with package.json by a test. */
82
- export const VERSION = '0.4.326';
82
+ export const VERSION = '0.4.328';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,38 @@ alone does not tell you whether you were affected.
6
6
  edfcore is pre-1.0. Patch releases have carried behaviour changes where the old behaviour was a
7
7
  defect; those are called out below.
8
8
 
9
+ ## 0.4.328
10
+
11
+ - **Added** a guard for the release model 0.4.327 introduced. Three files describe it and none of
12
+ them enforced it, and the dangerous edit is small and looks like a revert: putting `release:
13
+ types: [published]` back on `publish.yml` leaves every test green, every workflow valid, and
14
+ `scripts/release.mjs` pushing tags that trigger nothing.
15
+ - That is not hypothetical. It is exactly how 0.4.287 through 0.4.292 were lost — six versions
16
+ tagged, six green CI runs, nothing on npm, found only by looking at the registry. So the trigger
17
+ is asserted from the outside, along with the two orderings the gate depends on: that `ci.yml`
18
+ still runs on a push to main, since the release polls for check runs that would otherwise never
19
+ register, and that `release.mjs` pushes main before it tags rather than after.
20
+
21
+ ## 0.4.327
22
+
23
+ - **Changed** how publishing is triggered: `publish.yml` now runs on a pushed **tag** rather than
24
+ on a published GitHub release. The two had been the same thing, which made a GitHub release a
25
+ mandatory step in shipping a patch version rather than an announcement — a hundred of them for
26
+ changes of two or three lines each, burying anything worth reading. The tag was already the
27
+ per-version record; now it is also the door to npm.
28
+ - **Added** `npm run announce`, which cuts ONE release for a whole batch. Its range runs from the
29
+ newest tag that already has a release to the newest tag, so running it twice is a no-op and an
30
+ interrupted batch is picked up by the next run. The notes are the changelog entries for those
31
+ versions verbatim, and a tag in the range with no entry stops it rather than being announced
32
+ past.
33
+ - **Reordered** `scripts/release.mjs` so the gate got stricter rather than weaker. It now pushes
34
+ main, waits for CI to go green on that exact commit, and only then creates and pushes the tag.
35
+ Before, the tag was already public while CI ran, so a red commit spent the version number and
36
+ the fix had to become the next one. Now a failure leaves the number free: the repair is an
37
+ ordinary commit on top and another run, and the changelog entry already written stays true.
38
+ - Nothing about the per-version contract moved. One commit, one tag, one npm publish, and the
39
+ script still refuses to exit until the version is installable.
40
+
9
41
  ## 0.4.326
10
42
 
11
43
  - **Added** the last unchecked section of `physical-values.md`: the four conditions that leave a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.326",
3
+ "version": "0.4.328",
4
4
  "description": "Modern, typed, zero-dependency reader for EDF, EDF+, BDF and BDF+ biosignal files. Works in browsers and Node with true random access.",
5
5
  "keywords": [
6
6
  "edf",
@@ -75,6 +75,7 @@
75
75
  "verify:site": "node scripts/check-site-output.mjs",
76
76
  "corpus:fetch": "node scripts/fetch-corpus.mjs",
77
77
  "release": "node scripts/release.mjs",
78
+ "announce": "node scripts/announce-batch.mjs",
78
79
  "prepublishOnly": "npm run check && npm run build"
79
80
  },
80
81
  "publishConfig": {
package/src/constants.ts CHANGED
@@ -93,4 +93,4 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
93
93
  } as const;
94
94
 
95
95
  /** Published package version. Kept in sync with package.json by a test. */
96
- export const VERSION = '0.4.326';
96
+ export const VERSION = '0.4.328';