Icon

You are viewing the documentation of TeamCity 10.x and 2017.x, which is not the most recently released version of TeamCity.
View this page in the latest documentation or refer to the listing to choose the documentation corresponding to your TeamCity version.

 

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: minor edits

hidden-data
h2=====================================================================
=====================================================================
h3. Changes from 2017.12.x to 20172018.21

 
h3Gerrit 2.6 Perforceis branchthe specificationminimal changeversion Startingsupported fromby Commit TeamCityStatus 2017Publisher.2
PerforceThe VCSIntelliJ RootsIDEA useProject theRunner sameuses format for Perforce streams and TeamCity feature branches. I.e. in VCS Root branch specification for Perforce you should replace "+:stream_name" with "JPS 2017.3.4 requiring Java 1.8 as the minimal version.
 
=====================================================================

Changes from 2017.2.3 to 2017.2.4

The Inspections (.NET) and Duplicates Finder (.NET) build steps were renamed to Inspections (ReSharper) and Duplicates finder (ReSharper)

Changes from 2017.2.2 to 2017.2.3

Build revisions

In all the build configurations, the builds run before the upgrade will not be reused in the chains and will run anew (only the last build on the default branch is affected if branches are used). This can also result in a clean checkout in the first run build for VCSs like Perforce. The behavior is similar to that after VCS root editing.

hidden-data
https://youtrack.jetbrains.com/issue/TW-56187

Security

It is recommended to add " teamcity.artifacts.restrictRequestsWithArtifactReferer=trueinternal property to enhance security of the server.

hidden-data
https://youtrack.jetbrains.com/issue/TW-27206

Changes from 2017.2.1 to 2017.2.2

Anchor
knownIssues_2017_2_2
knownIssues_2017_2_2
Known issues

(Fixed 2017.2.3) If you use the Artifactory plugin and get the "Invalid RSA public key" browser message on opening build step settings, please apply the workaround.

Under Windows, when TeamCity server is started as a service, "logs\teamcity-winservice.log" file is not created and server startup errors are nowhere to be seen. Details

IDE Plugins

It is highly recommended to update the IDE plugins for all users to the latest version and then add the "teamcity.uploadPersonalPatch.requireAuthorization=true" internal property to enhance security of the server.

Perforce VCS Root executable paths

Since TeamCity 2017.2.2, the field which specifies the path to p4 works only on the agent side, for agent-side checkout.


For the server, the p4 binary should be present in the PATH of the TeamCity server (or can be specified via the teamcity.perforce.customP4Path  internal property).
The teamcity.perforce.p4PathOnServerWhitelist   internal property can be used to specify a  semi-colon-separated list of allowed p4 paths. The paths from this list can be set in VCS Root p4 path parameter for the server side (to restore old behavior).

Mercurial VCS Root properties

Since TeamCity 2017.2.2, a number of Mercurial VCS root properties change their behavior for security reasons.

  • the "HG command path" is used on the TeamCity server only if included into the whitelist
  • the "Clone repository to" property is hidden if the VCS root doesn't have it already and is ignored by default. To make TeamCity display the property in all VCS roots, add the teamcity.hg.showCustomClonePath=true  internal property. The value of the VCS root property is respected only if it is included into the whitelist specified by the teamcity.hg.customClonePathWhitelist internal property, which is a semi-colon-separated list of directories where a clone is allowed. Use /path/to/dir/* to allow clones to the child directories of the /path/to/dir.
  • the "Mercurial config" is ignored on the server. If you need to enable some Mercurial plugins, please do that in the global .hgrc on the TeamCity server machine.

Changes from 2017.2 to 2017.2.1

Kotlin DSL changes

The versions in pom.xml were updated: kotlin.version is updated to 1.2.0, teamcity.dsl.version is updated to 2017.2.1. The dependency on kotlin-stdlib is replaced with the dependency on kotlin-stdlib-jdk8 in order to provide access to additional functionality available in jdk8 (e.g. named groups in regexps). The dependency on the deprecated kotlin-runtime and the redundant dependency on kotlin-compiler-embeddable were dropped.

Now TeamCity provides a parent maven project for Kotlin DSL which defines the teamcity.dsl.version and kotlin.version properties. With such a parent project, you will not have to update your pom.xml after eachTeamCity upgrade.

The easiest way to apply these changes is to run the 'Download settings in Kotlin format' action in project admin area and use the pom.xml from the zip produced by  theTeamCity server.

Bundled Java used in Docker images

The bundled Java used in Docker images has been updated to 8u151.

Changes from 2017.1.x to 2017.2

Anchor
knownIssues_2017_2
knownIssues_2017_2
Known issues

(Fixed 2017.2.1) TFS in Java working mode (when Team Explorer is not installed on the machine) report "TFS subsystem was destroyed" errors. See TW-52685 for details.

Upgrading using Windows installer can take significant time if your TeamCity installation directory contains lots of nested directories (e.g. TeamCity Data Directory is under it). The long stage can occur after "Extract: Uninstall.exe..." progress message. In you encounter this long step, please wait for the completion of the operation (the installer runs icacls.exe utility as a nested process). To prevent the issue it is recommendd to move the data directory out of TeamCity server installation home.

Perforce branch specification change

There is a breaking change which requires your action if you use Perforce streams with enabled feature branches and you're using a non-default branch filter.

Starting from TeamCity 2017.2, Perforce VCS Roots use the same format for Perforce streams and TeamCity feature branches specification.

In the VCS Root branch specification for Perforce, +:stream_name must now be replaced with +://stream_depot/stream_name". Also, for better presentation of stream names in the UI , you may want to replace the default branch specifications like "+:*" with " +://your_stream_depot/*.

This change was made in the scope of fixing TW-48038 .

Server process restart

Now if the server process is stopped unexpectedly or killed, the process will automatically restart. The server should be stopped using the teamcity-server.bat/sh stop command which performs a graceful stop.

Bundled plugins

Docker integration plugin

The Docker integration plugin is bundled since TeamCity 2017.2.x. If you installed the plugin for the previous version manually, please remove it.

.NET CLI plugin

The .NET CLI (.NET Core) plugin is bundled since TeamCity 2017.2.x. If you installed the plugin for the previous version manually, please remove it.

During upgrade all existing .NET Core build steps will be converted into .NET CLI steps and existing .NET Core plugin will be disabled.

Note: The DotNetCore and DotNetCore_Path agent configuration parameters  will be changed to DotNetCLI and DotNetCLI_Path; please consider updating your agent requirements which depend on these parameters.

REST API

REST API uses version 2017.2. The previous versions of the API are still available under /app/rest/2017.1 (/app/rest/10.0), app/rest/9.1, /app/rest/9.0, /app/rest/8.1, /app/rest/7.0, /app/rest/6.0 URLs.

 

buildType entity
has ".    templates" sub-element now instead of "template" to support multiple templates.

build entity
No longer expose boolean "running" attribute, textual "state" attribute with value "running" is used instead.

Windows Versions Support

Windows XP and Vista are no longer the supported versions of Windows for the TeamCity Server and Agent. While the server and agent can still work on these old versions, we do not target the versions during our development. Let us know if the support for the versions is important for your TeamCity usage.

J2EE Servlet 2.5 container is no longer supported

J2EE Servlet container version 2.5 is not supported since TeamCity 2017.2. TeamCity does not guarantee support for Tomcat 6.x and Jetty 7.x implementing Servlet 2.5. For .war distribution (not recommended, .tar.gz distribution is recommended), TeamCity supports Apache Tomcat 7+, J2EE Servlet 3.0+ and JSP 2.2+.

Other

  • The bundled Tomcat 8.5. restricted usage of special characters in the URL including curly bracket symbols ({ }). Details.
  • TeamCity integration with Intellij-based IDEs no longer supports StarTeam and Visual Source Safe version controls.

Changes from 2017.1.4 to 2017.1.5

The bundled JetBrains dotCover have has been updated to version 2017.2

The SSH Agent build feature started to report a build problem if it fails to start an SSH agent with the specified SSH key (in the scope of TW-42707). Previously errors were only logged, but not reported as build problems. As a result, builds with invalid SSH Agent settings would start to fail after the upgrade.

Changes from 2017.1.3 to 2017.1.4

...

Known issues

TFS Personal support lists all build configurations for TFVC VCS root. See TW-51497 for details.

Changes from 2017.1.2 to 2017.1.3

...

Changes from 2017.1 to 2017.1.1

Bundled tools updates

The bundled IntelliJ IDEA has been updated to 2017.1.2

...

Changes from 10.0.x to 2017.1

Known issues

Editing cloud profile cancels all builds on profile agents

...

. See TW-49616 for details.

TeamCity Versioning Changes

...

Anchor
restApi2017_1
restApi2017_1

REST API

REST API has only minor changes, so the same API is exposed under the app/rest/10.0 and /app/rest/2017.1 URLs. API version has been updated to 2017.1 though to reflect the changes.
The build's node "triggeredBy" now has more correct values of "type" attribute for the builds started after 2017.1 upgrade. In particular, the "buildType" value is not used anymore, the"finishBuild", "snapshot", etc. values are used instead.

...

  1. if there is a snapshot dependency, the build from the same chain wins.
  2. if there is no snapshot dependency and several builds are accessible via an artifact dependency, the  build build with a greatergreater buildId wins. If there are several artifact dependencies from a single build configuration, only the first one is considered.

Updates

AWS SDK has been updated to 1.11.66 to support new instance types (r4.4xlarge, f1.16xlarge, t2.2xlarge, t2.xlarge, r4.2xlarge, r4.xlarge, r4.large, r4.16xlarge, r4.8xlarge, f1.2xlarge).

...

The behavior of EBS-optimization, enabled by default since TeamCity 10.0, is changed similarly to what EC2 console offers:
1) EBS-optimization is turned on by default for c4.*, m4.* and d2.* (non-configurable)
2) EBS-optimization is turned off by default for any other instance types.
3) EBS-optimization can be turned on for instances that support it (such as c3.xlarge, etc.) by checking the appropriate box when configuring the image of the Amazon cloud profile

Bundled tools updates

The bundled dotCover has been updated to version 2016.2.2

...

Starting from TeamCity 10, TeamCity does not accept by default connections to SVN servers accessed by https:// protocol with non-trusted server SSL certificate. To enable access with such certificates, you should either import the certificate to server JVM keychain, or enable VCS Root option "Accept non-trusted SSL certificate" (Enable non-trusted SSL certificate in 10.0)  (issue).

Bundled tools updates

Ant runner: the bundled Ant distribution has been upgraded from 1.9.6 to 1.9.7

...

Old keys are still supported in charts definitions.

Anchor
restApi10
restApi10

REST API

REST API uses version 10.0.  The previous versions of the API are still available under /app/rest/9.1, /app/rest/9.0, /app/rest/8.1, /app/rest/7.0, /app/rest/6.0 URLs.

...

The "Run a process per assembly" option of the NUnit runner has been removed from NUnit 3 settings. Configure the desired behavior using the required command line options in the corresponding field.

Bundled tools updates

Bundled IntelliJ IDEA updated to version # 143.1945 (roughly equivalent to 15.0.3 with a few additional fixes).

...

Gradle runner system.* properties, introduced in TeamCity 9.1.2, defined for the build as JVM's system properties of the Gradle process, will not work since 9.1.5. Now the TeamCity system properties can be accessed in Gradle scripts as Gradle properties (similarly to the ones defined in the gradle.properties file) and are to be referenced as follows:
a) name allowed as a Groovy identifier (the property name does not contain dots): customUserProperty
b) name not allowed as a Groovy identifier (the property name contains dots, e.g. build.vcs.number.1):  project.ext["build.vcs.number.1"]

Bundled tools updates

The bundled JetBrains IntelliJ IDEA (IDEA inspections and duplicates) has been updated to version 15.0.2

...

Git agent-side checkout works incorrectly with git client versions 1.7.0-1.7.4: the checkout directory contains files only, all directories are missing (details at TW-43330). To workaround the problem, add the teamcity.git.useSparseCheckout=false parameter in the Root TeamCity project.

...

Since 9.1.4  the TeamCity Windows binaries are signed with SHA-2 code-signing certificate following the Microsoft SHA-2 policies. This means that on systems prior to Windows XP SP3, the executables will not pass code signing verification; newer Windows systems require the corresponding security update from Microsoft.  

Bundled tools updates

Bundled Oracle JRE (in both Server and Agent.exe installers) has been updated to version  1.8.0_66 (32-bit)

...

Changes from 9.1.1 to 9.1.2

Known issues

The Command line runner can fail to execute a custom script if it has a non-default hashbang specified at the beginning of the script: TW-42498

...

Build status icons updated to a more "standard" look and are of a bit larger now.

Bundled tools updates

JetBrains ReSharper command line tools (.NET inspection and duplicates) have been updated to match ReSharper 9.2 release

...

Anchor
9.1restapi
9.1restapi

REST API

REST API uses version 9.1. Previous versions of API are still available under /app/rest/9.0, /app/rest/8.1, /app/rest/7.0, /app/rest/6.0 URLs.

...

Anchor
9.0restapi
9.0restapi

REST API

REST API uses version 9.0. Previous versions of API are still available under /app/rest/8.1, /app/rest/7.0, /app/rest/6.0 URLs.

...

The national character sets (nchar, nvarchar, nclob types) for text fields are now supported in MS SQL databases used by TeamCity. It is recommended to use the Microsoft native JDBC driver, as JTDS jTDS JDBC driver does not support the nchar and nvarchar characters. If you still use jTDS, please migrate.

Upon upgrade and entering the normal working status, TeamCity starts a background process to move the entries from the vcs_changes database table to vcs_change table. This process is transparent and you can continue working with the server as usual. It has negligible impact on the server performance and the only affected logic is the projects import feature (it is recommended to be used only with backups taken after the process is completed). The progress of the process can be seen on the Backup section in the server administration, along with "TeamCity is currently optimizing VCS-related data in the database for better backup/restore performance" message.
The other important thing is that the data copying increases the size of the raw database storage.
If this is an issue for your case (e.g. it might be with Microsoft SQL Server database with set database size limit), it is recommended to ensure the database size limit is twice the current size before the upgrade. It is possible to perform database-specific procedures to shrink the storage to match the actually stored data after the VCS changes migration process finishes.

...

Besides, it will not use the settings provided by the 8.1 version. The traditional add-in downloaded from TeamCity server can still use settings from previous version.

Other

TeamCity agent installation via the Java web start installation package is no longer available.

...

The change in behavior introduced in 8.1 (see below) has been fixed. Command line runners using "Executable with parameters" option which were created/changed with TeamCity 8.1
can expose a change in behavior with the upgrade. The recommended approach is to switch to "Custom script" option instead of "Executable with parameters" in command line runner.

...

Anchor
8.1restapi
8.1restapi

REST API

The latest version of the API has not changed, it is still "8.0" while there are changes in the API detailed below. If you find this inconvenient for your REST API usages, please comment in the corresponding issue.

...

If you use JetBrains YouTrack and use its TeamCity integration features, please note that only YouTrack version 4.2.4 and later are compatible with TeamCity 8.0.
If you need earlier YouTrack versions to work with TeamCity 8.0, please let us know.

Wiki Markup
{hidden-data}
on TeamCity-YouTrack compatibility:

TeamCity 8.0 introduces several changes in the latest version of its REST API which are not compatible with versions of YouTrack prior to 4.2.4. Since YouTrack is not able to use previous versions of the API bundled with TeamCity, this makes the versions incompatible.

There still is a workaround from TeamCity side to make the latest version of REST API behave in backward-compatible mode for the YouTrack-integration relevant calls.
Namely, you can add the following TeamCity internal properties:
rest.compatibility.allowExternalIdAsInternal=true
rest.beans.build.inlineRelatedIssues=true
No server restart is required.

This should make TeamCity 8.0 compatible with previous versions of YouTrack.
Please note that it is not recommended to use the options in a long run and they should be removed once you upgrade to the compatible YouTrack version.

Also, as we want to monitor the demand for the compatibility, please do not publicly share the solution provided. We will do so once we receive more inquires.
{hidden-data}
Anchor
8.0-restapi
8.0-restapi

REST API

External ids
There are changes in the API related to the new external ids for project/build types/templates as well as other changes.
The old API compatible with TeamCity 7.1 is still provided under "/app/rest/7.0" URL.

...

.NET inspection and duplicates

  inherited

 

Info

If you were using the TeamCity-GitHub third-party plugin prior to TeamCity 10.0, 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.

 

  teamcity.TruncateIgnoreReasonConverter.copyReasons
  Error
   collecting changes 
  for
   VCS repository 
  ...
  
Failed to collect TFS changes -   From version x is greater then current version y
The [bug with temp tool folders|https://youtrack.jetbrains.com/issue/TW-46648] introduced in the previous version has been fixed.