The delete that didn't delete
Three Foxstash releases in four days: encryption at rest, a free lunch that wasn't, a delete that left the data on disk, and a position that wasn't an identity

Series
Foxstash is my open-source Rust library for local vector, keyword and hybrid search, embedded in your application with no server. Releases, benchmarks, and the mistakes caught along the way.
Three Foxstash releases in four days: encryption at rest, a free lunch that wasn't, a delete that left the data on disk, and a position that wasn't an identity

Release day for Foxstash 0.9: checking each claim against the code caught a wrong label on my own site, a real number attached to the wrong pair, and my own overstatement

Cargo and npm treat ^0.3.4 as any 0.3.y. Ship a breaking change as 0.3.5 and it lands in everyone's next build unasked. So we wrote the rule down.

An old Foxstash draft claimed it beat hnswlib by 2x. Its own table showed it losing 3x on one thread. Speed only means something at the same recall, on the same threads, on the dataset the label names.
