wp-content/plugins/palimpsest/palimpsest.php
Palimpsest
Diff content between staging and production, and push only what you meant to.
== Description ==
Database sync tools move everything or nothing, which is why nobody uses them on a live site. Palimpsest compares content between two environments object by object and lets you push individual posts, terms or options, with a diff you read first.
Conflicts — where both sides changed since the last sync — are shown side by side and never resolved automatically. An automatic resolution here is a silent data loss with extra steps.
It connects over an authenticated REST endpoint, not a database dump, so it works between environments that cannot reach each other’s database and it never moves anything you did not select.
== Screenshots ==
Numbered the way they ship in /assets/. Click any one to see it full width.
== Installation ==
- Install and activate the plugin on both environments.
- Pair them with a token generated on the target.
- Run a comparison, read the diff, then push what you want.
The pairing token is scoped to content operations and can be revoked from either end.
== Frequently asked questions ==
Does it sync the whole database?
No, deliberately. Users, orders and comments are excluded and cannot be included.
What about attachments?
Referenced files are transferred with the post, and the diff tells you how many megabytes that is before you start.
== Changelog ==
= 2.0.1 =
- Fixed: the diff treated identical content with different line endings as changed, which made every post from one environment look modified.
= 2.0.0 =
- Rewritten to sync over REST rather than a database connection. Environments no longer need network access to each other’s database.
- Minimum PHP is now 8.1.