Pulp Engine Document Rendering
Get started
Release v0.44.1

Pulp Engine v0.44.1 — Release Notes

Patch release. Fixes a post-destroy ENOENT unhandled exception in the onSend SVG-block hook introduced in v0.44.0. No behaviour change for production deployments.


What changed

Fix: unhandled ENOENT in public-mode SVG block hook (apps/api/src/server.ts)

The onSend hook that blocks legacy SVG assets in public filesystem mode called payload.destroy() to release the file descriptor. The send package (used internally by @fastify/static) opens files lazily — the fs.open() call may still be in flight when destroy() is called. If the temp directory is removed before fs.open() completes (as in the asset-access-mode.test.ts teardown), the open callback fires with ENOENT and propagates as an unhandled exception, causing vitest to exit with code 1 even though all 559 tests passed.

Fix: attach an 'error' listener to the stream before calling destroy() so the post-destroy error is silently suppressed:

stream.on?.('error', () => {})
stream.destroy()

This resolves the test-file-mode CI job failure introduced by v0.44.0 and unblocks the release.yml Docker and GitHub Release pipeline.


Validation

  • pnpm --filter @pulp-engine/api test:file — 559 passed, 48 skipped, 0 errors (Unhandled Errors section absent)
  • pnpm lint — 0 errors
  • pnpm build — clean

Upgrade

No breaking changes. No env var changes. No schema changes. Drop-in replacement for v0.44.0.

docker pull ghcr.io/OWNER/pulp-engine:v0.44.1