New Bundled Plugin: HashiCorp Vault - The HashiCorp Vault Support plugin is now an integral component of the standard TeamCity installation. This plugin allows you to store sensitive data in a remote source, and enables TeamCity parameters to seamlessly retrieve these values during build processes.
Untrusted Builds - With the Pull Requests feature added to your configurations you can assess new code before integrating it into the primary codebase. This feature comes with filtering options, enabling you to select whether to run builds from any contributors or solely those affiliated with your organization.
The former choice poses a notable security risk, potentially exposing your TeamCity server to malicious code camouflaged within pull requests.
Conversely, opting for the latter restricts collaboration opportunities with a broader audience.
This release introduces a new setup that eliminates this trade-off between collaboration and security. The new Untrusted Builds group under project settings allows TeamCity to differentiate changes authored by trusted users from changes coming from an external source. New builds are triggered regardless of the changes' author, but builds that incorporate unverified changes will remain in queue until a designated reviewer (or a group of reviewers) marks them as safe to run.
New dotCover Runner - The new dotCover runner can automatically retrieve code coverage snapshots from multiple preceding .NET steps, and use these individual snapshots to publish a single coverage report.
Automatic Retry of Failed .NET Tests - If the .NET runner executes the test or vstest command, the runner's settings now display the new Test retry count option. This field allows you to specify how many times during the same build TeamCity can re-run failed tests. Failed tests are re-launched until they either achieve success or exhaust the maximum number of attempts. This technique allows you to identify flaky tests and distinguish them from genuinely problematic tests that consistently fail regardless of the number of launch attempts.
Gradle Configuration Cache - Starting with this version, you can now enable the configuration cache feature for Gradle builds running in TeamCity. This feature substantially enhances build performance by caching the configuration phase's result and reusing it in subsequent builds.
Optional Artifact Dependencies - Added the ability to run a dependent build even if its artifact rules yield no files. To do so, start an artifact rule with the ?: prefix.
Enhanced Git LFS and Submodules Support - You can now add parameter-based credentials to your TeamCity projects. When checking out source files, TeamCity will use these credentials to access and download required files. This feature allows you to set up TeamCity integration with Sonatype Nexus LFS repositories and other popular solutions.
New Parameter Dialog - In this release the Add/Edit Parameter dialog that you utilize when configuring build parameters has been redesigned. In addition to other notable enhancements, the updated dialog allows you to select a new parameter type - Remote secret. Choose this type for parameters whose values should be retrieved from a remote source (for example, HashiCorp Vault).
Alternative Fetch URLs - In this release, build agents can now fetch sources from a pre-configured repository proxy that mirrors your original Git repository. This capability is especially valuable for large distributed systems, mitigating connectivity issues for agents distant from the primary repository. Fetch URL mapping rules, defined in agent configuration files, offer granular control over the checkout process per agent. Additionally, wildcard and partial URL support in redirection rules enables the creation of universal, project-agnostic mapping patterns.
Miscellaneous Changes:
The Open Terminal button now opens the terminal in the checkout directory. If invoked from the agent's overview page, the terminal still opens in the $HOME directory.
The new Commit Status Publisher setting allows you to choose whether you want TeamCity to post Swarm review comments when a build finishes. If this option is disabled, the build feature will only update the review's Tests section.
The Parameters | Statistic values section of composite builds now includes an additional metric that displays how much time this build saved by reusing previous builds instead of running them anew.