edfcore 0.2.64 → 0.2.66

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
@@ -6,7 +6,40 @@ 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.2.63
9
+ ## 0.2.66
10
+
11
+ - **Fixed** the changelog numbering, which had drifted a second time, and **fixed the cause** so it
12
+ cannot drift a third.
13
+ - The mechanism, both times: the entry is written by hand before the release runs, against the
14
+ version the author expects. When a release fails AFTER bumping — a lint error, a flaky test, an
15
+ agent's scratch file in the tree — that number is consumed, the next run produces a different
16
+ one, and every heading from there on inherits the drift. `0.2.29` and `0.2.36` went that way in
17
+ the last round; `0.2.59` went that way in this one, consumed by its own coverage guard when a
18
+ corpus file was added without regenerating its parity golden.
19
+ - `scripts/release.mjs` now refuses to release unless the top `## <version>` heading in
20
+ CHANGELOG.md equals the version being tagged, and its message says what to do — including
21
+ recording a skipped number as never released. One file read, and a silent documentation defect
22
+ becomes a message before anything is committed.
23
+ - Headings `0.2.59` through `0.2.64` are shifted to the releases that actually carried them,
24
+ verified against `git show <tag>:CHANGELOG.md` rather than reasoned about, and `0.2.59` is
25
+ recorded as never released. Prose references in the README, the docs and one test are shifted to
26
+ match.
27
+
28
+ ## 0.2.65
29
+
30
+ - **Added** a migration guide for 0.3.0, published before the release rather than after it:
31
+ [Migrating to 0.3](https://edfcore.vercel.app/docs/migrating-to-0-3). Three functions are
32
+ renamed, nothing else changes, and no arithmetic changes.
33
+ - It says what a rename is worth a minor bump for. The grid functions were never wrong; their names
34
+ simply did not say which of two quantities they returned, and six releases of this project were
35
+ spent on that exact confusion elsewhere — a stimulus latched at 10 s reported as 2 s, events in
36
+ the neighbouring window, a gap `mergeChunks` could not see. Each was found because two functions
37
+ disagreed, not because one looked wrong. `gridSampleStartSeconds` cannot be called in the belief
38
+ that it returns elapsed recording time.
39
+ - Includes the find-and-replace, with word boundaries, and a note on why: `sampleStartTicks` and
40
+ `sampleStartTicksOf` are distinct names and a substring replace would damage the second.
41
+
42
+ ## 0.2.64
10
43
 
11
44
  - **Added** a test that drives essentially the whole public barrel over every corpus file — six
12
45
  files written by five pieces of software across twenty-one years — and asserts the results are
@@ -20,7 +53,7 @@ defect; those are called out below.
20
53
  nowhere written down, and the sleep-edfx hypnogram is a real file of exactly that shape. Now
21
54
  stated in the source, in the docs, and pinned by the test that found it.
22
55
 
23
- ## 0.2.62
56
+ ## 0.2.63
24
57
 
25
58
  - **Added** `formatAnnotations`, the third formatter beside `formatHeader` and
26
59
  `formatDiagnostics`, and the one a hypnogram or an event list actually needs.
@@ -35,7 +68,7 @@ defect; those are called out below.
35
68
  the header start time, a recording may begin after its first annotation, and clamping to zero
36
69
  would silently move it.
37
70
 
38
- ## 0.2.61
71
+ ## 0.2.62
39
72
 
40
73
  - **Deprecated** `sampleIndexAt`, `sampleStartTicks` and `sampleStartSeconds`, which are renamed
41
74
  to `gridSampleIndexAt`, `gridSampleStartTicks` and `gridSampleStartSeconds` in **0.3.0**. The
@@ -48,7 +81,7 @@ defect; those are called out below.
48
81
  - Nothing is removed here. An editor will point at the replacement a release before the rename
49
82
  lands, and for a contiguous file the rename is the only thing that affects a caller.
50
83
 
51
- ## 0.2.60
84
+ ## 0.2.61
52
85
 
53
86
  - **Added** `sampleAt`, `sampleStartTicksOf` and `sampleStartSecondsOf` — the recording-aware
54
87
  counterpart to the sample-grid family, and the groundwork for 0.3.0.
@@ -65,7 +98,7 @@ defect; those are called out below.
65
98
  follows. A round-trip test pins the pair together across the gap: the sample at a sample's start
66
99
  is that sample, for every sample in the file.
67
100
 
68
- ## 0.2.59
101
+ ## 0.2.60
69
102
 
70
103
  - **Added** `calib.rec` from edfplus.info — the last corpus the README named. It was written by
71
104
  **Bob Kemp, who wrote the EDF specification**, expressly to check that a reader gets amplitude
@@ -85,6 +118,12 @@ defect; those are called out below.
85
118
  the new corpus file had no parity golden yet. That is exactly the drift it exists to catch, and
86
119
  it caught it before the release rather than after.
87
120
 
121
+ ## 0.2.59
122
+
123
+ Never released. The 0.2.59 release run failed its own coverage guard — a corpus file had been added
124
+ without regenerating its parity golden — which consumed the number before a tag was cut. The
125
+ calibration-file work that carried this heading while it was being written shipped in `0.2.60`.
126
+
88
127
  ## 0.2.58
89
128
 
90
129
  - **Added** CHB-MIT to the corpus, closing a gap the README has named since 0.1. It is chosen to be
package/README.md CHANGED
@@ -341,7 +341,7 @@ also supplies something no synthetic fixture here had — a montage that names o
341
341
  which is what `EdfAmbiguousChannelError` exists for and had until now only ever been raised against
342
342
  a fixture written to raise it.
343
343
 
344
- **The format author's own calibration file, as of 0.2.59.** `calib.rec` was written by Bob Kemp —
344
+ **The format author's own calibration file, as of 0.2.60.** `calib.rec` was written by Bob Kemp —
345
345
  who wrote the EDF specification — expressly to check that a reader gets amplitude *and polarity*
346
346
  right. It is the only fixture here whose expected values come from neither edfcore nor another
347
347
  library but from the file's own design: its gain is 25/1024, exactly representable in binary, so
@@ -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.2.64";
112
+ export declare const VERSION = "0.2.66";
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.2.64';
82
+ export const VERSION = '0.2.66';
83
83
  //# sourceMappingURL=constants.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.2.64",
3
+ "version": "0.2.66",
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",
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.2.64';
96
+ export const VERSION = '0.2.66';