edfcore 0.3.38 → 0.3.39

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,6 +6,28 @@ 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.3.39
10
+
11
+ **The published diagnostic tables disagreed with the code in five places, and with themselves in
12
+ two more.** Documentation only, plus a test that stops it recurring.
13
+
14
+ - `DATE_CLIPPED_TO_1985_2084` is **`info`**, and has been since the first commit. Nearly every EDF
15
+ file carries it, because the mandated `dd.mm.yy` startdate cannot express a year outside
16
+ 1985–2084. Two pages listed it under **Warnings**, a third called it "a warning" in prose, and
17
+ two more printed a sample `formatDiagnostics` block reading `warning [DATE_CLIPPED_TO_1985_2084]`
18
+ — output the function cannot produce, since it prints `${severity} [${code}]`.
19
+ - `SCALE_UNAVAILABLE` was missing from the deferred-fatal table entirely.
20
+ - Three prose counts were wrong: eight always-fatal codes where there are **nine**, two `info`
21
+ codes where there are **three**, and thirty-one warnings where there are **twenty-nine** (the
22
+ table also carries two reserved names that nothing emits, which the page explains in a note).
23
+ - README, `physical-values.md` and `design-decisions.md` still said the pyEDFlib/MNE golden-value
24
+ harness "has not been built yet" and that "edfcore claims no numeric parity with those readers".
25
+ It was built in **0.2.34–0.2.48**, and `physical-values.md` said so itself forty lines above the
26
+ note denying it.
27
+ - `tests/integration/diagnostic-docs.test.ts` derives every count and every grouping from
28
+ `codes.ts`, so a new code fails the suite until the page is updated — and checks that no sample
29
+ output in any page prints a severity the formatter would not.
30
+
9
31
  ## 0.3.38
10
32
 
11
33
  - **Fixed** a zero-record chunk contradicting the gap it carries. `readRecordBytes` explicitly
package/README.md CHANGED
@@ -80,9 +80,10 @@ for (const event of annotations) {
80
80
  > and the rectal temperature channel of a real recording reads 37 °C. Run them with
81
81
  > `npm run corpus:fetch && npm test`.
82
82
  >
83
- > One thing is missing: a golden-value harness comparing edfcore's float64 output against
84
- > pyEDFlib and MNE element by element. Until it exists, edfcore claims no numeric parity with
85
- > those readers. The API can still move. See [Roadmap](#roadmap).
83
+ > That harness exists as of 0.2.34-0.2.48: edfcore reproduces pyEDFlib's float64 output bit for
84
+ > bit on synthetic files and on the real corpus, agrees with MNE to 1e-12 relative, and matches
85
+ > pyEDFlib's annotation onsets to the tick. Regenerate the reference values with `scripts/golden/*.py`.
86
+ > The API can still move. See [Roadmap](#roadmap).
86
87
 
87
88
  ---
88
89
 
@@ -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.3.38";
112
+ export declare const VERSION = "0.3.39";
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.3.38';
82
+ export const VERSION = '0.3.39';
83
83
  //# sourceMappingURL=constants.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.3.38",
3
+ "version": "0.3.39",
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.3.38';
96
+ export const VERSION = '0.3.39';