Including version number in module names since SDK 2.10.0

Hello,
Since the release of DAML SDK 2.10.0 and the release of the SCU tool, I would like to ask who is including the major version in the module names of the packages.
Adding the major version to the package name is now inevitable due to the upgradability feature. But, renaming the module name is not necessary, however, I saw that happening, for example in the DAML Finance library.
So, I wanted to ask who is also renaming the module names when working on a new release, and why you are doing it.

Thanks,

There could be a variety of reasons for renaming modules. Would you be willing to point to a specific example?

Hi @WallaceKelly for your response.
For example, you can see that there is an additional folder that represents the 4th version:
daml-finance/src/main/daml/Daml/Finance/Account/V4/Account.daml at 155f931b6ebe7d3662fd72788cb17f0bfb5a7ba6 · digital-asset/daml-finance · GitHub.
In addition, you can see the following folder name: ContingentClaims.Core.V3
Since I consider some issues with upgrading contracts that do not keep same file names, I want to understand when this approach will worth the extra burden of such naming.

I believe you are pointing out that…

  1. To use SCU-upgrades, one would increment the package version, but change neither the package name or the module name.
  2. To avoid SCU-upgrades (of contracts from different versions of similarly named templates), one can change either the package name or the module name.

I believe you are asking, “Why would someone change both the package name and the module name?”

While I was not involved in the specific example you noticed, I suspect this extra layer of explicitness helps prevent accidental misuse of incompatible template versions and makes dependencies clearer in projects that consume these libraries.

Does that at least address the question you are asking?