Changes (2)

*(Known issue infex in 6.5.6)* .NET Duplicates finder may stop working, the patch is available, please see this comment: http://youtrack.jetbrains.net/issue/TW-18784#comment=27-261174

h2. Changes from 6.5.3 to 6.5.4

...

No noteworthy changes

h2. Changes from 6.5.2 to 6.5.3 No noteworthy changes

h2. Changes from 6.5.1 to 6.5.2

*Maven runner* Working with MAVEN_OPTS has changed again. Hopefully for the last time within the 6.5.x iteration. (see [http://youtrack.jetbrains.net/issue/TW-17393]) Now TeamCity acts as follows: 1. If MAVEN_OPTS is set TeamCity takes JVM arguments from MAVEN_OPTS 2. If "JVM command line parameters" are provided in the runner settings, they are taken instead of MAVEN_OPTS and *MAVEN_OPTS is overwritten with this value to propagate it to nested Maven executions*.

Those who after upgrading to 6.5 had problems of not using MAVEN_OPTS and who had to copy its value to the "JVM command line parameters" to make their builds work, now don't need to change anything in their configuration. Builds will work the same way they do in 6.5 or 6.5.1.

h2. Changes from 6.5 to 6.5.1

*(Fixed known issue) Long upgrade time and slow cleanup under Oracle*

h2. Changes from 6.0.x to 6.5

*(Known issue) Long upgrade time and slow cleanup under Oracle* On first upgraded server start the database structures are converted and this can take a long time (hours on a large database) if you use Oracle external database ([TW-17094|http://youtrack.jetbrains.net/issue/TW-17094]). This is already fixed in 6.5.1.

{anchor:agent-jvm-upgrade}*Agent JVM upgrade* With this version of TeamCity we added semi-automatic upgrade of JVM used by the agents. If there is a Java 1.6 installed on the agent, and the agent itself is still running under the Java 1.5, TeamCity will ask to switch agent to Java 1.6. All you need is to review that detected path to Java is correct and confirm this switch, the rest should be done automatically. The operation is per-agent, you'll have to make it for each agent separately. Note that we recommend to switch to Java 1.6, as at some point TeamCity will not be compatible with Java 1.5. Make sure newly selected java process has same firewall rules (i.e. port 9090 is opened to accept connections from server)

*IntelliJ IDEA Coverage data* Coverage data produced by IntelliJ IDEA coverage engine bundled with TeamCity 6.5 can only be loaded in IntelliJ IDEA 10.5+. Due to coverage data format changes older versions of IntelliJ IDEA won't be able to load coverage from the server.

*Finish build properties are displayed* Finished builds now display all their properties used in the build on "Parameters" tab. This can potentially expose names and values of parameters from other builds (those that the given build uses as artifact or snapshot dependency). Please make sure this is acceptable in your environment. You can also manage users who see the tab with "View build runtime parameters and data" permissions which is assigned "Project Developers" role by default.

*PowerShell runner is bundled* If you installed [PowerShell plugin|TW:PowerShell] manually, please remove it form {{.BuildServer/plugins}} as a fresh version is now bundled with TeamCity.

*Changed settings location* - XML test reporting settings are moved from runner settings into a dedicated [build feature|Adding Build Features]. - "Last finished build" artifact dependency on a build which has snapshot dependency is automatically converted into dedicated "Build from the same chain" source build setting.

*Responsibility is renamed to Investigation* A responsibility assigned for a failing build configuration or a test is now called investigation. This is just a terminology change to make the action more neutral. If you have any email processing rules for TeamCity investigation assignment activity, please check is they need updating to use new text patterns.

*REST API Changes* Several objects got additional attributes and sub-elements (e.g. "startDate" in reference to a build, "personal" in a change). Please check that your parsing code still works.

{anchor:65_CleaningNonDefaultCheckoutDirectories}*Cleaning Non-default Checkout Directories* In previous releases, if you have specified build [checkout directory|Build Checkout Directory] explicitly using absolute path, TeamCity would not clean the content of the directory to free space on the disk. This is no longer the case. So if you have absolute path specified for the checkout directory and you need the directory to be present on agent for other build or for the machine environment, please set {{system.teamcity.build.checkoutDir.expireHours}} [property|Build Checkout Directory#Automatic Checkout Directory Cleaning] to "never" and re-run the build. Please take into account that using [custom checkout directory|Build Checkout Directory#Custom checkout directory] is not recommended.

If you are using one of [system.teamcity.build.checkoutDir.expireHours|Build Checkout Directory#Automatic Checkout Directory Cleaning] properties and it is set to "never" to prevent the checkout directory from automatic deletion, the directory might be deleted once after TeamCity upgrade. Running the build in the build configuration once after the upgrade (and within 8 days from the previous build) will ensure that the directory preserves the "protected" behavior and will not be automatically removed by TeamCity.

*Free disk space* This release exposes [Free disk space feature|Free disk space] in UI that was earlier only available via setting build configuration properties. While the old properties still work and take precedence, it is highly recommended to remove them and specify the value via "Disk Space" build feature instead. Future TeamCity versions might stop to consider the properties specified manually.

*Command line runner* {{@echo off}} which turns off command-echoing is added to scripts provided by "Custom script" runner parameter. To enable command-echoing add {{@echo on}} to the script.

*Windows Tray Notifier* You will need to upgrade windows tray notifier by uninstalling it and installing it again. Unfortunately, auto-upgrade will not work due to issues in old version of Windows Tray Notifier.

*Maven runner* * In earlier TeamCity versions Maven was executed by invoking the 'mvn' shell script. You could specify some parameters in MAVEN_OPTS and some in UI. Maven build runner created its own MAVEN_OPT by concatenating these two ({{%MAVEN_OPTS%+jvmArgs}}). In this case, if some parameter was specified twice - in MAVEN_OPTS and in UI, only the one specified in MAVEN_OPTS was effective. Starting with TeamCity 6.5 Maven runner forms direct java command. While this approach solves many different problems, it also means that MAVEN_OPTS isn't effective anymore and all JVM command line parameters should be specified in build runner settings instead of MAVEN_OPTS. * Those who had to manually setup surefire XML reporting for Maven release builds in TeamCity 6.0.x because otherwise tests weren't reported, now can forget about that. Since TeamCity 6.5 surefire tests run by release:prepare or release:perform goals are automatically detected. So don't forget to switch surefire XML reporting off in the build configuration settings to avoid double-reporting\!

*Open API Changes* Several return types have changes in TeamCity open API, so plugins might need recompilation against new TeamCity version to continue working. Also, some API was deprecated and will be discontinued in later releases. It is recommended to update plugins not to use deprecated API. See also [Open API Changes]

h2. Changes from 6.0.2 to 6.0.3

No noteworthy changes

h2. Changes from 6.0.1 to 6.0.2

*Maven and XML Test Reporting Load CPU on Agent* If you use Maven or XML test reporter and your build is CPU-intensive, you might find important the [known issue|http://youtrack.jetbrains.net/issue/TW-15335]. Patch is available, fixed in the following updates.

h2. Changes from 6.0 to 6.0.1

No noteworthy changes

h2. Changes from 5.1.x to 6.0

*Visual Studio Add-in and Perforce* There is critical bug in TeamCity 6.0 VS Add-in when Perforce is enabled. This can cause Visual Studio hangs and crashes. The fixed add-in version is [available|ftp://ftp.intellij.net/pub/.teamcity/TW-14765/vsAddinInstaller.zip]. (related [issue|http://youtrack.jetbrains.net/issue/TW-14765]). The issue is fixed in TeamCity 6.0.1.

*TFS checkout on agent* TFS checkout on agent might refuse to work with errors. Patch is available, see the [comment|http://youtrack.jetbrains.net/issue/TW-14804#comment=27-185725]. Related [issue|http://youtrack.jetbrains.net/issue/TW-14804]. The issue is fixed in TeamCity 6.0.1.

*Error Changing Priority class* You may encounter a browser error while changing priority number of a priority class. A patch is available in a related [issue|http://youtrack.jetbrains.net/issue/TW-14816]. The issue is fixed in TeamCity 6.0.1.

Also, if you plan to upgrade to IntelliJ IDEA X (or other JetBrains IDE) please review this [known issue|Known Issues#upgradingIDEA].

*Build Failure Notifications* TeamCity 6.0 differentiates between build failure occurred while running a build script and one occurred while preparing for the build. The errors occurring in the latter case are called "failed to start" errors and are hidden by default from web UI (see "Show canceled and failed to start builds" option on Build Configuration page).

Since TeamCity 6.0, there is a separate notification rule "The build fails to start" which applies for "failed to start" builds. All the rest build failure notifications relate to build script-related failures.

Please note that on upgrade, all users who had "The build fails" notification on, will automatically get "The build fails to start" option to preserve old behavior.

*Properties Changes* {{teamcity.build.workingDir}} property should no longer be used in non-runner settings. For backward compatibility, the property is supported in non-runner settings and is resolved to the working directory of the first defined build step.

*Swabra and Build Queue Priorities Plugins are Bundled* If you have installed the plugins previously, please remove them (typically form {{.BuildServer/plugins}}) before starting upgraded TeamCity version.

*Maven runner* Java older than 1.5 is no longer supported by the agent part of Maven runner. Please make sure you specify 1.6\+ JVM in Maven runner settings or ensure JAVA_HOME points to such JVM.

*NUnit and MSTest Tests* If you had NUnit or MSTest tests configured in TeamCity UI (sln and MSBuild runners), the settings are extracted form the runners and converted to a new runner of corresponding type.

Please note that implementation of tests launching has changed and this affected relative paths usage: in TeamCity 6.0 the working directory and all the UI-specified wildcards are resolved based on the build's [checkout directory|Build Checkout Directory], while they used to be based on the directory containing .sln file. Simple settings are converted on TeamCity upgrade, but you might need to verify the runners contain appropriate settings.

*"%" Escaping in the Build Configuration Properties* Now, two percentage signs (%%) in values defined in Build Configuration settings are treated as escape for a single percentage sign. Your existing settings are converted on upgrade to preserve functioning like in previous versions. However, you might need to review the settings for unexpected "%" sign-related issues.

*.Net Framework Properties are Reported as Configuration Parameters* In previous TeamCity versions, installed .Net Frameworks, Visual Studios and Mono were reported as System Properties of the build agents. This made the properties available in the build script. In order to reduce number of TeamCity-specific properties pushed into the build scripts, the values are now reported via Configuration Parameters (that is, without "system." prefix) and are not available in the build script by default. They still be used in the Build Configuration settings via %-references by their previous names, just without "system." prefix.

*Ipr runner is deprecated in favor of IntelliJ IDEA Project runner* Runner for IntelliJ IDEA projects was completely rewritten. It is not named "IntelliJ IDEA Project" runner. Previously available Ipr runner is also preserved but is marked as deprecated and will be removed in one of the further major releases of TeamCity. It is highly recommended to migrate your existing build configurations to the new runner. Please note that the new runner uses different approach to run tests: you need to have a shared Run Configuration created in IntelliJ IDEA and reference it in the runner settings.

*Cleanup for Inspection and Duplicates data* Starting from 6.0 Inspection and Duplicates reports for the builds are cleaned when build is cleaned from history, not when build's artifacts are cleaned as it used to be.

*Inspection and Duplicates runners require Java 1.6* "Inspections" and "Duplicates (Java)" runners now require Java JDK 1.6. Please ensure Java 1.6 is installed on relevant agents and check it is specified in the "JDK home path" setting of the runners.

*XML Report Validation* If you had invalid settings of "XML Report Processing" section of the build runners, you might find the Build Configurations reporting "Report paths must be specified" messages upon upgrade. In this case, please go to the runner settings and correct the configuration. (related [issue|http://youtrack.jetbrains.net/issue/TW-14821])

*Open API Changes* See [Open API Changes] Several jars in {{devPackage}} were reordered, some moved under {{runtime}} subdirectory. Please update your plugin projects to accommodate for these changes.

*Perforce Clean Checkout* All builds using Perforce checkout will do a clean checkout after server upgrade. Please note that this can impose a high load on the server in the first hours after upgrade and server can be unresponsive while many builds are in "transferring sources" stage.

\\

h2. Changes from 5.1.2 to 5.1.3

*Path to executable in Command line runner* The [bug|http://youtrack.jetbrains.net/issue/TW-11840] was fully fixed. The behavior is the same as in pre-5.1 builds.

h2. Changes from 5.1.1 to 5.1.2

Jabber notification sending errors are displayed in web UI for administrators again (these messages were disabled in 5.1.1). If you do not use Jabber notifications, please pause the Jabber notifier on the Jabber settings server settings page.

h2. Changes from 5.1 to 5.1.1

*Path to executable in Command line runner* The [bug|http://youtrack.jetbrains.net/issue/TW-11840] was partly fixed. The behavior is the same as in pre-5.1 builds except for the case when you have the working directory specified and have the script in both checkout and working directory. The script from the working directory is used.

*Path to script file in Solution runner and MSBuild runner* The [bug|http://youtrack.jetbrains.net/issue/TW-11854] was fixed. The behavior is the same as in pre-5.1 builds.

h2. Changes from 5.0.3 to 5.1

{info}If you plan to upgrade from version 3.1.x to 5.1, you will need to modify some dtd files in {{<TeamCity Data Directory>/config}} before upgrade, read more in the issue: [TW-11813|http://youtrack.jetbrains.net/issue/TW-11813#comment=27-148589]

{info} {info}NCover 3 support may not work. See [TW-11680|http://youtrack.jetbrains.net/issue/TW-11680#comment=27-148573]

{info} *Notification templates change* Since 5.1, TeamCity uses [new template engine|Customizing Notifications] (Freemarker) to generate notification messages. New default templates are supplied and customizations to the templates made prior to upgrading are no longer effective.

If you customized notification templates prior to this upgrade, please review the new notification templates and make changes to them if necessary. Old notification templates are copied into {{<TeamCity Data Directory>/config/_trash/_notifications}} directory. Hope, you will enjoy the new templates and new extended customization capabilities.

*External database drivers location* JDBC drivers can now be placed into {{<TeamCity Data Directory>/lib/jdbc}} directory instead of {{WEB-INF/lib}}. It is recommended to use the new location. See details at [Setting up an External Database#Database Driver Installation].

PostgresSQL jdbc driver is no more bundled with TeamCity installation package, you will need to [install|Setting up an External Database#Database Driver Installation] it yourself upon upgrade.

*Vault Plugin is bundled* In this version we bundled [SourceGear Vault VCS plugin|http://confluence.jetbrains.net/display/TW/Vault] (with experimental status). Please make sure to uninstall the plugin from .BuildServer/plugins (just delete plugin's zip) if you installed it previously.

*Path to executable in Command line runner* A [bug|http://youtrack.jetbrains.net/issue/TW-11840] was introduced that requires changing the path to executable if working directory is specified in the runner. The bug is partly fixed in 5.1.1 and fully fixed in 5.1.3.

*Path to script file in Solution runner and MSBuild runner* A [bug|http://youtrack.jetbrains.net/issue/TW-11854] was introduced that requires changing the path to script if working directory is specified in the runner. The bug is fixed in 5.1.1.

*Open API Changes* See [Open API Changes]

h2. Changes from 5.0.2 to 5.0.3

No noteworthy changes. {info}There is a known issue with .NET duplicates finder: [TW-11320|http://youtrack.jetbrains.net/issue/TW-11320] Please use the patch attached to the issue. {info}

h2. Changes from 5.0.1 to 5.0.2

*External change viewers* The {{relativePath}} variable is now replaced with relative path of a file _without_ checkout rules. The previous value can be accessed via {{relativeAgentPath}}. More information at [TW-10801|http://jetbrains.net/tracker/issue/TW-10801].

h2. Changes from 5.0 to 5.0.1

No noteworthy changes.

h2. Changes from 4.5.6 to 5.0

*Pre-5.0 Enterprise Server Licenses and Agent Licenses need upgrade* With the version 5.0, we announce changes to the upgrade policy: Upgrade to 5.0 is not free. Every license (server and agent) bought since 5.0 will work with any TeamCity version released within one year since the license purchase. Please review the detailed information at [Licensing and Upgrade|http://www.jetbrains.com/teamcity/buy/index.jsp] section of the official site.

*Bundled plugins* If you used standalone plugins that are now bundled in 5.0, do not forget to remove the plugins from {{.BuildServer/plugins}} directory. The newly bundled plugins are: - Mercurial - Git (JetBrains) - REST API (was provided with YouTrack previously)

*Other plugins* If you use any plugins that are not bundled with TeamCity, please make sure you are using the latest version and it is compatible with the 5.0 release. e.g. You will need the latest version of [TW:Groovy plug] and other properties-providing extensions. Pre-5.0 notifier plugins may lack support for per-test and assignment responsibility notifications.

*Obsolete Properties* The system property "build.number.format" and environment variable "BUILD_NUMBER_FORMAT" are removed. If you need to use build number format in your build (let us know why), you can define build number format as {{%system.<property name>%}} and define <property name> system property in the build configuration (it will be passed to the build then).

*Oracle database* If you use TeamCity with Oracle database, you should add an addition privilege to the TeamCity Oracle user. In order to do it, log in to Oracle as user SYS and perform {code} grant execute on dbms_lock to <TeamCity_User>; {code} *PostgreSQL database* TeamCity 5.0 supports PostrgeSQL version 8.3+. So if the version of your PostgreSQL server is less than 8.3 then it needs to be upgraded.

*Open API Changes* See [Open API Changes]

h2. Changes from 4.5.2 to 4.5.6

No noteworthy changes.

h2. Changes from 4.5.1 to 4.5.2

Here is a critical issue with Rake runner in 4.5.2 release. Please see [TW-8485|http://jetbrains.net/tracker/issue2/TW-8485] for details and a fixing patch.

h2. Changes from 4.5.0 to 4.5.1

No noteworthy changes.

h2. Changes from 4.0.2 to 4.5

*Default User Roles* The roles assigned as default for new users will be moved to "All Users" groups and will be effectively granted to all users already registered in TeamCity.

*Running builds during server restart* Please ensure there are no running builds during server upgrade. If there are builds that run during server restart and these builds have test, the builds will be canceled and re-added to build queue ([TW-7476|http://jetbrains.net/tracker/issue/TW-7476]).

*LDAP settings rename* If you had LDAP integration configured, several settings will be automatically converted on first start of the new server. The renamed settings are: * {{formatDN}} --- is renamed to {{teamcity.auth.formatDN}} * {{loginFilter}} --- is renamed to {{teamcity.auth.loginFilter}}

h2. Changes from 4.0.1 to 4.0.2

*Increased first cleanup time* The first server cleanup after the update can take significantly more time. Further cleanups should return to usual times. During this first cleanup the data associated with deleted build configuration is cleaned. It was not cleaned earlier because of a bug in TeamCity versions 4.0 and 4.0.1.

h2. Changes from 4.0 to 4.0.1

*"importData" service message arguments* *id* argument renamed to *type* and *file* to *path*. This change is backward-compatible. See [Using Service Messages|FxCop] section for examples of new syntax.

h2. Changes from 3.1.2 to 4.0

*Initial startup time* On the very first start of the new version of TeamCity, the database structure will be upgraded. This process can increase the time of the server startup. The first startup can take up to 20 minutes more then regular one. This time depends on the size of your builds history, average number of tests in a build and the server hardware.

*Users re-login will be forced after upgrade* Upon upgrade, all users will be automatically logged off and will need to re-login in their browsers to TeamCity web UI. After the first login since upgrade, *Remember me* functionality will work as usual.

*Using VCS revisions in the build* {{build.vcs.number.N}} system properties are replaced with {{build.vcs.number.<escaped VCS root name>}} properties (or just {{build.vcs.number}} if there is only one root). If you used the properties in the build script you should update the usages manually or switch compatibility mode on. References to the properties in the build configuration settings are updated automatically. Corresponding environment variable has been affected too. [Read more|Defining and Using Build Parameters in Build Configuration#build_vcs_number].

*Test suite* Due to the fact that TeamCity started to handle tests suites, the tests with suite name defined will be treated as new tests (thus, test history can start from scratch for these tests.)

*Artifact dependency pattern* Artifact dependencies patterns now support [Ant-like wildcards|TCD4:Wildcards]. If you relied on "*" pattern to match directory names, please adjust your pattern to use "**/*" instead of single "*". If you relied on the "*" pattern to download only the files without extension, please update your pattern to use "*." for that.

*Downloading of artifacts with help of Ivy* If you downloaded artifacts from the build scripts (like Ant build.xml) with help of Ivy tasks you should modify your ivyconf.xml file and remove all statuses from there except "integration". You can take the ivyconf.xml file from the following page as reference: [http://www.jetbrains.net/confluence/display/TCD4/Configuring+Dependencies]

*Browser caches (IE)* To force Internet Explorer to use updated icons (i.e. for the Run button) you may need to force page reload (Ctrl+Shift+R) or delete "Temporary Internet Files".

h2. Changes from 3.1.1 to 3.1.2

No noteworthy changes.

h2. Changes from 3.1 to 3.1.1

No noteworthy changes.

h2. Changes from 3.0.1 to 3.1

*Guest User and Agent Details*

Starting from version 3.1, the Guest user does not have access to the agent details page. This has been done to reduce exposing potentially sensitive information regarding the agents' environment. In the Enterprise Edition, the Guest user's roles can be edited at the *Users and Groups* page to provide the needed level of permission.

*StarTeam Support*

*Working Folders in Use*

Since version 3.1 when checking out files from a StarTeam repository TeamCity builds directory structure on the base of the working folder names, not just folder names as it was in earlier versions. So if you are satisfied with the way TeamCity worked with StarTeam folders in version 3.0, ensure the working folders' names are equal to the corresponding folder names (which is so by default).

Also note, that although StarTeam allows using absolute paths as working folders, TeamCity supports relative paths only and doesn't detect absolute paths presence. So be careful and review your configuration.

*StarTeam URL Parser Fixed*

In version 3.0 a user must have followed a wrong URL scheme. It was like _starteam://server:49201/project/view/rootFolder/subfolder/..._ and didn't work when user tried to&nbsp;refer a non-default view. In version 3.1 the native StarTeam URL parser is utilized. This means you now don't have to specify the root folder in the URL, and the previous example should look like _starteam://server:49201/project/view/subfolder/..._

h2. Changes from 3.0 to 3.0.1

*Linux Agent Upgrade* * Due to an issue with Agent upgrade under Linux, Agent auxiliary Launcher processes may have been left running after agent upgrades. Versions 3.0.1 and up fix the issue. To get rid of the stale running processes, after automatic agent upgrade, please stop the agent (via {{agent.sh kill}} command) and kill any running {{java jetbrains.buildServer.agent.Launcher}} processes and start the agent again.

h2. Changes from 2.x to 3.0

*Incompatible changes*

Please note that TeamCity 3.0 introduces several changes incompatible with TeamCity 2.x: * *build.working.dir* system property is renamed to *teamcity.build.checkoutDir*. If you use the property in you build scripts, please update the scripts. * {{runAll.bat}} script now accepts a required parameter: *start* to start server and agent, *stop* to stop server and agent. * Under Windows, {{agent.bat}} script now accepts a required parameter: *start* to start agent, *stop* to stop agent. Note that in this case agent will be stopped only after it becomes idle (no builds are run). To force immediate agent stopping, use {{agent.bat stop force}} command that is available under both Windows and Linux ({{agent.sh stop force}}). Under Linux you can also use {{agent.sh stop kill}} command to stop agents not responding to {{agent.sh stop force}}.

*Build working directory*

Since TeamCity 3.0 introduces ability to configure VCS roots on per-Build Configuration basis, rather then per-Project, the default directory in which build configuration sources are checked out on agent now has generated name. If you need to know the directory used by a build configuration, you can refer to {{<agent home>/work/directory.map}} file which lists build configurations with the directory used by them. See also [Build Checkout Directory]

*User Roles when upgrading from TeamCity 1.x/2.x/3.x Professional to 3.x Enterprise*

When upgrading from TeamCity 1.x/2.x/3.x Professional to 3.x Enterprise for the first time TeamCity's accounts will be assigned the following [roles|Role and Permission] by default: * _Administrators_ become System Administrators * _Users_ become Project Developers for all of the projects * The _Guest_ account is able to view all of the projects * _Default user_ roles are set to Project Developer for all of the projects