The earliest supported version of Minecraft is 1.16.2.
This should simply be a datapack, but there is an open issue as of 1.14.2 concerning the deletion and modification of villager NBT data. As this data can't be changed through commands, I've opted to make this mod in the meanwhile.
This project supports the Fabric and Forge launchers. Support for each launcher is managed on its own branch.
Fabric has a dependency on the Fabric API and Fabric Language Kotlin mods to run successfully.