edfcore 0.4.512 → 0.4.513

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.512";
112
+ export declare const VERSION = "0.4.513";
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.512';
82
+ export const VERSION = '0.4.513';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,25 @@ 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.513
10
+
11
+ - **Added** a bounds check on the evidence a diagnostic points at: the byte range is inside the
12
+ file, the signal index names a signal, and the record index is inside the records that were
13
+ read. 0.4.510 checks that `raw` matches the bytes at the offset, which settles the offset for
14
+ every diagnostic carrying text to compare. `PARTIAL_FINAL_RECORD` and `TRAILING_BYTES` carry
15
+ none — they point at samples, and quoting samples as text says nothing — so nothing reached
16
+ their offsets at all beyond three hand-picked sizes.
17
+ - An offset past the end of the file is not a crash. `subarray` clamps, so an evidence block
18
+ renders short or empty and the reader concludes the bytes were empty. Both codes are now checked
19
+ across a range of truncations and appends, including one byte and one byte short of a whole
20
+ record, and both are asserted to end exactly at the end of the file — which is what "the rest of
21
+ the file after the last whole record" means.
22
+ - The TAL side is read from record 2 rather than record 0. A TAL diagnostic reports
23
+ `records.start + position` while its buffer offset uses `position` alone, and on a read starting
24
+ at record 0 those are the same number — which is what almost every fixture does, so the one
25
+ arithmetic that can confuse a file position with a buffer position was exercised only where the
26
+ two agree.
27
+
9
28
  ## 0.4.512
10
29
 
11
30
  - **Added** a read behind each of the four header-recovery diagnostics. When the header's numbers
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.512",
3
+ "version": "0.4.513",
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.512';
96
+ export const VERSION = '0.4.513';