v0.2.13
Status: published to npm as the 0.2.13 latest release, tagged as v0.2.13.
This release hardens the iOS JPEG source to JPEG output metadata: 'preserve'
path so preserved metadata does not retain stale orientation or pixel dimension
values after resize, quality, or output.maxBytes encoding.
Goals
- Normalize iOS preserved JPEG output orientation metadata to
1after rendering. - Update preserved top-level pixel width/height and EXIF
PixelXDimension/PixelYDimensionto the rendered JPEG dimensions. - Keep JPEG source to JPEG output as the only iOS preserve scope.
- Prove the behavior through iOS host-app smoke metadata readback and source-level expectations.
- Align README guidance, release notes, Android verification doctor checks, and Vitest expectations.
Included
package.jsonversion bump to0.2.13.- iOS JPEG preserve encoding now passes final
CGImagedimensions into ImageIO destination properties. - Preserved JPEG metadata normalizes top-level orientation, TIFF orientation, top-level pixel width/height, and EXIF pixel dimensions.
- iOS smoke fixture writes stale TIFF orientation and source-size EXIF pixel dimensions, then verifies preserve output normalizes them to the compressed JPEG result.
- README status, iOS behavior guidance, metadata policy docs, iOS smoke description, and release dry-run guidance are updated for the
0.2.13release. - Source-level tests and Android verification doctor expectations are updated for the iOS JPEG metadata preserve hardening release.
- npm package publication under the
latestdist-tag. - Git tag
v0.2.13and GitHub Releasev0.2.13.
Not Included
- Android runtime behavior changes.
- PNG, WebP, GIF, HEIC, HEIF, or AVIF metadata preserve on iOS.
- New output formats.
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.13
git tag -a v0.2.13 -m "v0.2.13"
git push origin v0.2.13Release 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.13 tarball README no longer includes stale candidate package-page status snippets.
Publication Results
npm view react-native-image-compression-kit version dist-tags time.modified --jsonconfirmed package version0.2.13,latest: 0.2.13, and registry modified time2026-07-03T06:21:08.749Z.npm view react-native-image-compression-kit@0.2.13 version dist.tarball dist.integrity dist.shasum time.modified --jsonconfirmed tarballhttps://registry.npmjs.org/react-native-image-compression-kit/-/react-native-image-compression-kit-0.2.13.tgz.- Registry integrity is
sha512-1XklGCG2cUQaXuw7z1AeNxJekleC5IUyCVWRnNWekJAbpae3uXnX1Fa0c43J5w5werqnHSs7kUGcAxcmSo0qEQ==. - Registry shasum is
59af2dc4682fe8445c5f7f02b886f56cd799bb09. pnpm smoke:registry -- --version 0.2.13passed against the real registry tarball withfileCount: 49,packageSize: 47296,unpackedSize: 210816, and a clean consumertsc --noEmit.- Release promotion gate passed on commit
dfaa3763fc3d3a223a6672dbfa934e6bc8100443: CI, Android Instrumentation, and iOS Validation. - Git tag and GitHub Release:
v0.2.13athttps://github.com/GGULBAE/react-native-image-compression-kit/releases/tag/v0.2.13.