Renaming an existing package with changed capitalization

Our organization is considering rebranding our software tool suite (several application interfaces and code-bases) which has been around for a long time (15+ years) and the name and capitalization is reflected in the current registered Julia package name. It would be preferable to just change the capitalization of the letters (while we would also update the meaning of what some of the letters stand). I read that just updating the capitalization of a Julia package and/or making a new package with updated capitalization is challenging and maybe not allowed. Is there any path forward to do this or to get an exception with a commitment to guide users to update to the new package name?

This just generally causes all sorts of troubles with case-insensitive filesystems (Mac and Windows by default) because the directories and filenames themselves change case… which can and will clobber the other case (if it exists).

In the case of the General registry, there’s also a strong policy against removing/breaking old packages to ensure old projects and manifests can continue to resolve. So this means that the standard structure of General won’t work because — even though git itself allows it — having both E/Example/Package.toml and E/eXaMPLe/Package.toml live alongside eachother would break on most Mac and Windows machines. This is just one example of the technical challenges; I know that I’ve also written downstream tooling that makes use of these documented restrictions and creates one file per package.

Even outside of Julia and Pkg, just changing case of a file is quite fraught, especially if you’re working with git or across multiple platforms and filesystems.

2 Likes

Yes, Matt is correct. I am very sorry, but we would not be able to accept a capitalization-only change like this in General registry. No two packages in the General registry are allowed to have the same name differing only by capitalization.

1 Like