Cross-platform TFS integration

Starting from this version, TeamCity supports cross-platform TFS integration, which works on Linux, Mac OS X, and Windows platforms. Without installing additional software, TeamCity servers and build agents can interact with Team Foundation Servers (from 2010 to 2015) and Visual Studio Team Services.


The built-in TFS support used to depend on Microsoft Team Explorer, which works only on Windows machines. Now the built-in plugin can work in two modes: the default and cross-platform. The working mode is based on the availability of Team Explorer: if it is not present, the plugin falls back from the default to cross-platform mode.

Versioned project settings in TFS

Starting from this EAP, TeamCity allows storing the project configuration settings in a TFVC repository. The user specified in the TeamCity TFS root must have permissions to check in changes to the repository.

Default auto-checkout on the agent

Aiming at freeing up the server resources, we changed the default setting for the VCS checkout mode: now TeamCity will prefer to check out the sources on the agent before the build. If the agent-side checkout is not possible, TeamCity will display a corresponding health report item and will use the server-side checkout.

It only applies to newly created build configurations; all the existing one will work as configured before.

Feature branches support for Perforce streams

For VCS roots where Perforce stream is specified, you can now enable experimental support for feature branches. 

When feature branches support is enabled in Perforce VCS root, TeamCity will monitor all streams matched by branch specification:

As a result you'll see picture similar to the one you get for Git and Mercurial:

If you have a VCS trigger for a build configuration with such VCS Root, TeamCity will trigger builds for all matching streams. But, you can use an additional filter in the VCS trigger to trigger builds only for specified branches.

TeamCity should switch agent working copy between streams without clean checkout (when agent-side checkout is used).

TeamCity also allows to start a personal build (remote run/delayed commit) in an alternative stream. When there are no explicit configurations targeted to the workspace stream, suitable configurations dialog for remote run should show stream-based configurations with the same stream root as in workspace stream. TeamCity should also switch working copy to this stream when running the personal build (the stream name is indicated in the build log).

Known limitations:

Java 8

Minimum server Java

Starting from TeamCity 10, the TeamCity server requires a Java 8 JRE/JDK (included in the Windows .exe distribution). 

Recommended agent Java

Starting from the next TeamCity version, the minimum requirement for the Java on the agent will be Java 1.8 (included in the Windows .exe distribution). If an earlier version is detected, TeamCity displays a health item suggesting that you now consider upgrading the agent Java.

Cloud support

There is a number of improvements in TeamCity agent cloud support:

VMware vSphere

Amazon EC2

Better VCS Hosting Services Integrations

Now TeamCity can be connected to GitHub, GitHub Enterprise or BitBucket Cloud. Once a connection is configured, it becomes easier to setup projects which use repositories on GitHub or BitBucket Cloud.

Connections are configured per project, see the new Connections menu item on the project administration page. The configured connection is accessible in this project and in all of its subprojects. In case of global VCS hosting services like GitHub or BitBucket Cloud, it makes sense to configure a single connection for the Root project.

After that a small GitHub or BitBucket icon will be shown in several places where repository URL can be specified: create project from URL, create VCS root from URL, create Git or Mercurial VCS root, create GitHub issue tracker. Clicking this icon shows GitHub or BitBucket repositories available to the current user:

GitHub Issue tracker

TeamCity comes with built-in support for many of issue trackers, which now include GitHub. If a GitHub connection is configured, connecting TeamCity to GitHub issues can be done easily:

If you are using the TeamCity-GitHub third-party plugin, you can safely remove it: the built-in TeamCity integration will detect the existing connection to GitHub issue tracker and pick up your settings automatically.

Commit Status Publisher

Commit status publisher plugin is now bundled with TeamCity. Recently we updated this plugin with support for GitHub and BitBucket Cloud (in addition to already supported Gerrit and BitBucket Server).

Notifications enhancements

Previously it was not possible to configure notifications to watch for builds with your changes in specified build configurations. In this EAP we reworked how notifications are configured in an attempt to make them more flexible and more obvious:

New Projects popup

In this EAP a new version of TeamCity Projects popup is available. This popup was written from scratch and provides better performance, besides it allows browsing projects and build configurations on multiple servers.

The pop-up is disabled by default and can be enabled by setting the teamcity.restProjectsPopup.enabled=true internal property

There is no web interface for specifying multiple servers yet, their list can be defined via another internal propertyteamcity.federation.attachedServers=<comma separated list of TeamCity server URLs>. 

Note that the new pop-up fetches available projects using REST API, so CORS must be enabled on the target server for the pop-up to work. By the way popup is compatible with TeamCity 9.1.x REST API, so you should be able to connect this EAP build with your existing 9.1.x servers.

 

Web UI 

Performance improvements

We moved calculation of changes, artifacts and some other build-related data into background, which resulted in faster loading of pages; this is especially noticeable on the Projects overview and build configuration home page; information about changes is loaded lazily after the main page is loaded.

Console view in Build Log

You can now enable the dark theme in the build log by selecting the appropriate check-box:

Other UI enhancements

TeamCity web interface has become even convenient with the following enhancements:

New build configuration settings features

New server health reports

REST API enhancements

Bundled Plugins

TeamCity 10.x now includes the following plugins, and you no longer need to install them separately:

Deprecated features

The Legacy version of TeamCity VS Add-in (available for Visual Studio versions from 2005 to 2013 and compatible with JetBrains .NET tools prior to ReSharper 9.0, dotCover 3.0 and dotTrace 6.0.) is no longer available starting from TeamCity 10.x.
The TeamCity Visual Studio Add-in is shipped as a part of ReSharper Ultimate products bundle. After installation, the TeamCity Add-in will be available under the RESHARPER menu in Visual studio.
Note that the installer will remove the pre-bundle products versions: TeamCity and ReSharper versions prior to 9.0, dotCover prior to 3.0, dotTrace prior to 6.0.
ReSharper Ultimate does not support the Visual Studio versions 2005 and 2008.

Other Improvements