Skip to content

chore: release#1

Merged
teneburu merged 1 commit into
mainfrom
changeset-release/main
Jul 16, 2026
Merged

chore: release#1
teneburu merged 1 commit into
mainfrom
changeset-release/main

Conversation

@teneburu

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@cyb3rcore/sharpify@0.2.0

Minor Changes

  • ae55e9d: Initial release of @cyb3rcore/sharpify — a Fastify plugin for on-the-fly image transformation with sharp.

    Commits included:

    • aa94c26 — chore: scaffold project structure
    • 97181e5 — feat: add type definitions (SharpifyOptions, NormalizedParams, FormatResult)
    • 2546b47 — feat: add param parsing with security caps (parseParams, normalizeParams)
    • 9f183ea — feat: add format negotiation with Accept header (negotiateFormat, getFormatOptions)
    • 3d5c87f — feat: add cache key computation and LRU manager (computeCacheKey, CacheManager)
    • d32b650 — fix: make prune tests write files in subdirectories that prune actually scans
    • 8d7eaf9 — feat: add sharp pipeline builder with all operations (buildPipeline, transformAndCache)
    • 472ebc5 — feat: add plugin registration with route handler (sharpifyPlugin)
    • 39fd1df — fix: address final review — propagate format negotiation, prune cache, add error tests
    • bd557b4 — ci: add CI/CD workflows with changesets release pipeline

    Features

    • On-the-fly image resize, format conversion, and processing via URL query params (?w=400&fmt=webp&q=80)
    • Accept-header content negotiation (AVIF > WebP > JPEG > PNG)
    • 30+ sharp operations: resize, crop, blur, sharpen, rotate, greyscale, modulate, tint, trim, flip, flop, normalize, negate, gamma, threshold, median, linear, pad, strip-alpha
    • Disk cache with SHA-256 key, two-char subdirectory layout, LRU eviction
    • Atomic cache writes (.tmp + renameSync)
    • Full @fastify/static integration via reply.sendFile()
    • DoS protections: dimension caps (max 4096), processing timeout (30s), concurrency semaphore, without-enlargement guard, path traversal prevention
    • Error fallback: processing failures serve the original image
    • Per-derivative Cache-Control via setHeaders
    • Format-specific options: progressive JPEG, mozjpeg, lossless WebP/AVIF, indexed PNG, chroma subsampling, encoding effort

@teneburu
teneburu force-pushed the changeset-release/main branch from 92f8615 to 153caa5 Compare July 16, 2026 07:51
@teneburu
teneburu merged commit c2eae14 into main Jul 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant