v0.2.12
v0.2.12
Status: published to npm as the 0.2.12 latest release, tagged as v0.2.12.
This release adds the narrow iOS metadata: 'preserve' MVP for JPEG source
to JPEG output. Other iOS format conversions keep the explicit
ERR_NOT_IMPLEMENTED preserve boundary.
Goals
- Support iOS JPEG source to JPEG output with
metadata: 'preserve'. - Keep resize,
output.quality, andoutput.maxBytesJPEG output paths aligned with metadata preserve. - Report iOS
metadataPolicies: ['preserve', 'safe', 'strip']while documenting that preserve is JPEG-to-JPEG only. - Keep PNG/WebP/GIF/HEIC/HEIF/AVIF metadata preservation out of scope.
- Align TypeScript/native error surface, README guidance, release notes, source-level expectations, Android verification doctor checks, and iOS host-app smoke validation.
Included
package.jsonversion bump to0.2.12.- iOS JPEG output now uses ImageIO
CGImageDestination, allowing source JPEG metadata to be copied for JPEG source to JPEG output. - iOS
metadata: 'preserve'rejects withERR_NOT_IMPLEMENTEDunless both input and output are JPEG. - iOS capability reporting now includes
preserve,safe, andstripmetadata policies. - iOS smoke fixtures include a JPEG TIFF Software metadata marker and read it back after preserve compression.
- README status, iOS behavior guidance, metadata policy docs, iOS smoke description, and release dry-run guidance are updated for the
0.2.12release. - Source-level tests and Android verification doctor expectations are updated for the iOS JPEG metadata preserve release.
- npm package publication under the
latestdist-tag. - Git tag
v0.2.12and GitHub Releasev0.2.12.
Not Included
- Android runtime behavior changes.
- PNG, WebP, GIF, HEIC, HEIF, or AVIF metadata preserve on iOS.
- AVIF output, animated AVIF preservation, HEIC/HEIF output, GIF animation preservation, animated WebP preservation, cancellation, or progress support.
Release Checklist
Before npm publish:
git status --short --branch
pnpm verify
pnpm example:typecheck
git diff --check
pnpm pack --dry-run
pnpm release:dry-runAfter npm publish:
npm publish --tag latest
pnpm smoke:registry -- --version 0.2.12
git tag -a v0.2.12 -m "v0.2.12"
git push origin v0.2.12Release promotion also requires GitHub Actions CI, Android Instrumentation, and iOS Validation to pass on the pushed release commit. After npm publish, the registry smoke must confirm the real 0.2.12 tarball README no longer includes stale candidate package-page status snippets.