edfcore 0.4.367 → 0.4.368
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.
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/docs/CHANGELOG.md +16 -0
- package/package.json +1 -1
- package/src/constants.ts +1 -1
package/dist/constants.d.ts
CHANGED
|
@@ -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.
|
|
112
|
+
export declare const VERSION = "0.4.368";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
package/docs/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,22 @@ 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.368
|
|
10
|
+
|
|
11
|
+
- **Added** `tests/property/inspect-safety.test.ts`. `inspectEdf` is the triage call and makes the
|
|
12
|
+
strongest promise in the package: `openEdf` and `parseHeader` promise to throw an `EdfError`
|
|
13
|
+
rather than escape the error model, and `fuzz.test.ts` holds them to that over flipped, random
|
|
14
|
+
and truncated bytes — `inspectEdf` promises not to throw about content at all. That promise had
|
|
15
|
+
only ever been tested against fixtures somebody wrote.
|
|
16
|
+
- A promise of the form "never, for any input" is exactly the kind a fixture cannot establish: the
|
|
17
|
+
inputs a person thinks of are the ones already handled, and the four defects fuzzing found during
|
|
18
|
+
development were all of that shape. Random bytes, random bytes behind a valid version block, a
|
|
19
|
+
bit flipped anywhere, and every truncation length exhaustively now go through it.
|
|
20
|
+
- The report is checked as well as the call, because "never returns believable garbage" is the
|
|
21
|
+
fourth clause of the safety invariant and a triage report full of `NaN` would satisfy "did not
|
|
22
|
+
throw" while telling a reader nothing true. Every source is in memory, so nothing can fail except
|
|
23
|
+
on what the bytes say — which makes any rejection a broken promise rather than an ambiguous one.
|
|
24
|
+
|
|
9
25
|
## 0.4.367
|
|
10
26
|
|
|
11
27
|
- **Extended** 0.4.338's interface check to the three structural shims `api-sources.md` prints and
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED