Specifying TeamCity data directory on the TeamCity first start page

Configuration of TeamCity data directory has been moved from the installation wizard to TeamCity startup screens. We hope it will improve the first time installation experience on non-Windows platforms.
The TeamCity data directory path specified on startup screens will be stored in <TeamCity installation directory>/conf/teamcity-startup.properties file.
If environment variable TEAMCITY_DATA_PATH is specified, then for compatibility reasons, value of this variable will be used as path to data directory.

Versioned project settings in Subversion and Perforce

Starting from this EAP, TeamCity allows storing the project configuration settings in a Subversion and Perforce version control repository. Previously, the only supported version controls were Git and Mercurial.

By default, the settings are stored in the .teamcity in the root of the repository. If you wish to change the path used by TeamCity, you can create a special VCS Root dedicated to the VCS settings storage, and specify the path as you want there.

Note that if settings are changed via user interface a commit in VCS will be performed on behalf of the user specified in VCS root. However commit message will also contain username of the TeamCity user who made UI change:

For example, in case with Perforce TeamCity will use the .teamcity directory relative to the client you configured; e.g. to store the settings in //depot/some/path/.teamcity folder, specify the Perforce mapping as follows:

//depot/some/path/... => //team-city-agent/...

Administrator-defined ordering of projects and build configurations

By default, TeamCity displays projects, their subprojects and build configurations on the Projects Overview page in alphabetical order.
Currently each user can define the order to their liking on the Overview page using the up-down button on the Configure Visible Projects pop-up. However, a unified approach might be needed for a team, and now project administrators can apply custom ordering: you can now reorder subprojects, build configurations, and templates of a project on the Project Settings page.

Create build configuration from URL

In addition to creating a project from URL, Team–°ity now comes with an option to create a build configuration from a VCS URL. All you need to do is enter a VCS URL in the create configuration wizard, select default options to create build configurations and that's it!

Schedule trigger improvements

TeamCity has different triggers suitable for various use cases. While many use cases are already covered, still we hear more and more complains about other scenarios which are hard to automate. This is especially true for scenarios when build chain should be continued automatically based on some event. Traditionally we recommend using Finish build trigger if chain should be continued once some build in the chain finishes. However, Finish build trigger is very limited. It does not allow to specify all the same options which we have for dependencies - tags, pin/unpin status, branch, etc. Also, it fires once the build finishes, however in many scenarios this is undesirable. Instead, it would be better to wait for some time before continuing chain, or continue chain only once or twice a day.

Since Schedule trigger already has notion of time, it seemed more appropriate to extend this trigger instead of adding new options to Finish Build trigger. In this EAP build Schedule trigger has got ability to watch for builds in other build configurations and trigger if these builds change. The build is defined the same way as in artifact dependency, with all the same options.

The trigger above activates at 8:00 am MSK and checks whether a build in BuildDist build configuration with tag "bs-deploy" has changed. And if it changed, trigger will put a build in queue. Note that build of BuildDist will be promoted to triggered build if there is an artifact or snapshot dependency on BuildDist in configuration where trigger is defined.

New options should cover the following feature requests:

SSH Agent build feature

Server shutdown improvements

<TeamCity installation directory>/bin/teamcity-server.bat|sh scripts now support new options to simplify shutdown of the server:

stop n
         Sends TeamCity server a stop command and waits up to n seconds for the process to end.
stop n -force
         Sends TeamCity server a stop command, waits up to n seconds for the process to end, kills the server process if it did not stop.

Other Improvements