View Source

h1. Quick links
* [Installation Guide|Installation Guide]
* [Upgrade Guide|Upgrade to 3.0.x]
* [Documentation|Documentation Home]
* [Download Link|http://www.pmease.com/downloads/eap/]

{note}Check the [upgrade guide|Upgrade to 3.0.x] for incompatibilities with 2.x.{note}

h1. Major Improvements over 2.1
h3. Third party integrations
# [Integrating QuickBuild with JIRA] and [Integrating JIRA with QuickBuild]
#* Transform JIRA issue keys in SCM commit messages to issue links.
#* Update JIRA issues based on commands found in SCM commit messages. For example, _fix TST-123 --time 2d --comment some comment_ tells QuickBuild to resolve issue _TST-123_ with a worklog of two days and a comment _some comment_. Issues will be updatede under the JIRA account associated with the SCM committer.
#* Create JIRA issues under certain conditions and assign to certain persons. For example, you may configure QuickBuild to create an issue for build failure and have it assigned to build engineer, or create issues for unit test failures and have them assigned to corresponding developers.
#* Corresponding project versions in JIRA can be automatically released if certain build is successful. Further, build version can be pushed into JIRA as released project version if it does not exist already.
#* Issues fixed in a build can be associated with corresponding JIRA versions automatically via _fix version/s_ field of the issue.
#* Next build version in QuickBuild can be configured to use next unreleased version of corresponding JIRA project.
#* A JIRA issues tab to display information of issues relating to current build, or comparison of two arbitrary builds. Issues can be searched by summary within QuickBuild.
#* [A QuickBuild plugin|http://build.pmease.com/build/50.latest] running at JIRA side to disclose SCM changes and builds information for an issue. User may view/diff changed files of issues directly from JIRA without FishEye being installed.
# [Integrating QuickBuild with Trac]
#* Transform Trac ticket numbers in SCM commit messages to ticket links.
#* Update Trac tickets based on commands found in SCM commit messages. For example, _fix #123 --comment some comment_ tells QuickBuild to fix ticket _#123_ with a comment _some comment_. Tickets will be updatede under the Trac account associated with the SCM committer.
#* Create Trac tickets under certain conditions and assign to certain person. For example, you may configure QuickBuild to create a ticket for build failure and have it assigned to build engineer, or create tickets for unit test failures and have them assigned to corresponding developers.
#* Milestones in Trac can be automatically released if certain build is successful. Further, build version can be pushed into Trac as released milestone if it does not exist already.
#* Tickets fixed in a build can be associated with corresponding Trac milestones automatically via _milestone_ field of the ticket.
#* Next build version in QuickBuild can be configured to use next unreleased Trac milestone.
#* A Trac tickets tab to display information of tickets relating to current build, or comparison of two arbitrary builds. Tickets can be searched by summary within QuickBuild.
# [Integrating QuickBuild with Bugzilla]
#* Transform Bugzill bug numbers in SCM commit messages to bug links.
#* A Bugzilla bugs tab to display information of bugs relating to current build, or comparison of two arbitrary builds. Bugs can be searched by summary within QuickBuild.
# Support to analyze and publish MSTest report.

h3. UI improvements

# A non-admin account can now be authorized to administer a configuration subtree.
# Inherited settings such as steps, repositories and variables will be displayed directly in descendant configurations. This makes examination and modification of inherited settings much easier.
# Drag and drop steps to rearrange build workflow.
# Multiple promote actions can be defined, with the ability to define condition of each action. For example, you may define promote actions such as _deploy to dev server_, _deploy to QA server_, _release_, and they will appear on build page conditionally based on status of the build and permission of current user.
# Step success rate and duration statistics.
# SCM Changes can now be searched.
# A configuration specific dashboard to display brief information of a configuration, including description, next build version, overall build success rate, average build duration, error messages, recent builds, and pending build requests.
# A general commit message transformer to transform arbitrary snippet of SCM commit message freely. This feature is typically used to transform issue keys into issue links for issue trackers currently not supported by QuickBuild.
# A build variables tab to display value of all used variables in a build.
# Add the option of auto-detecting user time zone from browser to display local date/time. This option resides in my setting page.
# Add option to clear passwords when backup database. This is useful when sending backup for diagnostics.
# Be able to add description for a build.

h3. Build engine improvements

# The same step can now be reused in different composition steps.
# Step can be repeated for different set of parameters, either parallelly, or sequentially. For example, you may create a singe test step to have it execute for each combination of possible databases and OS platforms, or have it run on every build agents. This can greatly reduce number of steps needed in a complex build workflow.
# Spawned process tree in build batch or shell script can now be killed.
# Dependency builds triggered by QuickBuild repository or trigger build step can now respect queue settings.

h3. Other improvements

# Tray monitor is improved to reflect build status in tray icon.
# [RESTful API] is redesigned to be fast and stable.
# Be able to configure QuickBuild server or agent to bind to specific network interface via "bin/config.(bat|sh)".
# Be able to configure performance factor of grid node via "bin/config.(bat|sh)".
# Promotion now takes variables defined in destination configuration into consideration and will prompt for them if necessary.
# Add scripting API for various build steps to get command return code.
# Prompting variables in the order they are defined instead of alphabetical order.