edfcore 0.2.48 → 0.2.50

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,34 @@ 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.50
10
+
11
+ - **Added** a corpus-coverage report that always runs. Every other test in `tests/corpus/` skips
12
+ when the files are absent, which is right — a fresh clone must stay green and offline, and none
13
+ of the corpus is redistributed. But a skipped test is indistinguishable from a passing one in a
14
+ summary line, and the corpus is where this project's strongest claims live: `1487 passed` reads
15
+ the same whether the bit-for-bit check against a 22-hour clinical recording ran or not. It now
16
+ says which state the run is in, once, in a line a reader sees.
17
+ - It also checks the parts that need no corpus: every manifest entry names a source, a licence and
18
+ a SHA-256, no committed golden refers to a file the manifest no longer lists, and every fetched
19
+ file has a parity golden. A golden that has drifted from the corpus definition still looks like
20
+ coverage, which is the failure this catches.
21
+
22
+ ## 0.2.49
23
+
24
+ - **Added** annotation, start-date and geometry parity on the real corpus, alongside the sample
25
+ parity added in 0.2.48. The richest case is the sleep-edfx hypnogram: **154 sleep stages on a
26
+ file whose record duration is legally zero** — the case where `sampleRateHz` is `undefined` and
27
+ every rate-derived expression yields `NaN`, so a reader that indexes by rate rather than by
28
+ record cannot read it at all. edfcore finds the same 154 events at the same onsets with the same
29
+ durations as pyEDFlib, and the epochs tile the night with no gap, checked against pyEDFlib's
30
+ onsets rather than against edfcore's.
31
+ - Start dates too. The sleep-edfx files were recorded in 1989 and carry a two-digit year, so
32
+ resolving them exercises the 1985-2084 pivot rule against a reader that implements it
33
+ independently.
34
+ - No discrepancy was found. That is the result, and it is worth stating plainly rather than
35
+ implying the sweep found something.
36
+
9
37
  ## 0.2.48
10
38
 
11
39
  - **Added** bit-for-bit parity against pyEDFlib on the REAL corpus — the last thing the README
@@ -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.48";
112
+ export declare const VERSION = "0.2.50";
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.48';
82
+ export const VERSION = '0.2.50';
83
83
  //# sourceMappingURL=constants.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.2.48",
3
+ "version": "0.2.50",
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.48';
96
+ export const VERSION = '0.2.50';