edfcore 0.4.367 → 0.4.369
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 +33 -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.369";
|
|
113
113
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.js
CHANGED
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.369
|
|
10
|
+
|
|
11
|
+
- **Added** a check over what a `ValidationReport` promises on `validation.md`. `ok` is the field a
|
|
12
|
+
caller branches on and means less than it looks like — exactly "no diagnostic has severity
|
|
13
|
+
`error`", not a claim that the file is conformant, and a false `ok` not a claim it is unreadable.
|
|
14
|
+
The four codes the page says survive to a report at that severity are checked to be the only ones
|
|
15
|
+
that do, on a file where one signal has no scale and the other is fine.
|
|
16
|
+
- The sentence pinned hardest is the one about what cannot appear: no always-fatal code reaches a
|
|
17
|
+
report, because a file carrying one cannot be opened, and a report about such a file would be
|
|
18
|
+
incoherent rather than merely wrong. The single exception is asserted from the other side —
|
|
19
|
+
`TIMELINE_NOT_MONOTONIC` makes the sweep reject.
|
|
20
|
+
- `signalStats` has a shape a caller indexes by: one entry per data signal in `dataSignalIndices`
|
|
21
|
+
order, with annotation channels excluded because their bytes are text, so an off-by-one gives
|
|
22
|
+
every channel its neighbour's statistics. And a signal with no samples reports zeroes rather than
|
|
23
|
+
infinities — `-Infinity` is what an unseeded reduce produces, and it is a number a caller would
|
|
24
|
+
plot.
|
|
25
|
+
|
|
26
|
+
## 0.4.368
|
|
27
|
+
|
|
28
|
+
- **Added** `tests/property/inspect-safety.test.ts`. `inspectEdf` is the triage call and makes the
|
|
29
|
+
strongest promise in the package: `openEdf` and `parseHeader` promise to throw an `EdfError`
|
|
30
|
+
rather than escape the error model, and `fuzz.test.ts` holds them to that over flipped, random
|
|
31
|
+
and truncated bytes — `inspectEdf` promises not to throw about content at all. That promise had
|
|
32
|
+
only ever been tested against fixtures somebody wrote.
|
|
33
|
+
- A promise of the form "never, for any input" is exactly the kind a fixture cannot establish: the
|
|
34
|
+
inputs a person thinks of are the ones already handled, and the four defects fuzzing found during
|
|
35
|
+
development were all of that shape. Random bytes, random bytes behind a valid version block, a
|
|
36
|
+
bit flipped anywhere, and every truncation length exhaustively now go through it.
|
|
37
|
+
- The report is checked as well as the call, because "never returns believable garbage" is the
|
|
38
|
+
fourth clause of the safety invariant and a triage report full of `NaN` would satisfy "did not
|
|
39
|
+
throw" while telling a reader nothing true. Every source is in memory, so nothing can fail except
|
|
40
|
+
on what the bytes say — which makes any rejection a broken promise rather than an ambiguous one.
|
|
41
|
+
|
|
9
42
|
## 0.4.367
|
|
10
43
|
|
|
11
44
|
- **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