NeoVim silently deletes your Vim undo history
NeoVim's persistent-undo format is incompatible with Vim's. When it finds an old Vim undo file, it deletes it and writes its own, with no warning, migration, or backup.
Two decades of undo history, gone the first time NeoVim opens the file. No warning, no backup.
NeoVim uses a persistent-undo file format incompatible with Vim's, and when it opens a file with an existing Vim undo file, it deletes that file and writes its own in its place. No warning, no migration, no backup. The old undo history becomes unreadable in both editors afterward.
Twenty years, gone on first open
Computer scientist David Chisnall described in a widely shared post how Vim's persistent undo had reliably preserved two decades of his editing history, including recovery across crashes and reboots. He calls the silent deletion a failure of duty of care to users, not an ordinary bug, and connects it to Jef Raskin's first law from The Humane Interface: software must never let user data be harmed through inaction.
The maintainers' position
NeoVim maintainers describe the persistent undo format as unstable and subject to further change, which is a reasonable position for an experimental feature and a strange one for a file that silently overwrites a decades-old format the moment it encounters it. Stability of the new format and safety of the migration path are two different questions, and only one of them has an answer so far.
What would have cost nothing to add
A file rename instead of a delete, or a one-line warning before the overwrite, would have preserved the old data at effectively zero engineering cost. Neither shipped.
Why a build studio cares
Any tool we build that touches a user's local files inherits this exact decision point the moment it meets a format it does not recognize: overwrite, refuse, or migrate. Overwrite is the easiest to code and the one that erases someone's data if the assumption behind it is wrong even once. Refuse to touch an unrecognized format by default, and make overwrite something the user opts into, not the silent fallback.
Next step: see the Hacker News discussion for the maintainers' responses.