Docs/UX text only — no changes to import, restore, diff, or relink behavior. Prompted by early user review feedback — thank you!
FAQ: added the recommended preparation order for cross-site migration (ACF definitions first, then images, then import), how to read the ACF yellow warnings (definition-missing = expected; value-missing = needs attention), and clarified that imports never delete destination posts.
Admin screen: the diff preview now states when only the first 100 changed posts are shown (use the offline Web Checker for the full list), and the Dry Run report adds a note that “definition not in WXR” ACF warnings are expected when definitions are managed outside the WXR.
Usage guide window: added the ACF-definitions-first preparation step and a short “common questions” section covering the points above.
1.0.2
SEO/metadata only: refined the short description to lead with XML/import/migration and custom fields (incl. ACF) for clearer search discovery. No functional changes.
1.0.1
SEO/metadata only: refined plugin tags and short description to surface XML/migration/ACF/custom-fields use cases. No functional changes.
1.0.0
First stable release. Plugin renamed to Dry Run Importer (companion exporter: Dry Run Exporter).
Migration media safety gate: when the file comes from another site (URL mismatch) and attachments have no matching file in the Media Library, the import button is blocked with a clear warning to upload the images first — preventing empty/broken attachments. Explicit consent checkbox to override.
Verdict now downgrades a green result to yellow while the media safety gate is active, so the top banner never says “safe” while images would break.
Exporter: post-status filter defaults to “Published only” (attachments and ACF/structure definitions are still collected via a status-agnostic path); internal statuses (e.g. acf-disabled) no longer leak into the status checkboxes.
UI cleanup: removed the demo loader, hid the optional Sheet Data Match tab by default (re-enable via wpsi_enable_csv_match), removed the redundant old/new URL fields from Advanced Settings, and removed the on-screen version badge. Unified importer/exporter heading sizes.
Attachment filename relink (default ON): match WXR attachments to media you already uploaded by filename + dimension check, reuse instead of creating duplicates, and remap featured images / ACF image fields / content references to the existing media. Guardrails: exact basename only, ambiguous (same filename in 2+ files) skipped, dimension/size mismatch skipped, shown in preflight. Filter wpsi_attachment_relink_policy.
Bulk restore: restore every backup in a task in one dependency-safe pass (attachments → parent posts) from the History tab.
Exporter now emits <wp:post_mime_type> for attachments so imported media renders without guessing the mime type.
Importer backfills attachment mime type on update; thumbnail regeneration caps chunk size to stay under execution limits.
0.9.0-beta
Big-4 regression fixes vs WP standard importer: hierarchical term parents, post_author, comments / pingbacks, attachment.post_parent.
Restore impact preview + consent gate before destructive restore.
MySQL GET_LOCK concurrent-import protection.
Versioned DB migration runner with idempotent dbDelta convergence.