I'm (slowly) working on a version controlled local-first password manager for exactly this reason.
Keepassxc is local first and has password history. Check it out before building.
It didn't have a good sync story when I checked last.