Skip to content

Releases: johnjanney/exifix

v0.6.0 — Complete PDF scrubbing (qpdf)

Choose a tag to compare

@johnjanney johnjanney released this 18 Jun 20:57

PDF metadata is now physically removed, not just hidden.

Local Docker testing (exiftool + qpdf) revealed that exiftool -all= on a PDF only marks metadata deleted — it stays recoverable in the file, and exiftool itself warns "deleted tags may be recovered." Exifix now follows up with qpdf --linearize on PDFs (when qpdf is available) to rewrite the file so the data is gone for good.

  • Verified with docker/test-plugin-pdf.php: the sensitive value disappears from the raw PDF bytes, not just exiftool's view.
  • New qpdf row on Tools → Exifix, plus a warning when exiftool is present but qpdf is not (PDF stripping is then best-effort/reversible — ask your host to install qpdf).
  • Images and video stripping were confirmed correct as-is.

This resolves the last open question (Q4) — PDF/video paths are now tested.

Install: download exifix-0.6.0.zip → Plugins → Add New → Upload Plugin.

See CHANGE_LOG.md.

v0.5.0 — Per-type opt-in/out settings

Choose a tag to compare

@johnjanney johnjanney released this 18 Jun 20:31

Choose which media types Exifix strips.

New Media types Exifix will strip checkboxes (Tools → Exifix → Settings) — Images, PDF, Video, Audio, all on by default. Uncheck a type and it's skipped everywhere stripping happens:

  • the per-item Strip metadata button is hidden for that type
  • bulk counts it as skipped (not failed)
  • all-media filters it out of the run entirely
  • auto-strip on upload ignores it

Viewing metadata is never gated — you can always inspect a file.

Also fixes uninstall.php to remove the exifix_preserve_icc option (introduced in 0.4.0 but not cleaned up) alongside the new exifix_enabled_types.

Install: download exifix-0.5.0.zip → Plugins → Add New → Upload Plugin.

See CHANGE_LOG.md.

v0.4.0 — ICC color profile preservation

Choose a tag to compare

@johnjanney johnjanney released this 18 Jun 17:29

Strip privacy metadata without wrecking your colors.

New opt-out setting (Tools → Exifix → Settings, on by default): Preserve ICC color profiles when stripping. Exifix now removes EXIF/IPTC/XMP while keeping the embedded color profile, so wide-gamut images render correctly instead of shifting dull/desaturated.

  • exiftool: -all= -tagsFromFile @ -icc_profile:all — delete everything, copy the profile back.
  • Imagick: captures the ICC profile before stripImage() and re-attaches it.
  • GD fallback: cannot preserve profiles (re-encoding drops them) — uncheck the box if you specifically want ICC gone, or rely on Imagick/exiftool.

For typical sRGB web images this makes no visible difference; it matters for wide-gamut (Display P3 / Adobe RGB) photos.

Install: download exifix-0.4.0.zip → Plugins → Add New → Upload Plugin.

See CHANGE_LOG.md.

v0.3.2 — Strip the -scaled original; cleaner viewer

Choose a tag to compare

@johnjanney johnjanney released this 18 Jun 17:13

Two fixes from user testing:

Privacy — the preserved full-resolution original is now stripped. For large uploads WordPress keeps the untouched original alongside the served -scaled file. Exifix was stripping the -scaled version and thumbnails but not that original, so it kept its EXIF/GPS. Now strip_attachment() also targets wp_get_original_image_path(), and auto-strip-on-upload strips the original too. Affects single, bulk, all-media and on-upload.

Viewer no longer shows synthetic fields. The metadata modal was listing the PHP exif extension's FILE/COMPUTED pseudo-sections (filesystem facts, pixel-derived values) and ImageMagick's date:/signature props — making clean images look like they still had metadata. It now shows only genuinely embedded metadata, and says No embedded metadata found when a file is clean.

After updating: re-run Strip metadata on previously-stripped large images to clean their lingering originals.

Install: download exifix-0.3.2.zip → Plugins → Add New → Upload Plugin.

See CHANGE_LOG.md.

v0.3.1 — Grid view fix

Choose a tag to compare

@johnjanney johnjanney released this 18 Jun 15:47

Fixes the View metadata / Strip metadata controls being invisible in the Media Library's default Grid view.

  • Added an Exifix entry point to the attachment details modal (Grid view) via attachment_fields_to_edit. The controls now appear when you click any image in Media → Library, in addition to List view and the full edit screen.
  • Fixed the metadata viewer modal rendering behind the WordPress media modal in Grid view (z-index bump).

Install: download exifix-0.3.1.zip and upload via Plugins → Add New → Upload Plugin (deactivate/delete the old copy first, or use a plugin that allows overwrite).

See CHANGE_LOG.md for details.

v0.3.0 — View Metadata

Choose a tag to compare

@johnjanney johnjanney released this 18 Jun 15:38

Adds a view-only metadata inspector: a View metadata row action (Media list) and edit-screen button open a modal showing a file's embedded EXIF/IPTC/XMP without modifying it.

Capability-aware reading: exiftool (JSON) → native exif extension (JPEG/TIFF) → Imagick. The Tools page now reports the exif extension and distinguishes view vs. strip support.

Install: download exifix-0.3.0.zip and upload via Plugins → Add New → Upload Plugin.

See CHANGE_LOG.md for full details.

v0.2.0 — Auto-strip on upload

Choose a tag to compare

@johnjanney johnjanney released this 18 Jun 15:38

Opt-in auto-strip on upload (Tools → Exifix → Settings, default off). When enabled, metadata is removed from each new upload and its generated image sizes automatically.

Install: download exifix-0.2.0.zip and upload via Plugins → Add New → Upload Plugin.

See CHANGE_LOG.md for full details.