Releases: carbogninalberto/fast-html-to-pdf-api
Releases · carbogninalberto/fast-html-to-pdf-api
v1.2.1
Bug Fixes
- fix(wrapper): clear PDF format when custom width or height is provided
to prevent Puppeteer from ignoring dimensions
Testing
- test(wrapper): add regression tests to ensure PDF format is cleared when
custom dimensions are provided - add(tests): PDF dimension demo script to generate examples with custom
size rendering
Documentation
- docs: expand README with detailed device, render, PDF, image, and video
options for enhanced configuration - docs: update Swagger documentation to reflect API title change, enhance
descriptions, and add new endpoints for health checks and connectivity
tests - docs: update README to include additional features of the SaaS version
- docs: enhance README with detailed features, usage instructions, and
Docker setup
Chores
- chore: update Node.js version to 24 in Dockerfile and CI workflow
v1.2.0
Security
- fix(security): set body limit to 50mb to prevents memory exhaustion from oversized payloads
- fix(security): replace shell cleanup with node fs apis that eliminates command injection
surface - fix(security): sanitize error responses, strips stack traces and internals from
client-facing errors - fix(security): validate locale input
Performance
- fix(performance): parallelize page reset, runs cleanup operations concurrently between
renders - fix(performance): optimize sharp pipeline, reduces unnecessary buffer copies in image
processing - fix(performance): add html capture resource cache, avoids redundant network requests for
repeated resources - fix(performance): fix video double io, eliminates redundant file read/write in video
capture - fix(performance): remove single-process chrome flag
Memory
- fix(memory): free screenshot buffer after sharp init
- fix(memory): aggressive page reset, clears page state more thoroughly to prevent leaks
- fix(memory): add 500mb html capture limit, prevents OOM on large pages
- fix(memory): fix video file orphaning, ensures temp files are cleaned up
- fix(memory): fix video deletion race condition
- fix(memory): reduce capture function params
- fix(memory): lazy-load cookie constants
Scalability
- fix(scalability): dynamic pool sizing, adjusts browser pool based on system resources
- fix(scalability): configurable recycling thresholds, environment variable driven instance
recycling - fix(scalability): block startup until warmup, gates requests until pool is ready
Code Quality
- fix(code): consistent error handling, unified error handling across all render types
- fix(code): handle in-flight requests on shutdown
- fix(code): add shutdown timeout
- fix(code): fix validation error parsing
- fix(code): handle malformed json in get config
- fix(code): extract magic numbers to constants
- fix(code): remove unused cache properties
- fix(config): env-var driven configuration
- fix(code): structured logging with pino
- docs: add comprehensive jsdoc
Refactoring
- refactor(browser-pool): remove dynamic scaling logic and related properties
- refactor(browser-pool): remove shutdown handler and improve promise handling
Testing
- feat(unit tests): add comprehensive unite test suite for rendering and browser pool
functionality - feat(tests): implement end-to-end tests for API rendering and add new test configurations, validates output format correctness via magic bytes (PNG, JPEG, WebP, PDF, MP4)
- feat(ci): add GitHub Actions workflow for unit and end-to-end testing, runs on every push with 95% coverage gate and Docker-based E2E
Dependencies
- chore(deps): update dependencies in package.json and package-lock.json
- chore(deps): add @vitest/coverage-v8 and update package.json scripts for coverage testing
v1.1.0
Full Changelog: v1.0.3...v1.1.0
v1.0.3
Changes
enhance API to support direct HTML content rendering alongside URL rendering
Full Changelog: v1.0.2...v1.0.3
v1.0.2
Changes
Solved an issue on disk space utilization.
Details
Chrome creates temporary files (.com.google.Chrome.*) that accumulate
in /tmp during Puppeteer operations. These files can consume significant
disk space over time, potentially causing:
- Disk space exhaustion
- Application crashes
- Performance degradation
Full Changelog: v1.0.1...v1.0.2
v1.0.1
Full Changelog: v1.0.0...v1.0.1
v1.0.0
Full Changelog: v0.0.1...v1.0.0
v0.0.1
Full Changelog: v0.0.0...v0.0.1
Fixed custom headers settings
Fixed Dockerfile