Windows Vista introduced in 2006 a transactional file system API for user applications.
It was recently deprecated because almost nobody uses it.
https://learn.microsoft.com/en-us/windows/win32/fileio/trans...
It was recently deprecated because almost nobody uses it.
https://learn.microsoft.com/en-us/windows/win32/fileio/trans...
Non-atomic stuff is simpler on the implementation. Even if the behavior is worse for the user, it's easier to write, and you have fewer requirements to satisfy. So, not having a real pressure from the customers, it's just easier not to do this.
Very few apps need more than the ability to atomically swap a file.
And for the complicated multi write cases, a lot of software just use sqlite which deals with it.