edfcore 0.4.485 → 0.4.487

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.485";
112
+ export declare const VERSION = "0.4.487";
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.485';
82
+ export const VERSION = '0.4.487';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,39 @@ 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.487
10
+
11
+ - **Set** the suite's test timeout explicitly, at thirty seconds, with the reasoning in the config.
12
+ vitest's default is five, which nobody here chose, and no test in this suite uses the clock as an
13
+ assertion — the cost tests count READS and BYTES, which is what makes them stable. The only job
14
+ a timeout has here is stopping an infinite loop from taking the run with it.
15
+ - Five seconds is too tight for that job. Several tests build multi-megabyte fixtures and the
16
+ heaviest ordinary case runs in about a second, so the default left under six times its own cost
17
+ as headroom — and a run under `--coverage` is several times slower, which is where the failures
18
+ appeared: two in `read-pattern.test.ts` and one in `envelope.test.ts`, all three passing on the
19
+ same commit without instrumentation. A full coverage run of the suite now passes where it failed
20
+ before this change.
21
+ - A timeout that fires on correct work teaches the reader to rerun rather than to read, which is
22
+ the opposite of what a red test is for.
23
+ - Thirty seconds is thirty times the slowest ordinary test and still fails a genuine hang well
24
+ inside a minute. The files needing longer still say so themselves, and 0.4.484's `beforeAll` is
25
+ unaffected: moving a file-level cost out of an arbitrary test body is right whatever the budget
26
+ is.
27
+
28
+ ## 0.4.486
29
+
30
+ - **Added** tests for the sentence the repeat counter turns into. `parseTalRegion` collapses many
31
+ occurrences of one defect into a single issue carrying a count, and `grammar.test.ts` pins the
32
+ counter thoroughly — but nothing checked whether the clause `reportIssue` builds from it appears
33
+ when it should and stays away when it should not.
34
+ - Relaxing that guard puts "(1 occurrences in this region; the first is described)" on the
35
+ ordinary case. Ungrammatical, and worse than ungrammatical: it tells a reader looking at a
36
+ single bad TAL that there are others they cannot see. The same defect 0.4.421 fixed on the
37
+ validation report's first line — a count rendered without asking whether it needed rendering.
38
+ - Both directions and the threshold: one occurrence carries no count, two says two, three says
39
+ three, and the bytes quoted are the FIRST offender's, which is what the clause promises. The
40
+ two-occurrence case is what stops a guard reading `> 2` passing everything else.
41
+
9
42
  ## 0.4.485
10
43
 
11
44
  - **Added** the edge cases for the sub-second start offset, which is documented as `[0, 1)` and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.485",
3
+ "version": "0.4.487",
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.485';
96
+ export const VERSION = '0.4.487';