edfcore 0.4.408 → 0.4.410

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.408";
112
+ export declare const VERSION = "0.4.410";
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.408';
82
+ export const VERSION = '0.4.410';
83
83
  //# sourceMappingURL=constants.js.map
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,42 @@ 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.410
10
+
11
+ - **Added** a check that nothing on the site tells a crawler to stay away. `robots.txt.ts` opens
12
+ with a decision and its reasoning — everything is open to every crawler, including the AI
13
+ training crawlers, because an open-source library wants the opposite of what a publisher
14
+ protecting paid content wants — and that decision was enforced by nothing.
15
+ - Every way of reversing it is a normal-looking edit no reviewer would flag as a policy change: a
16
+ `Disallow:` added during a "block the AI scrapers" tidy-up; `Google-Extended` or
17
+ `Applebot-Extended` added to look thorough, whose only effect is to opt out of model training; a
18
+ `<meta name="robots" content="noindex">` copied from a staging site; an `X-Robots-Tag` in
19
+ `vercel.json`, which overrides the page and the file both. None changes anything a visitor sees.
20
+ - `check-site-output.mjs` reads the built `robots.txt` and checks one thing — that the sitemap it
21
+ names was emitted — and runs in CI only. This is the source-level half, in `npm run check`.
22
+ - The emitted lines are read out of the `body` array rather than the whole file. Scanning the file
23
+ for quoted strings does not work: the docblock is English, and one apostrophe in "a model's
24
+ training data" shifts the pairing for everything after it — which is how a `Disallow` line added
25
+ to the body went unseen while this check was being written.
26
+
27
+ ## 0.4.409
28
+
29
+ - **Added** tests for the start offset a chunk has to derive when it does not begin at record 0.
30
+ A caller following the `decodeAnnotations` example on `api-primitives.md` hands over a record
31
+ range that usually excludes record 0, so record 0's sub-second offset — what every published
32
+ onset is rebased on — has to be derived by subtracting the nominal distance back to it.
33
+ - That subtraction is valid only while the records in between are contiguous, which is what a
34
+ discontinuous file is not. A derived value outside [0, 1) is therefore evidence about the file:
35
+ on one marked EDF+C it means the file is either discontinuous while claiming continuity or its
36
+ onsets drift, and the diagnostic says so instead of rebasing on a number known to be wrong. On an
37
+ EDF+D file the same value implies nothing, so nothing is reported — otherwise `strict` would
38
+ reject every conformant discontinuous recording.
39
+ - A supplied `originTicks` or `startOffsetTicks` outranks the derivation even when it lies outside
40
+ [0, 1), because it came from the timeline rather than from arithmetic across a gap. That is what
41
+ keeps the diagnostic count a property of the file: before 0.3.15 the three internal callers
42
+ re-derived it per chunk, and one file produced 1, 2, 4, 7, 16 or 31 of them purely as a function
43
+ of `maxMaterializeBytes`.
44
+
9
45
  ## 0.4.408
10
46
 
11
47
  - **Added** tests for the refusals in the sample helpers. `sampleAt`, `sampleStartTicksOf` and
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.4.408",
3
+ "version": "0.4.410",
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.408';
96
+ export const VERSION = '0.4.410';