Per-branch Versioned Settings
TeamCity now supports branches in versioned settings roots. To enable branches, define a branch specification in settings VCS root and include there branches you want to track.
Support for branches means that you can create a branch with custom settings and TeamCity will use these settings to run a build. In a branch it is possible to customize configuration parameters, add/modify/delete build steps and build features.
Moreover it is possible to run a build on old TeamCity settings using 'Run build with this change' action on a VCS modification.
Also you can run a personal build with changed TeamCity settings from IDE. This can be useful if you want to disable some build logic in your personal build, e.g. skip some tests unrelated to the change you made. If you store settings in a dedicated repository which is not attached to a build configuration, then you need to disable 'Hide Not Related To Current Project' option in Idea to make TeamCity show suitable configurations (it is a known problem, watch https://youtrack.jetbrains.com/issue/TW-41386 for updates).
Support for NUnit 3.0
Starting from this EAP, the TeamCity NUnit runner supports NUnit 3.0.
We'd like to thank NUnit team who were kind enough to accept our patches adding TeamCity service messages support into NUnit itself. Now, starting with NUnit 3.0.0 Beta 2, NUnit detects if it is run by a TeamCity build agent and automatically switches to reporting test runs using TeamCity service messages.
File Content Replacer
TeamCity already has a build feature, allowing you to update the
AssemblyInformationalVersion attributes in
AssemblyInfo files of a solution.
In this EAP build we added a more general build feature, File Content Replacer, enabling you to change a wider range of values for the duration of the build in files specified by the user. It provides value pre-sets for replacement; custom values can also be used. On build finishing, the changed source files are reverted.
Multiple Artifact Directories Paths
By default, TeamCity stores build artifacts in
<TeamCity data directory>/system/artifacts. Starting form this EAP, it is possible not only to configure the artifact path, but also to use multiple paths: the new-line delimited list of paths to artifact directories can be specified on the server Administration | Global Settings page. Absolute and relative paths are supported; the relative paths are relative to TeamCity Data Directory.
If a new build starts, its artifacts are published into the first directory in the list. When looking for artifacts of earlier builds, TeamCity will go through the list of the artifact directories to locate the directory where build artifacts are stored.
Restricting Remote Run in Builds
Using a new build option in the General settings of a build configuration, you can restrict running personal builds. By default, triggering personal builds is enabled; uncheck the allow triggering personal builds option to disable it.
ANSI-style coloring in build logs
TeamCity build logs now support 16 basic ANSI color escape sequences and render clickable hyperlinks:
- The bundled Ant has been updated to 1.9.5.
- The bundled Java has been updated to version 8.
- PowerShell 5 is now supported
- The TeamCity Web UI now allows specifying custom commandline parameters to pass to dotCover.
- TeamCity REST API adds more abilities to filter builds for the
/app/buildsrequest. For example, now it allows retrieving entire build chains with a single request.