changelog.md for @push.rocks/smartpdf 2026-03-09 - 4.2.0 - feat(smartpdf) replace internal Express server with @push.rocks/smartserve, add PDF→WebP rendering, improve start/stop handling and bump dependencies Replace internal Express HTTP implementation with @push.rocks/smartserve and update README wording to reflect HTTP server usage Add PDF→WebP rendering: use pdf.js in-page rendering, capture canvases via Puppeteer to produce WebP buffers; added robust wait/timeout and error handling Add start/stop guards: _isRunning flag, reset readiness Deferred on start, and throw if start called while running Remove direct http/express exports from plugins and stop exporting express; export smartserve from plugins Improve JPEG conversion to produce progressive JPEGs via SmartJimp (sharp mode) Bump dependencies/devDependencies: @push.rocks/smartfs to ^1.5.0, add @push.rocks/smartserve ^2.0.1; devDeps @git.zone/tsbuild ^4.3.0, @git.zone/tstest ^3.3.0, @types/node ^25.3.5 2026-03-01 - 4.1.3 - fix(tests) use example.com in image conversion test and relax JPEG size assertion Replaced https://www.wikipedia.org with https://example.com in test/test.ts for the third PDF generation test Removed the strict expectation that JPEG size must be smaller than PNG; now only asserts that WebP is smaller than PNG Updated test comment to note that JPEG may not be smaller for simple graphics pages 2026-03-01 - 4.1.2 - fix(smartfs) replace smartfile with smartfs, update file reading to use SmartFs, remove GraphicsMagick/Ghostscript dependency checks, bump dev and runtime dependencies, update tests and docs, and adjust npmextra configuration Replace usage/export of @push.rocks/smartfile with @push.rocks/smartfs and update readFileToPdfObject to use SmartFs + SmartFsProviderNode Remove execFile import and the GraphicsMagick/Ghostscript dependency-checking helpers from smartpdf (no more gm/gs checks) Bump devDependencies: @git.zone/tsbuild ^4.1.2, @git.zone/tsdoc ^1.12.0, @git.zone/tsrun ^2.0.1, @git.zone/tstest ^3.1.8, @types/node ^25.3.2 Bump runtime dependencies: @push.rocks/smartfs ^1.3.1, @push.rocks/smartnetwork ^4.4.0, @tsclass/tsclass ^9.3.0, @types/express ^5.0.6, express ^5.2.1, pdf2json ^4.0.2 Tests updated: switched example URLs to example.com, added a third PDF generation test that writes .nogit/3.pdf, and exported tap.start() as default npmextra.json reorganized to namespaced keys, added release.registries and accessLevel, and adjusted tsdoc/legal entries Documentation/readme refreshed: added issue reporting/security section, feature table, and various wording/formatting updates 2025-08-02 - 4.1.0 - feat(smartpdf) Add progressive JPEG generation support Added new convertPDFToJpegBytes method for progressive JPEG generation Integrated @push.rocks/smartjimp for true progressive JPEG encoding Progressive JPEGs load in multiple passes, showing low-quality preview first Supports quality and scale options like other image generation methods Updated readme with comprehensive documentation and modern styling Updated legal section to reflect Task Venture Capital GmbH ownership 2025-08-02 - 4.0.0 - BREAKING CHANGE(smartpdf) Improve image generation quality and API consistency BREAKING: Renamed convertPDFToWebpPreviews to convertPDFToWebpBytes for API consistency Added configurable scale options to convertPDFToPngBytes method Changed default scale from 1.0 to 3.0 for PNG generation (216 DPI) Changed default scale from 0.5 to 3.0 for WebP generation (216 DPI) Added DPI helper methods: getScaleForDPI() and scale constants (SCALE_SCREEN, SCALE_HIGH, SCALE_PRINT) Added maxWidth/maxHeight constraints for both PNG and WebP generation Improved test file organization with clear naming conventions Updated documentation with DPI/scale guidance and examples 2025-08-01 - 3.3.0 - feat(smartpdf) Add automatic port allocation and multi-instance support Added ISmartPdfOptions interface with port configuration options Implemented automatic port allocation between 20000-30000 by default Added support for custom port ranges via portRangeStart/portRangeEnd options Added support for specific port assignment via port option Fixed resource cleanup when port allocation fails Multiple SmartPdf instances can now run simultaneously without port conflicts Updated readme with comprehensive documentation for all features 2025-02-25 - 3.2.2 - fix(SmartPdf) Fix buffer handling for PDF conversion and text extraction Ensure Uint8Array is converted to Node Buffer for PDF conversion. Correct the PDF page viewport handling by using document dimensions. Fix extractTextFromPdfBuffer argument type from Uint8Array to Buffer. 2025-02-25 - 3.2.1 - fix(SmartPdf) Fix type for extractTextFromPdfBuffer function Corrected the parameter type from Buffer to Uint8Array for extractTextFromPdfBuffer function. 2025-02-25 - 3.2.0 - feat(smartpdf) Improve dependency versions and optimize PDF to PNG conversion. Update several dependencies to newer versions for better stability and performance. Refactor tests to enhance readability and add directory creation validations. Optimize PDF to PNG conversion by switching to a more efficient Puppeteer and PDF.js-based method. Add checks for presence of required dependencies (GraphicsMagick and Ghostscript). Fix media emulation issue by properly awaiting the emulateMediaType function. 2024-11-30 - 3.1.8 - fix(core) Fix candidate handling in PDF generation Added error handling for missing PDF candidates in server requests. Updated devDependencies and dependencies to latest versions for better stability and new features. Patched header retrieval logic during PDF generation for security check. 2024-09-27 - 3.1.7 - fix(dependencies) Update dependencies to latest versions Updated @git.zone/tsbuild to version ^2.1.84 Updated @git.zone/tsdoc to version ^1.3.12 Updated @git.zone/tsrun to version ^1.2.49 Updated @push.rocks/tapbundle to version ^5.3.0 Updated @types/node to version ^22.7.4 Updated @push.rocks/smartfile to version ^11.0.21 Updated @push.rocks/smartpromise to version ^4.0.4 Updated @tsclass/tsclass to version ^4.1.2 Updated express to version ^4.21.0 Updated pdf2pic to version ^3.1.3 2024-05-29 - 3.1.6 - Core Updated description Minor changes to documentation and internal text. 2024-04-25 to 2024-04-30 - 3.1.0 to 3.1.5 - Core Fix updates in core functionality Fixes and updates in core function in versions 3.1.0 to 3.1.5. 2024-04-25 - 3.0.17 - Feature Now supports PDF to JPG conversion Added support for converting PDF files to JPG format. 2024-03-19 to 2024-04-14 - 3.0.17 - Maintenance Various updates to project configuration files Updated tsconfig. Updated npmextra.json. 2023-07-11 to 2024-03-19 - 3.0.15 to 3.0.16 - Organization Switch to new organization scheme and core updates Switched to new organization scheme. Applied core updates and bug fixes. 2022-11-07 to 2023-07-10 - 3.0.13 to 3.0.14 - Core Fixes and updates to core functionality Various minor bug fixes and updates to core components. 2022-09-13 to 2022-11-07 - 3.0.10 to 3.0.12 - Core Ongoing core updates and maintenance Regular fixes and operational improvements in core functionalities. 2022-06-12 to 2022-09-13 - 3.0.7 to 3.0.9 - Core Continued focus on high-priority bug fixes and core functionalities Regular fixes for critical bugs and enhancements. 2022-03-24 to 2022-06-29 - 3.0.3 to 3.0.6 - Core Further optimization and maintenance releases Further improvements and refinements of issues in core functionalities. 2022-01-05 to 2022-03-25 - 3.0.0 to 3.0.2 - Major Version Release Major release for version 3.0.x, including core fixes Increased version from 2.x to 3.0. New significant changes and fixes. 2022-01-05 to 2022-03-24 - 2.0.13 to 2.0.19 - Core Routine core updates and bug fixes Regular bug fixes in core components. 2019-11-19 to 2022-01-06 - 2.0.0 to 2.0.11 - Core Multiple core updates and a few performance improvements Some performance enhancements and multiple bug fixes. 2019-11-16 to 2019-11-19 - 1.0.27 to 1.0.29 - API Breaking change in API Naming PDF results to better represent their content. 2019-05-29 to 2019-11-15 - 1.0.13 to 1.0.26 - Core Core functional updates and some major restructuring Introduced multiple updates to the core, addressing bugs and improving stability. 2019-04-10 to 2019-05-28 - 1.0.4 to 1.0.12 - Core Fixes and updates in the core Implementation of multiple essential fixes for core components. 2018-10-06 - 1.0.1 to 1.0.3 - Core and Typings Initial implementation and core fixes Initial implementation of the project. Fixed compilation problems in typings. 2016-01-29 - unknown - Initial Initial commit Initial commit for the project setup.