wp-php-toolkit/reprint-importer
Streaming site importer with CLI and PHAR distribution support
v0.9.2
145K downloads/mo
#4027 most downloaded on Packagist
wp-php-toolkit/reprint-importer
What this package is like to depend on
Last release 27 days ago
27 Jul 2026
Ships fairly regularly
a new release about every 2 weeks
Some releases are documented
notes for 10 of 39 stable releases
Nothing withdrawn
no release was ever pulled
4 months old
39 releases · first in 2026
31 releases in the last 12 months
see the full history below
Release timeline
31 releases · Mar 2026 to Jul 2026Releases
latest 39-
v0.9.227 Jul 2026 -
v0.9.114 Jul 2026Release notes
Open source →Migrations (especially scoped ones with
--only :wp-content:) don't
have a great option for symlinks that point outside the pulled scope.
Bare--follow-symlinkspulls the content but mirrors it at its raw
source paths, scattered across the docroot.--no-follow-symlinksjust
drops it, leaving dangling links.This PR adds a destination form:
--follow-symlinks=:fs-root:/.symlinks-bundle. Escaping targets get
followed and consolidated into one private in-tree directory, nested by
source path, and their symlinks are repointed there. A scoped wp-content
pull ends up self-contained: no dangling links, no junk in the docroot.Placement: remap rules first, then the bundle location if set, then
the default fs-root mirror. Anything inside a remapped wp-content lands
in the served tree, so the bundle only receives genuinely-external
content. Multiple links to one target share a single copy. Relative and
absolute targets are handled the same. Bare--follow-symlinksis
equivalent to--follow-symlinks=:fs-root:(the unchanged default), and
the value uses the--remaptarget grammar — it must stay within
--fs-root.Resume guard: the bundle directory is fingerprinted on the first run
and checked on every run after. Changing (or dropping) it errors instead
of silently splitting placement;--abortresets it. Setting a bundle
directory also persistsfollow_symlinks=true, so a flag-less delta
can't index with follow off and delete previously-followed content.Behavior changes (both previously produced missing content and
dangling links):- Under a narrow
--only, followed targets outside the--onlyscope
are now pulled. They used to be skipped as "already covered" because
they sat under a preflight root, even though the scoped pull never
actually downloaded them. - Symlinks in the middle of a followed path (e.g.
/srv/wordpress → /wordpress) are now repointed at the locally-mirrored content, like
every other symlink. They used to be skipped whenever their absolute
target pointed outside--fs-root, even when the content itself had
been downloaded.
Testing
The new
SymlinkBundleTest(unit) +import-52-symlink-bundle(e2e,
broad + narrow--only) cover lots of cases here.For manual testing though, the setup would be rather intense. You'll
need something like a symlinked plugin that points outside wp-content.
Then run--only :wp-content: --follow-symlinks=:fs-root:/.symlinks-bundleand ensure the plugin's
source ended up in the new bundle location. - Under a narrow
-
v0.9.006 Jul 2026 -
v0.8.217 Jun 2026Release notes
Open source →- Fix the runtime missing certain files
- Fix local runtime file serving logic
These changes make it possible to run a
pull-ed site using the local
sqlite runtime, e.g.:php importer/import.php pull https://mymigrationwpcloudsite.wpcomstaging.com/ \ --secret=SECRET_GOES_HERE\ --state-dir=./exports/state --fs-root=./exports/files \ --new-site-url=http://localhost:8881 -
v0.8.126 May 2026Release notes
Open source →Retargets wp-php-toolkit/reprint-exporter#1 into the monorepo package path.
Also adds README files to the split Composer package directories explaining that the wp-php-toolkit package repositories are read-only mirrors and that changes should be proposed against adamziel/reprint.
Co-Authored-By: Luca Tumedei [email protected]
Co-Authored-By: Claude Opus 4.7 (1M context) [email protected] -
v0.8.020 May 2026 -
v0.7.418 May 2026 -
v0.7.304 May 2026Release notes
Open source →Summary
Picks up wp-php-toolkit
v0.7.3,
which fixed the published-package autoload regressions caught by
WordPress/php-toolkit#264. The most relevant fixes for reprint:- [email protected] now correctly declares its dependency on
wp-php-toolkit/html - [email protected] no longer eagerly declares WP_Error through
autoload.files - Various optional integrations bundled in vendored Symfony / webuni
packages are excluded from the classmap
Changes
- packages/reprint-exporter/composer.json: ^0.7.2 -> ^0.7.3 for
data-liberation and html - packages/reprint-importer/composer.json: same
- composer.lock refreshed; all transitive toolkit packages resolve to
v0.7.3
Test plan
- composer update wp-php-toolkit/data-liberation wp-php-toolkit/html
resolves cleanly to v0.7.3 across all transitive packages - composer compat (PHP 7.4 compatibility) passes
- ExportLibraryLoadTest and BuildPdoDsnTest pass locally
- PHPUnit matrix green on CI
- [email protected] now correctly declares its dependency on
-
v0.7.230 Apr 2026Release notes
Open source →Picks up the v0.7.2 fixes — PSR-4 vs WP
class-*.phpnaming, the
WP-coexistence regression wherehtml5-named-character-references.php
loadedWP_Token_Mapat composer bootstrap (caused fatals in any
consumer that also loads WordPress, e.g. wpcomsh tests), and the
package-bootstrap fatals from v0.7.0/v0.7.1. -
v0.7.1no dateRelease notes
Open source →Picks up the v0.7.2 fixes — PSR-4 vs WP
class-*.phpnaming, the
WP-coexistence regression wherehtml5-named-character-references.php
loadedWP_Token_Mapat composer bootstrap (caused fatals in any
consumer that also loads WordPress, e.g. wpcomsh tests), and the
package-bootstrap fatals from v0.7.0/v0.7.1. -
v0.7.030 Apr 2026Nothing published for this version
-
v0.1.4727 Apr 2026Nothing published for this version
-
v0.1.4625 Apr 2026Nothing published for this version
-
v0.1.4522 Apr 2026Nothing published for this version
-
v0.1.4416 Apr 2026Nothing published for this version
-
v0.1.4315 Apr 2026Nothing published for this version
-
v0.1.4114 Apr 2026Nothing published for this version
-
v0.1.4013 Apr 2026Nothing published for this version
-
v0.1.3912 Apr 2026Nothing published for this version
-
v0.1.38no dateNothing published for this version
-
v0.1.3711 Apr 2026Nothing published for this version
-
v0.1.3610 Apr 2026Nothing published for this version
-
v0.1.35no dateNothing published for this version
-
v0.1.3408 Apr 2026Nothing published for this version
-
v0.1.33no dateNothing published for this version
-
v0.1.32no dateNothing published for this version
-
v0.1.31no dateNothing published for this version
-
v0.1.30no dateNothing published for this version
-
v0.1.2908 Apr 2026Nothing published for this version
-
v0.1.2808 Apr 2026Nothing published for this version
-
v0.1.2708 Apr 2026Nothing published for this version
-
v0.1.2608 Apr 2026Nothing published for this version
-
v0.1.2508 Apr 2026Nothing published for this version
-
v0.1.2402 Apr 2026Nothing published for this version
-
v0.1.23no dateNothing published for this version
-
v0.1.2202 Apr 2026Nothing published for this version
-
v0.1.2101 Apr 2026Nothing published for this version
-
v0.1.2001 Apr 2026Nothing published for this version
-
v0.1.1931 Mar 2026Nothing published for this version