edfcore 0.4.433 → 0.4.435

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.433";
112
+ export declare const VERSION = "0.4.435";
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.433';
82
+ export const VERSION = '0.4.435';
83
83
  //# sourceMappingURL=constants.js.map
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.435
10
+
11
+ - **Added** a check that the announce script cuts one release and that a dry run cuts none.
12
+ `npm run announce` is the last step of every batch and the only command here that writes to
13
+ GitHub. Everything else — the bump, the commit, the tag, the publish — is either reversible or
14
+ gated by `npm run check`. A release is neither: it is public the moment it exists, it notifies
15
+ watchers, and a second one over the same range is not something anyone undoes quietly.
16
+ - Three properties keep that safe and none was checked. Exactly one mutating call, because one
17
+ release per version is precisely what this script replaced and a per-version loop reintroduced by
18
+ someone would look like a fix. A dry run that exits rather than falling through, or the flag
19
+ people use to preview a batch would announce it. And a refusal to announce past a tag with no
20
+ changelog entry, because the notes *are* the changelog entries — a missing one produces a release
21
+ whose body skips a version, in the one artefact a reader trusts to be complete.
22
+ - The title is pinned too: `edfcore <first>–<last>` with an en dash, dropping the range for a
23
+ single version, cut on the newest tag so it points at the code the range ends with. A small thing
24
+ to get wrong and a permanent one, since release titles are what the release list looks like
25
+ forever.
26
+
27
+ ## 0.4.434
28
+
29
+ - **Added** a check that asking a source for nothing costs nothing, in every adapter. A zero-length
30
+ read is what a caller gets from `end - start` when a window selects no samples, from a range
31
+ computed off a record count that turned out to be zero, or from a loop whose last iteration has
32
+ nothing left to take. `assertReadRange` allows it, so every adapter has to decide what to do with
33
+ it, and each decides separately.
34
+ - The wrong answers are quiet ones. Handing the request to the transport gets a `bytes=100--1`
35
+ range no server will honour, or a `Blob.slice(100, 100)` and a promise allocated for nothing.
36
+ Neither is an error a caller could act on, and both are about a request nobody meant to make.
37
+ - All five adapters are checked in one table rather than one at a time, because the contract is
38
+ about `ByteSource` and an adapter added later inherits it. The offset still has to be real:
39
+ `offset === byteLength` is legal, since that is where a read of nothing sits at the end of a
40
+ file, and past it the offset is outside the source whether or not any bytes would have been read.
41
+
9
42
  ## 0.4.433
10
43
 
11
44
  - **Added** tests for what a conformant header is allowed to say. `validateHeader` raises three
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.433",
3
+ "version": "0.4.435",
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.433';
96
+ export const VERSION = '0.4.435';