Skip to content

v0.2.13

Choose a tag to compare

@GGULBAE GGULBAE released this 03 Jul 06:31

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 1 after rendering.
  • Update preserved top-level pixel width/height and EXIF PixelXDimension / PixelYDimension to 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.json version bump to 0.2.13.
  • iOS JPEG preserve encoding now passes final CGImage dimensions 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.13 release.
  • Source-level tests and Android verification doctor expectations are updated for the iOS JPEG metadata preserve hardening release.
  • npm package publication under the latest dist-tag.
  • Git tag v0.2.13 and GitHub Release v0.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-run

After 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.13

Release 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 --json confirmed package version 0.2.13, latest: 0.2.13, and registry modified time 2026-07-03T06:21:08.749Z.
  • npm view react-native-image-compression-kit@0.2.13 version dist.tarball dist.integrity dist.shasum time.modified --json confirmed tarball https://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.13 passed against the real registry tarball with fileCount: 49, packageSize: 47296, unpackedSize: 210816, and a clean consumer tsc --noEmit.
  • Release promotion gate passed on commit dfaa3763fc3d3a223a6672dbfa934e6bc8100443: CI, Android Instrumentation, and iOS Validation.
  • Git tag and GitHub Release: v0.2.13 at https://github.com/GGULBAE/react-native-image-compression-kit/releases/tag/v0.2.13.