edfcore 0.4.468 → 0.4.469

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.468";
112
+ export declare const VERSION = "0.4.469";
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.468';
82
+ export const VERSION = '0.4.469';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,24 @@ 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.469
10
+
11
+ - **Added** the cases where a 206's `Content-Range` cannot be parsed at all. edfcore checks that
12
+ header against the range it asked for, because `assertExactRead` is a length guard and cannot
13
+ see a right-sized body taken from the wrong offset — but `rangeFromContentRange` returns
14
+ `undefined` for anything outside `bytes <first>-<last>/`, and `undefined` means "no usable
15
+ claim", not "the claim was wrong".
16
+ - Every existing case supplied a well-formed header or none at all, so the two `return undefined`
17
+ lines in the middle had never run. Turning either into a refusal would reject reads that are
18
+ fine, from servers that are behaving within RFC 7233.
19
+ - Four shapes reach them and all four occur: a range unit that is not `bytes`, the unsatisfiable
20
+ `bytes */total` form, a header truncated before the total, and byte positions past 2^53 from a
21
+ proxy in front of an object store that counts in something else. A `FetchLike` double answering
22
+ every header with `null` is the fifth, and is the reason the rule is written this way.
23
+ - The non-vacuous half is asserted on both sides of them: a header that DOES parse and names a
24
+ different part of the resource is still refused, and a short body behind an unreadable header is
25
+ still caught by length. "Unreadable" has not become "unchecked".
26
+
9
27
  ## 0.4.468
10
28
 
11
29
  - **Added** tests for the half of `redactDiagnostic` that had never been asked: what happens to a
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.468",
3
+ "version": "0.4.469",
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.468';
96
+ export const VERSION = '0.4.469';