My team has developed several Julia packages that have already evolved to a relatively stable version, i.e., not v0.1. They’ve been working well for commercial cases, and we’ve just decided to make some packages public to contribute to the community.
We decide to make our packages available by everyone for free, but we get anxious about whether the package version has to change to v0.1 again if we want to register our closed-source package in the General registry.
These packages are already relied by our commercial products and might get broken if the their versions are not compatible between General and the company’s private registry.
Is it possible to registry a package in General that begins with a version like v0.5.4?
If not, are there any alternatives to achieve the following goals:
- migrating our packages from private registry to General
- avoiding breaking our commercial products (which were designed to have good forward compatibility)
I think so. The automation might stop you but you can get manual approval for sure.
I just moved a package from a private registry to General, with a high version number, and it was auto-merged without any problems whatsoever.
So I don’t think there is anything to worry about with moving registries. Actually, it should even be fine to keep it in multiple registries (as long as any specific release points to the same tree hash in all registries)
Thanks! This information is quite helpful.
It has always been possible to register any initial version, but until Disable the "standard initial version number" check by DilumAluthge · Pull Request #275 · JuliaRegistries/RegistryCI.jl · GitHub was merged three years ago, the registration PR for a new package would only be automerged if the initial version was 0.0.1, 0.1.0, or 1.0.0. That is now history.
Having the same package in multiple registries is fine, assuming the information is consistent. The lists of versions from the different registries will just be merged by the package manager.
I think there is a strong preference for registered packages to be more mature these days, so I do not see a problem here at all.