from 2018.2.x to 2019.1
 
- Agent-side tests in plugins now require Java 8
- jetbrains.buildServer.artifacts.DependencyResolverListener#artifactPatternProcessingStarted method got additional parameters

Changes from 2017.1 to 2017.2

Changes from 10.0 to 2017.1

Changes from 9.1 to 10.0

Changes from 9.0 to 9.1

Issue Trackers integration API changes

Changes from 8.1.x to 9.0

Server API changes

Changes from 7.1.x to 8.0

External ID -related changes

Common API changes

Server API changes

Authentication API changes

VCS API changes

General

Patch building

Access to VCS Services

Vcs API is split into two parts: VCS plugin api, which is used to implement VCS services in TeamCity, and VCS usage api, or just VCS API, which is used to work with VCS services from within TeamCity.

Changes from 7.0 to 7.1

Changes from 6.5 to 7.0

Changes from 6.0 to 6.5

Changes from 5.1.2 to 6.0

New responsibility event methods added:

Most methods in j.b.agent.AgentLifeCycleListener interface were extended to receive j.b.agent.BuildRunnerContext.

j.b.agent.AgentLifeCycleListener#runnerFinished(...) method added. It is called after build step is finished.

j.b.agent.duplicates.DuplicatesReporter and j.b.duplicator.DuplicateInfo are added for reporting code duplicates on agent side.

Build Agent changes:

Most methods from j.b.agent.AgentRunningBuild were splitted into j.b.agent.BuildRunnerContext and j.b.agent.BuildContext. We have added

Parameters required for build runner are represented with j.b.agent.BuildRunnerContext interface.
Every time AgentRunningBuild and BuildRunnerContext return resolved parameters back.

j.b.agent.BuildRunnerContext represents the context of current build runner. All add* methods modifies context for the runner. Those changes will be reverted whene context is switched to next runner.

j.b.agent.AgentRunningBuild provides a context of a build (i.e. shared between all runners). All addShared* methods modifies the build context (and thus all build runner contexts).

j.b.agent.BuildAgentConfiguration now contains getBuildParameters() and getConfigParameters() methods to access parameters. Configuration parameters here are formed from properties from buildAgent.properties that does not start from 'system.' or 'env.' prefix. All parameters are returned with all references resolved.

j.b.agent.AgentBuildRunner#createBuildProcess method signature has been changed to receive j.b.agent.BuildRunnerContext.

j.b.agent.CommandLineBuildService#initialize(...) method signature has been changed to receive j.b.agent.BuildRunnerContext.

j.b.agent.CommandLineBuildService#getRunnerContext(...) added

j.b.agent.CommandLineBuildService#afterProcessSuccessfullyFinished() added

j.b.agent.BuildServiceAdapter is added to simplify as proposed base class for commandline base build runner service.

Changes from 5.0 to 5.1

Web extensions:

Changes from 4.5.5 to 5.0

Parameters

j.b.serverSide.parameters.AbstractBuildParameterReferencesProvider is renamed to j.b.serverSide.parameters.AbstractBuildParametersProvider
j.b.serverSide.parameters.BuildParameterReferencesProvider is renamed into j.b.serverSide.parameters.BuildParametersProvider
BuildParameterReferencesProvider.getParameters(@NotNull final SBuild build) changed signature to getParameters(@NotNull final SBuild build, final boolean emulationMode)
j.b.agent.BuildAgentConfiguration#getCacheDirectory now receives String as argument
j.b.serverSide.buildDistribution.StartBuildPrecondition#canStart second parameters
(Map<QueuedBuildInfo, BuildAgent>) may contain null values for some queued builds

Miscellaneous

Added new build server events:
j.b.serverSide.BuildServerListener.vcsRootRemoved(SVcsRoot),
j.b.serverSide.BuildServerListener.responsibleChanged(SProject, TestNameResponsibilityEntry, TestNameResponsibilityEntry, boolean)

Added three notification methods:
j.b.notification.Notificator.notifyResponsibleAssigned(SBuildType, Set<SUser>),
j.b.notification.Notificator.notifyResponsibleChanged(TestNameResponsibilityEntry, TestNameResponsibilityEntry, SProject, Set<SUser>), j.b.notification.Notificator.notifyResponsibleAssigned(TestNameResponsibilityEntry, TestNameResponsibilityEntry, SProject, Set<SUser>)

Changes prior to 4.5.5

Not documented

preparationFinished