fullbleed 0.1.3 → 0.1.4

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/README.md CHANGED
@@ -4,10 +4,11 @@ Generate PDFs from static HTML and CSS in Node.js. The package includes the
4
4
  Fullbleed Rust engine compiled to WebAssembly and four font faces, so installing
5
5
  it does not require Python, Rust, a browser, or system fonts. MIT licensed.
6
6
 
7
- This is an optional integration around the unchanged **Fullbleed 2.5.6** engine.
8
- The Node package has its own version, **0.1.3**. Render promises now wait for their
9
- worker to exit, including after errors, timeouts, and cancellation, so sequential
10
- calls do not overlap worker lifetimes.
7
+ This is an optional integration around the published **Fullbleed 2.5.7** engine.
8
+ The Node package has its own version, **0.1.4**. This release reduces embedded
9
+ font metadata while preserving the retained glyph outlines, metrics, and font
10
+ notices. See the [installed-package font checks](docs/font-subsets.md) for the
11
+ fixtures and verification commands.
11
12
 
12
13
  ## Install and render
13
14
 
@@ -17,9 +18,9 @@ Use Node.js 22 or newer. Install the [npm package](https://www.npmjs.com/package
17
18
  npm install fullbleed
18
19
  ```
19
20
 
20
- For a version-pinned installation, use `npm install --save-exact fullbleed@0.1.3`.
21
+ For a version-pinned installation, use `npm install --save-exact fullbleed@0.1.4`.
21
22
  The npm tarball is byte-identical to the verified
22
- [GitHub release](https://github.com/fullbleed-engine/fullbleed-node/releases/tag/v0.1.3).
23
+ [GitHub release](https://github.com/fullbleed-engine/fullbleed-node/releases/tag/v0.1.4).
23
24
  See the [installation verification records](https://github.com/fullbleed-engine/fullbleed-node/tree/main/verification).
24
25
 
25
26
  Save this as `invoice.mjs` and run `node invoice.mjs`:
@@ -164,8 +165,8 @@ arbitrary browser pages.
164
165
  ## Build and verify from source
165
166
 
166
167
  Contributors need Node.js 22+ and Rust 1.97.0 with the WASI target. The independent
167
- PDF text check also uses Python with the test-only `pypdf==6.19.0` reader. Package
168
- users do not need a compiler or Python. Dependencies are pinned in both lockfiles.
168
+ PDF checks also use Python with the test-only readers listed below. Package users
169
+ do not need a compiler or Python. Dependencies are pinned in both lockfiles.
169
170
 
170
171
  ```bash
171
172
  rustup target add wasm32-wasip1
@@ -175,8 +176,10 @@ npm test
175
176
  npm run check:types
176
177
  npm run verify:native
177
178
  npm run verify:pack
178
- python -m pip install pypdf==6.19.0
179
+ python -m pip install pypdf==6.19.0 pypdfium2==5.14.0 fonttools==4.65.0 pillow==12.3.0
179
180
  npm run verify:text
181
+ npm run render:fonts
182
+ npm run verify:fonts
180
183
  ```
181
184
 
182
185
  The build records engine metadata, licenses, and artifact hashes in `dist/`.
@@ -185,6 +188,16 @@ fonts, and image assets; compares native and WebAssembly PDF/PNG bytes; checks
185
188
  error recovery; and installs the packed tarball into a separate directory with
186
189
  spaces in its path. CI exercises Node 22, 24, and 26 on Windows, Linux, and macOS.
187
190
  Retained release evidence describes the verified fixtures and scope.
191
+ The font check reads PDFs from the isolated tarball installation, checks the
192
+ embedded TrueType programs against their source fonts, and compares two
193
+ independent text readers. CI also compares text and native/PDFium pixels with
194
+ the previous public npm release.
195
+
196
+ An intermittent process crash observed on Linux with Node 24.21.0 remains under
197
+ investigation in [issue #7](https://github.com/fullbleed-engine/fullbleed-node/issues/7).
198
+ Version 0.1.3 fixes worker shutdown timing, but does not establish that this crash
199
+ is resolved. See the [runtime investigation and diagnostic](docs/runtime-diagnostics.md)
200
+ for the observed scope, retained results, and a synthetic reproducer.
188
201
 
189
202
  ## License and support
190
203
 
@@ -1,4 +1,4 @@
1
- fullbleed 2.5.6 / LICENSE
1
+ fullbleed 2.5.7 / LICENSE
2
2
 
3
3
  MIT License
4
4
 
@@ -23,7 +23,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
23
  SOFTWARE.
24
24
 
25
25
 
26
- fullbleed 2.5.6 / THIRD_PARTY_LICENSES.md
26
+ fullbleed 2.5.7 / THIRD_PARTY_LICENSES.md
27
27
 
28
28
  <!-- SPDX-License-Identifier: MIT -->
29
29
  # Third-Party Licenses
package/dist/build.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
- "packageVersion": "0.1.3",
3
- "engineVersion": "2.5.6",
4
- "engineSource": "https://crates.io/crates/fullbleed/2.5.6",
2
+ "packageVersion": "0.1.4",
3
+ "engineVersion": "2.5.7",
4
+ "engineSource": "https://crates.io/crates/fullbleed/2.5.7",
5
5
  "target": "wasm32-wasip1",
6
6
  "memoryMaximumBytes": 536870912,
7
7
  "fonts": [
@@ -13,7 +13,7 @@
13
13
  "dependencies": [
14
14
  {
15
15
  "name": "fullbleed",
16
- "version": "2.5.6",
16
+ "version": "2.5.7",
17
17
  "source": "registry+https://github.com/rust-lang/crates.io-index",
18
18
  "license": "MIT"
19
19
  },
@@ -44,12 +44,12 @@
44
44
  ],
45
45
  "files": {
46
46
  "dist/engine.wasm": {
47
- "bytes": 5053312,
48
- "sha256": "20bc142538c5acf826b162531ed57541d410b033e3666a827934b89ef2fc84cb"
47
+ "bytes": 5064368,
48
+ "sha256": "3b5b0200268264b947f7b5bdc658a2d32d9fd160b8652f0ee6834e5296db9abb"
49
49
  },
50
50
  "dist/THIRD_PARTY_NOTICES.txt": {
51
51
  "bytes": 57660,
52
- "sha256": "4a945a683c5f4be6a4c74b59f45aa1f5e6627022a80addddb6eaf68ed3916d9f"
52
+ "sha256": "90c2828609b2a61323dfd97564a023123e38e1df7c9e9a9db0a29bb12aad1438"
53
53
  },
54
54
  "assets/fonts/BebasNeue-OFL.txt": {
55
55
  "bytes": 4337,
package/dist/engine.wasm CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fullbleed",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "Generate PDFs from HTML and CSS in Node.js with the Fullbleed Rust engine, bundled fonts, and optional PNG previews.",
5
5
  "type": "module",
6
6
  "main": "./src/index.cjs",
@@ -35,7 +35,9 @@
35
35
  "verify:native": "node tools/verify-native.mjs",
36
36
  "example": "node examples/invoice.mjs",
37
37
  "verify:pack": "node tools/verify-pack.mjs",
38
- "verify:text": "python tools/verify-installed-text.py"
38
+ "verify:text": "python tools/verify-installed-text.py",
39
+ "render:fonts": "node tools/render-font-subsets.mjs",
40
+ "verify:fonts": "python tools/verify-font-subsets.py"
39
41
  },
40
42
  "dependencies": {
41
43
  "@bjorn3/browser_wasi_shim": "0.4.2"
@@ -63,7 +65,7 @@
63
65
  "access": "public"
64
66
  },
65
67
  "fullbleed": {
66
- "engineVersion": "2.5.6"
68
+ "engineVersion": "2.5.7"
67
69
  },
68
70
  "devDependencies": {
69
71
  "@types/node": "22.20.5",