Not really willing to argue (everyone can use what they prefer and that's ok), but I wanted to chime in for some clarifications.
This is not really a fact. Tms is using $AUTO (and $ProductVersion, because $AUTO alone is not enough). We are already using it in a lot of products, and the plan is to migrate all products as time allows. Of course, this is not something that can support Delphi < 10.4 (Delphi 11 to be realistic, as auto was introduced in the middle of 10.4 cycle and was buggy at the start). Some of our products support Delphi 7 and newer, so we **also** need to support separate packages too. Our approach is to have folders like
```
drio
dsydney
d11+
```
So we can still support older versions for people that need it, and have newer versions supported by a single package. Also, while normally there aren't breaking changes in the dproj format, sometimes they happen (The DebugInformation switching from a boolean to an integer is the first that comes to mind, but there were others). In that case, you **need** to provide newer packages anyway. So if say Delphi 17 happens to need newer packages, with smart setup you would have the folders:
```
drio
dsydney
d11+
d17+
```
See https://doc.tmssoftware.com/smartsetup/guide/creating-bundles.html#supporting-multiple-delphi-versions-with-the-same-package
I think you might be confusing "Tms libraries" with "Tms vcl component pack"? Tms has a lot of products, and many of them are already using $auto. VCL component pack isn't yet, but it will eventually.
All the products I mantain, and the ones wagner mantains too are already using auto. This is for example the folder structure for packages for TMS FlexCel Studio:
You can see there is a D12+ folder there, and not D13. This is because D12 and D13 share the same packages (D11 doesn't because there were some changes that didn't allowed it)
Inside D12+, you will find a 23.0 and a 37.0 folder for D12 and D13 dcus.