Static

On caring for user data: NeoVim caused Vim undo files to be deleted

First reported by Unsung.aresluna ·

The signal ●○○○ Compiled by AI from Unsung.aresluna and Hacker News
Why you might care

Software that deletes user data by default will require careful migration of your work.

What happened

NeoVim, a fork of the text editor Vim, caused users' undo history data to be deleted upon its initial release. The software changed the format of Vim's persistent undo files without using a different file name. When NeoVim encountered existing Vim undo files, it deleted them and replaced them with its own incompatible versions. This action resulted in the loss of undo history for users who had migrated from Vim to NeoVim. The issue was highlighted by computer scientist David Chisnall, who stated that NeoVim's developers demonstrated a lack of duty of care towards user data, particularly given the feature's name, "persistent undo."

What it means

The incident with NeoVim underscores a critical tension in software development between innovation and user data preservation. By overwriting existing undo files with a new, incompatible format, NeoVim prioritized its own development trajectory over safeguarding user history. This action directly contravened Jef Raskin's First Law of Interface, which mandates that software should not harm user data. The developers' response, dismissing the persistent undo format as unstable and not to be relied upon, further highlights a disregard for user expectations and trust in features explicitly designed for data persistence.

This event serves as a stark reminder for users to exercise extreme caution when adopting new software, especially forks or alternatives to established tools that manage user data. It suggests a market where rapid feature development can sometimes outpace a fundamental understanding of data stewardship. Users should anticipate the need for manual data migration or verification processes, even when moving between seemingly similar applications, and be wary of software that renames or overwrites existing data formats without explicit user consent or robust fallback mechanisms.

AI-written summary. May contain errors.

Vim