With circuits work little team (3-4) engineers. Each create components. Сomponents of any engineer are used by everyone. Sometimes there are mistakes. And new projects has correct libraries. Old projects need support with errors in libs.
Now each project has local libs and sometimes we copy components from locals to global libs. But it is very difficult and long time process. And create new mistakes.
How to create multiple access to libs? Perhapce git? Do you have ideas?
What you want is a controlled library that is still permitted to develop but does not impose itself on existing designs.
I would recommend git and tag different releases. The HEAD can still plow ahead
With fixing issues or adding new parts but different projects can just checkout a specific release (possibly with a tag). They also have the option to branch to isolate the exact version they worked with when the project is frozen.
I ran into something similar with MATLAB:simulink where existing projects need to still use the library entries the model was developed with (bugs and all) but the rest of the team needs to evolve. It needed to be quite simple otherwise people would either force the library never to fix bugs OR people would have uncontrolled versions
For kicad o was thinking of using submodules for each sublibrary but it got unmanageable so I have my library under git control