edfcore 0.4.506 → 0.4.508

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.506";
112
+ export declare const VERSION = "0.4.508";
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.506';
82
+ export const VERSION = '0.4.508';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,38 @@ 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.508
10
+
11
+ - **Added** an enforcement of the `grid` prefix rule. `migrating-to-0-3.md` explains why three
12
+ functions were renamed in a minor release, counts the cost — seven separate fixes for one defect,
13
+ each found because two functions disagreed rather than because one looked wrong — and ends with a
14
+ naming rule: "you cannot call `gridSampleStartSeconds` and believe you asked for elapsed
15
+ recording time."
16
+ - A rule that a rename established and nothing enforces lasts until the next function is added, and
17
+ the next function is the one that would ship the eighth. It is now checked from both sides: every
18
+ export of the grid module carries the prefix, and no export of the recording-aware module does.
19
+ The prefix is only a signal if it is exclusive.
20
+ - The reason for the split is asserted rather than described. On the page's own file — a
21
+ seven-second hole after record 2 — the twelfth sample is at 3 s on the grid and at 10 s in the
22
+ recording, and on a contiguous file the two calls give the same answer. That collapse is exactly
23
+ why the difference was easy to miss, so it is stated as a test rather than left as a remark.
24
+
25
+ ## 0.4.507
26
+
27
+ - **Added** a property test that `readWindow` and `readRecords` agree. They are the two selections
28
+ the API offers — name a time, or name records — and on a contiguous file a window landing on
29
+ record boundaries selects exactly the records a caller would have named, so the two must produce
30
+ the same bytes, sample counts, start and `byteOffset`. Nothing compared them.
31
+ - That is the failure this project has hit repeatedly and names in `whole-api.test.ts`: "a function
32
+ can be individually correct and still disagree with its neighbour — six releases of this project
33
+ were exactly that". Each call had its own tests; the pair had none.
34
+ - The window is derived from the records rather than typed, over arbitrary starts and counts and
35
+ three geometries, two of them with a record duration that is not a whole number of seconds.
36
+ `readWindow` resolves through `resolveTimeWindow` and `readRecords` does not, so the two reach
37
+ the same range by different arithmetic — which is the only reason comparing them means anything.
38
+ - The limit is asserted too: half a record in, the window is no longer aligned and `readWindow`
39
+ returns both records, because a record is the unit the file can be read by.
40
+
9
41
  ## 0.4.506
10
42
 
11
43
  - **Added** the four-row cost table on `validation.md`, and the claim it exists to support:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.506",
3
+ "version": "0.4.508",
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.506';
96
+ export const VERSION = '0.4.508';