I’ve pepared a change to the default database backend of matrix-conduit. It’s supposed to use RocksDB instead of SQLite on NixOS version 26.11 or later. If you look at the official documentation, you see that they recommend this database over the other.
The problem is that it’s a breaking change - that’s the reason, why I want to enable it only for new users via the stateVersion variable. But this might break the current setup of nixos-unstable users, see this comment.
What do you think? Should we merge the pull request anyways, should we bump the stateVersion to 27.11 or should we discard the change.
Breaking changes is what unstable is for, and wouldn’t it only affect people who did a fresh install from unstable, whos stateVersion is already set to 26.11 ahead of the next release? Seems like a tiny group of people to be worried about.
If you’re worried about breakage (and if you want to make migration easier for everyone), how about packaging conduit_toolbox and using its database migration tool in the PreStart script for conduit? you could check what DB is currently on disk, and migrate to the requested alternate backend if different.
Sure, I haven’t measured the size of the group that is the intersection of “people who have made a fresh install from unstable since 26.05” and “people running matrix-conduit”, but I’m ESTIMATING it’s a pretty tiny set.