Skip to content

Releases: studioframes/condense

v1.0.3

Choose a tag to compare

@studioframes studioframes released this 11 Sep 14:52
Immutable release. Only release title and notes can be modified.

DevDependencies

  • f3b6085 Update @types/node from 26.4.0 to 26.5.0
  • 4e4afa5 Update eslint from 10.9.0 to 10.10.0

v1.0.2

Choose a tag to compare

@studioframes studioframes released this 06 Sep 08:25
Immutable release. Only release title and notes can be modified.

Dependencies

  • b91b98a Update sharp from 0.35.3 to 0.35.4
  • a97f65d Update terser from 5.50.0 to 5.51.2
  • bbb199e Update js-yaml from 5.4.0 to 5.4.1
  • be3a9a6 Update multer from 2.2.0 to 2.3.0
  • 76f9742 Update qs from 6.15.3 to 6.16.0

DevDependencies

  • 2324d3f Update @types/node from 26.3.0 to 26.4.0

v0.3.18

Choose a tag to compare

@studioframes studioframes released this 31 Aug 15:14
Immutable release. Only release title and notes can be modified.
fa213ff

Dependencies

  • f7e5a93 Update js-yaml from 5.3.0 to 5.4.0
  • f7e5a93 Update svgo from 4.0.2 to 4.1.0

DevDependencies

  • f7e5a93 Update @types/node from 26.2.0 to 26.3.0

v1.0.1

Choose a tag to compare

@studioframes studioframes released this 30 Aug 08:40
Immutable release. Only release title and notes can be modified.

Fixes & Security

  • 39bd252 PDF Stream Scanning ReDoS Mitigation (pdfService): Replaced polynomial backtracking regular expression (stream...endstream) on uncontrolled binary stream data with an $O(N)$ linear-time index scanner (findPdfStreams) to eliminate Denial of Service risks on malicious or malformed streams (CodeQL #12).
  • 39bd252 PDF XMP Packet Parser ReDoS Mitigation (pdfService): Replaced regular expression extraction of XML metadata packets (<?xpacket ... ?>) with a non-backtracking linear scanner (stripXmpPackets) preventing polynomial execution on adversarial repeated prefixes (CodeQL #11).
  • e59b3d3 SVG Inner Markup Comment Sanitization (svgSpriteService): Implemented recursive iterative sanitization loop when stripping XML declarations, DOCTYPEs, and comments (<!-- ... -->) to resolve incomplete multi-character sanitization and prevent nested comment element injection (CodeQL #13).

Dependencies

  • 88722ca Update js-yaml from 5.3.0 to 5.4.0
  • 264a3e3 Update svgo from 4.0.2 to 4.1.0

DevDependencies

  • 1002531 Update @types/node from 26.2.0 to 26.3.0

v1.0.0

Choose a tag to compare

@studioframes studioframes released this 26 Aug 16:16

Added

  • bcd7182 Perceptual Image Compression (optimizePerceptualImage): Binary search quality tuner guided by Structural Similarity Index (SSIM) and Peak Signal-to-Noise Ratio (PSNR) metrics to maximize file size reduction while mathematically preserving perceptual fidelity above target thresholds.
  • bcd7182 Responsive Image Matrix (generateResponsiveMatrix): Multi-breakpoint responsive image set generator outputting WebP and AVIF variants along with optimized HTML5 <picture> markup.
  • bcd7182 Cross-Document Token Mangling (mangleTokens): Coordinated shortening of HTML class names and IDs across interconnected HTML, CSS, and JS files to save network payload size while maintaining selector integrity.
  • bcd7182 In-Memory SVG Spritesheet Packing (packSvgSprites): Bundles individual SVG icons into clean, consolidated <svg><defs><symbol> spritesheets with preserved viewBox coordinates.
  • bcd7182 In-Memory ZIP / Archive Optimizer (optimizeZip): Pure in-memory ZIP decompression, parallel recursive asset optimization (images, code, fonts, binaries), and repacking with maximum DEFLATE compression using fflate.
  • bcd7182 SFNT & WOFF Font Table Stripper (optimizeFont): Strips non-essential metadata tables (DSIG, hdmx, LTSH, PCLT) from OpenType/TrueType binaries with automatic table directory recalculation.
  • bcd7182 In-Memory PDF Optimizer (optimizePdf): In-memory PDF minification stripping comments, XML metadata packets, and recompresses text/stream objects.
  • bcd7182 Fluent Chainable Pipeline API (createPipeline): Builder pattern API (.preset(), .resize(), .perceptual(), .toBuffer(), .toStream()) for composing multi-step optimization flows.
  • bcd7182 Multi-Threaded Worker Pool (WorkerPool, getWorkerPool): Background thread pool leveraging Node.js worker_threads for non-blocking parallel optimization with seamless fallback for single-threaded environments.
  • bcd7182 Preset Engine (presetService): Built-in production presets (web-hero, avatar-thumbnail, production-bundle, ultra-archive, email-safe, social-share) with custom preset registration support.
  • bcd7182 Enterprise Telemetry & ROI Tracking (telemetryService): Real-time tracking of processed files, bytes saved, estimated financial cost savings ($USD), and carbon reduction ($\text{gCO}_2$).

Changed

  • bcd7182 Promoted all public APIs to stable Semantic Versioning 1.0.0.
  • bcd7182 Decoupled and expanded the public SDK entry point (src/index.js) and TypeScript declarations.
  • bcd7182 Updated documentation, examples, and CLI commands for all new capabilities.

v0.3.17

Choose a tag to compare

@studioframes studioframes released this 26 Aug 10:57

DevDependencies

  • 2ca7d6e Update eslint from 10.8.1 to 10.9.0

v0.3.16

Choose a tag to compare

@studioframes studioframes released this 21 Aug 15:18

Dependencies

  • 56c5fd4 Update terser from 0.49.2 to 0.50.0
  • 1b3e6b3 Update js-yaml from 5.2.3 to 5.3.0

v0.3.15

Choose a tag to compare

@studioframes studioframes released this 14 Aug 17:54

Dependencies

  • f9164e3 Update esbuild from 0.28.1 to 0.28.2

v0.3.14

Choose a tag to compare

@studioframes studioframes released this 11 Aug 13:07

Dependencies

  • e0545ca Update terser from 5.49.1 to 5.49.2

DevDependencies

  • d4bc664 Update eslint from 10.8.0 to 10.8.1
  • 2c8e067 Update @types/node from 26.1.2 to 26.1.1

v0.3.13

Choose a tag to compare

@studioframes studioframes released this 07 Aug 17:42

Dependencies

  • a2a1f16 Update terser from 5.49.0 to 5.49.1