Release Notes
Version 3.3 (April, 2026)
Improved: Usage in CI environments or building by command line.
- A new "all.included.components" special dependency was added so your own projects can now depend on every installed component, instead of you having to specify your project dependencies by hand. tms spec will suggest "all.included.components" by default when creating tmsbuild.yaml files for your own projects
- There is a new document showing how to use Smart Setup in CI/Automated environments
Fixed: The "working folder" option in tms.config.yaml worked only if the working folder was outside the root folder where tms.config.yaml is. Now it can also be a folder inside the root folder
Fixed: The build-only library paths wasn't working properly. When trying to compile another project that depended on a component with a build-only path, the build-only path would also be passed to that project, resulting in duplicated dcus.
Version 3.2 (April, 2026)
New: SBOM generation support. There is a new
tms sbom-generatecommand that can generate CycloneDX SBOMs for the installed componentsNew: SmartSetup will now automatically read "tms.config.local.yaml" files for added local configuration.
New:
licenseandlicense urlfields in the tmsbuild.yaml definition file. Those fields, if filled, will be included in the SBOM.Breaking: We rewrote the parameters for the (tms restore)(xref:SmartSetup.Command.Restore) command. Now you need to specify if you want to restore with registering or not, and
-with-versionsis now the default, with a new-latestparameter to restore to the latest versions, instead of the versions in the snapshot.Improved: When compiling in Delphi CE, we now rewrite the dprojs of components which have them incomplete, avoiding a "do you want to save changes" dialog for them.
Improved: Added a new "Reference" section in our documentation where we explain every command in detail. Also added guides about how to use versioning and how to use SmartSetup in a Continuous Integration environment.
Version 3.1 (March, 2026)
New: Support for the Windows on ARM EC (WinARM64EC) platform in Delphi 13.1
Fixed: In SmartSetup 3.0 we switched to the Windows Credential Manager to store the credentials, and in some cases we could hit the 1280 char size limit. Now the credentials are stored in a more efficient way that should never trigger a size limit error.
Improved: When installing in Delphi Community or Trial Delphi versions, we now compile in a clean registry entry, to avoid crashes with installed packages. This will make Delphi CE installs much more solid.
Improved: Better support for building modern C++ applications. The newest C++ releases have some differences in precompiled headers and other areas and weren't compiled properly.
Version 3.0 (March, 2026)
New: Versioning support. You can now install any available version of any product
New: Snapshots. You can get a list of every component and version installed at any point in time, and restore that snapshot
New: Pinning support. You can now pin a product to a specific version, and it won't update until you unpin it.
New: Support for unregistering products. Now you can do
tms build -unregisterin folder A, andtms buildin folder B, and you can work with the components in folder B. IF you want to switch back to using folder A, just unregister B and build A again. The switch is instant, no need to wait for products to build.New: Support for dependencies for products in the community server. Now products in the community server can depend in other products in any other zipfile server.
New: "working folder" configuration option. It allows you to keep the working folder for SmartSetup (where logs, products, etc go) in an arbitrary folder, not necessarily at the same folder where tms.config.yaml is.
New: Now your tms credentials will be stored in the Windows Credential Manager, and apply to the whole machine. There is no need to enter the credentials for every folder where you use smartsetup anymore.
New: Dark mode support in tmsgui
New: tms doctor can now check for duplicated bpls.
New: new
tms speccommand allows to create tmsbuild.yaml file for new products that you want to add to smartsetup.New: New -cmd parameter in tms
config-writeshows the parameters in the syntax you need to use when using the -p parameter.New: There is a global parameter
-add-config:<config-file-name>that you can use to override the properties set in tms.config.yaml.New: tmsgui has a new column showing the status of the products.
Improved Now the "excluded folders" in the config file apply also to fetching and uninstalling. Before, those products were only excluded from a build.
Improved Better lazarus support for products that depend on other products.
Improved Support for building in machines where IDEFixPack/FastDCC is installed. Older SmartSetup would detect an invalid compiler and compile as if this was a Rad Studio trial or community version.
Fixed: Products in the community server were failing to update some settings in corner cases.
Fixed: Unified behavior between API and Community servers. Before, API servers would stop if some operation failed, but Community servers would skip the errors and try to build anyway. Now all servers stop if there is a fetching error.
Fixed: Better detection of .zip/.tar.zstd files. The built-in TZipFile.IsValid doesn't work reliably.
Fixed: Compilation for Dn+ packages on Rad Studio Trials/Community Editions. The "+" packages use the same package for different Rad Studio versions, and rely in the $(ProductVersion) macro being set by Rad Studio. But rad studio doesn't set this macro, so we needed to workaround it.
Fixed: In some very rare cases, SmartSetup could ask for a token to the server, and the server be expired when returning, leading to a failure when downloading products from the api server.
Version 2.3 (October, 2025)
- Fixed:
error : failed to find / extract cached MinGW includes: PathAlreadyExistscould happen when trying to compile in a newly installed Delphi 13
Version 2.2 (September, 2025)
New: Delphi 13 official support.
New: For security reasons, now SmartSetup won't run pre/post build events when installing. You can edit tms.config.yaml to allow pre/post build events for specific projects.
Version 2.1 (August, 2025)
New: The config file now comes with a yaml schema that provides autocompletion and syntax checking when you edit it in an editor with yaml scheme support like VSCode.
Improved Rewritten config-read command can now return the full configuration as a JSON object, and it can return from the full configuration to some sections, to a specific property.
Version 2.0 (August, 2025)
New: Smart Setup registry. This allows everyone to put new projects in Smart Setup.
New: Servers. You can now define multiple servers where SmartSetup will look for packages. A predefined "community" server comes built-in, and it is the registry mentioned above.
New: Support for different naming conventions in the packages. Now you can specify your own naming, like for example have the packages inside a folder "Delphi 11" instead of "d11" which was the only name allowed before.
New: Support for automatically creating packages for projects that don't have them.
New: Support for compiling a single package (with {$LIBSUFFIX AUTO}) into multiple Delphi versions. Now you can have a folder "D11+" and it will be used for Delphi 11 and newer.
New: Dcu Megafolders allow you to put the result of multiple products into a single folder. This way you can shorten the library path when you are installing tens of products.
New: Delphi 13 Florence beta support. This is a work in progress, but will allow you to test your components if you have been invited to the beta
Improved: Documentation. We added documentation about how to create your own SmartSetup bundles, and much more.
Improved: Breaking Change Two new options added to
skip registersection oftms.config.yaml. You can now skipregistry(adding registry entries) andfilelinks(linking files). If you were using a form of skip registering likeskip register: [Packages, Start Menu]you might need to review it to add the new entries. The new syntaxskip register: [All, -option1, -option2]helps prevent breaking in the future if we add more options.Improved: Exe compilation. Now you can specify that you don't want to compile a "Debug exe", and also to use the latest or earliest Delphi version available to compile the exe, instead of compiling it with all available Delphis.
Fixed: Install and Uninstall buttons in
tmsguiare now enabled when the product is in status available.Breaking change: Removed
repo-register,repo-unregisterandrepo-listcommands. The functionality they offered is now replaced by servers
Version 1.10 (June, 2025)
- Fixed: Command-line not accepting multiple product names, like
tms install tms.biz.bcl tms.webcore(Regression). - Fixed: Smart Setup could report that a product had a skipped dependency when it hadn't it. (it should have been fixed in 1.9 but it wasn't)
Version 1.9 (June, 2025)
Fixed: Smart Setup could report that a product had a skipped dependency when it hadn't it. Reference.
Fixed: Configuration option
build coreswas not being enforced in some situations (even whenbuild coreswas, say, 1, it was using more than 1 core for the build).
Version 1.8 (June, 2025)
New tms doctor command allows to fix common errors in Rad Studio installations.
Fixed If a dependency of a product was compiled without debug dcus, and the product had debug dcus, the compilation would fail
Version 1.7 (April, 2025)
New:
tms config-writecommand allows to modify the configuration file from the command line. For example, to alter the IDEs and platforms that smartsetup will install, you could writetms config-write -p:configuration-for-all-products:delphi-versions=[delphixe,delphi12] -p:configuration-for-all-products:platforms=[win32intel,win64intel]New:
tms config-readcommand allows to read the settings in the configuration file from the command line. For example, to read the IDEs that smartsetup will install, you could writetms config-read configuration-for-all-products:delphi-versionsImproved: Desktop icon "TMS Smart Setup Command Prompt" renamed to "TMS Smart Setup Console". The old name was causing Windows to suggest Smart Setup instead of regular built-in "Command Prompt" when users typed "command" in Windows search. The new name will hopefully prevent Windows from doing that.
Version 1.6 (February, 2025)
Improved: Now smartsetup will allow to preserve some registry keys like license information when uninstalling.
Improved:
tmsguinow shows products sorted by status by default, meaning installed products will be listed first. Request #24608.Improved:
tmsguiicon looks better in dark backgrounds. Request #24614.
Version 1.5 (January, 2025)
- New: Now it's possible to define a "weak dependency" in the tmsbuild.yaml definition file. If a product A has a "strong" (regular) dependency on product B, it means product B needs to be installed for product A to be installed. Now you can define dependencies on specific packages of product A - for example, Package2 has a weak dependency on Product B. That means product A can be installed even without product B, in this case, Package2 will not be compiled/installed. If product B is installed, then Package2 will also be installed.
Version 1.4 (January, 2025)
New:
tmsguiprovides a "version history" popup menu option that displays the version history for the selected product. Request #24504.New:
tmsguiallows sorting the product list by clicking column heaers.New: The YAML build definition now allows for defining registry keys to be created at install time.
Improved:
tmsguinow displays error messages in a more intuitive way: the errors are displayed in a list box, and if a specific error is clicked, more details will be displayed in a text box below.Improved: Better error message when uninstalling a product that was previously installed manually (without fetching from remote repository).
Improved: Better handling of products installed manually (without fetching from remote repository), it will properly handle if user tries to install the same product over the existing one.
Improved: The presence of
$(PATH)macro in Delphi PATH environment variable override is now being checked. If not present, the BPL directory is added directly to the variable override. It avoids errors with "bad Delphi installations" like this: https://support.tmssoftware.com/t/error-installing-flexcel-for-macos64-and-macosarm64-on-macos-14-sonoma/22213/6.Fixed: Conditional defines used in the .dproj package are now being preserved and used when building them.
Fixed:
uninstallcommand was rebuilding unrelated products. Now it's smarter and rebuilds only products affected by the uninstalled products.
Version 1.3 (November, 2024)
Improved: Building a specific product (
tms build <product_id>) was not properly recompiling dependencies and dependant packages. This was particulary affecting TMS GUI tool.Improved: Internal file renaming mechanism now more resilient to antivirus and other monitoring software that might affect file operations.
Fixed: Improves iOS64 platform detection in Delphi 12. In some cases Smart Setup was wrongly assuming iOS64 platform was installed.
Fixed: Avoids duplicate "PATH" environment variable which caused issues to some users in XE5/XE6.
Version 1.2 (October, 2024)
- Fixed: Fixed writing of dpk files with no pas files (it was generating an invalid file). Reference.
Version 1.1.1 (August, 2024)
Fixed:
-jsonparameter output was not a valid JSON value (regression).Fixed:
tmsguinot working due to error "could not parse info result as JSON object" (regression).
Version 1.1 (July, 2024)
New: support for installing trials and binary packages.
New: support for
.tar.zstdcompressed bundles besides.zip, to get smaller file sizes.New: support for compiling C++ builder cbproj files.
New:
uncompresscommand allows to uncompress a tms bundle, zip or zstd.Improved: now when you uninstall all packages, smart setup removes itself from the Windows Path.
Improved: the uninstaller could leave some C++ generated files when uninstalling.
Improved: the build process now uses shorter paths, to avoid running into MAXPATH limitations.
Version 1.0.31 (June, 2024)
New: commands
repo-register,repo-unregisterandrepo-listallows for installing libraries directly from Git repositories.Improved: visual progress indicators (progress bar, title, colors) in console when running from command-line.
Improved: Win64x (modern C++) compilation improved.
Improved: Installed packages are now removed from the list of IDE disabled packages.
Improved: GUI interface now displays per-product progress.
Version 1.0.29 (May, 2024)
New: Config file supports extra file paths for a specific platform
Improved: Extra file paths now being used during the build process.
Improved: Significant performance improvement when building some products. As example TMS Flexcel build time dropped by almost 90%.
Version 1.0.28 (May, 2024)
- New: Support for Modern C++ platform.
Version 1.0.25 (February, 2024)
Improved:
tmsguienables "Install" button for installed products that are outdated, allowing updating to latest versions.Improved: installing a specific product was rebuilding other unrelated products. Now it only builds the specific installed product and dependencies.
Version 1.0.24 (February, 2024)
Improved:
tmsguiproduct list now shows uninstalled products in italic, and outdated products in bold.Improved:
tmsguiproduct list now shows remote version number even when listing only installed products. Request #22398.Fixed: Packages flagged as design-time and runtime not being compiled for non-win32 platforms
Version 1.0.22 (December, 2023)
- Improved: Several fixes and improvements since the previous version.
Version 1.0.0 (October, 2023)
- New: First version released, beta stage.