edfcore 0.4.488 → 0.4.490

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.488";
112
+ export declare const VERSION = "0.4.490";
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.488';
82
+ export const VERSION = '0.4.490';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,41 @@ 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.490
10
+
11
+ - **Added** a check that every published export is reached by the suite a fresh clone actually
12
+ runs. `tests/corpus/` skips when the corpus is absent — 59 MB of other people's recordings, not
13
+ redistributed — so those tests do not run on a clone, in CI unless fetched, or for a contributor
14
+ who has not asked for them.
15
+ - An export whose only appearance in the suite is inside that directory is an export nothing
16
+ verifies on an ordinary run: it can be renamed, dropped from a barrel or left broken, and the run
17
+ a contributor does stays green. Not hypothetical here — `whole-api.test.ts` calls essentially the
18
+ whole barrel and is one of the files that skips.
19
+ - All 78 pass today. The value is the tripwire: adding an export and testing it only against a real
20
+ file now fails, in the run that would otherwise say nothing.
21
+ - `tests/scratch/` is excluded alongside the corpus for the reason 0.4.479 established — it is
22
+ gitignored, so anything in it satisfies a check on the machine that wrote it and nowhere else.
23
+ - Deliberately coarse, and the file says so: an import is a floor, not proof the export is called.
24
+ The floor is the part that can be checked structurally, and it was not being checked at all.
25
+
26
+ ## 0.4.489
27
+
28
+ - **Added** a property test for `summarizeDiagnostics`. Everything that prints a count of a file's
29
+ problems goes through it — the first line of `edfcore validate`, the summary under
30
+ `edfcore header`, and the `worst` a caller branches on to decide whether a recording is usable —
31
+ so its one job is to be the list, counted, and every way it can fail is quiet.
32
+ - The existing tests pin the two DECISIONS, which is right: `worst` is by severity rank rather
33
+ than arrival, and it is `undefined` rather than `'info'` for an empty list. What nothing pinned
34
+ is that the counting adds up, and that is the part with no decision in it — which is exactly the
35
+ part nobody writes a case for.
36
+ - Four invariants over arbitrary lists: the three severity counts sum to the length, each equals
37
+ the number of that severity in the input, `byCode` holds every code once and its counts sum to
38
+ the total, and it is descending by count with first-seen order inside a tie. The last is what
39
+ makes two runs over one file diffable, and the docblock promises it.
40
+ - The generator draws from a four-code alphabet on purpose. Unique codes would produce entries of
41
+ count 1 for ever, and repeats and ties are the whole point — a hand-written fixture reaches
42
+ neither.
43
+
9
44
  ## 0.4.488
10
45
 
11
46
  - **Added** a property test for `formatDiagnostics`' `maxItems` accounting. The cap is what stops a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.488",
3
+ "version": "0.4.490",
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.4.488';
96
+ export const VERSION = '0.4.490';