Release Highlights
FEATURES AND IMPROVEMENTS
REPOSITORY
- Add proof build support for Accurev repository.
- Add repository of Gerrit type to support verifying changes/patchsets from a Gerrit server.
- Avoid creating build requests to check for changes if a branch is not changed since last check when Git repository is set to build against a set of branches. This behavior can be turned off via option Queue Changed Branches Only in configuration advanced setting.
- Improve Git repository to continue with build even if changes can not be calculated (for instance when the branch is rebased).
- Add Record Changes step to record changes of specified repository without checking it out.
- Submit If Successful of Perforce shelve support can be scripted.
- Run perforce reconcile command before build instead of after build if reconcile option is enabled for the repository. This is useful to leave workspace untouched for diagnostics purpose after running a build.
- Perforce shelve support is improved to leverage the -e switch when submitting perforce shelved changes. This option has the advantage of also removing the shelved changes at developer side if the change is submitted by QuickBuild.
BUILD WORKFLOW
- Integrate JFrog Artifactory to publish artifacts and resolve build dependencies.
- Able to persist unprocessed build requests upon system shutdown, and resume to process persisted build requests after system is started.
- Add step condition if the build is cancelled and execute as long as the build is not cancelled to control whether or not a step should be executed upon build cancellation.
- Sync Maven build version after running maven build step in order to pick up version changes in pom file modified by maven release plugin.
- Improve grid system to check agent connectivity periodically during a build and cancel all build steps running in the grid when agent connection loss is detected.
- Pause action in system setting page now simply pauses build requests instead of failing them.
- Add options in configuration advanced settings to execute specified scripts upon deleting configurations and builds.
- Audit logging of builds triggered by other builds.
SECURITY
- Single sign-on support by trusting user name in specified http header, which can be configured via security setting page.
- Able to define permission sets in administration page and assign permission sets to groups.
- Able to run as arbitrary user from user management page if current user has administrative rights.
- Manually associated groups at QuickBuild side to a LDAP user will remain associated even after a LDAP group refresh.
USER INTERFACE
- Able to find overrides and usages in descendant configurations for steps/repositories/variables/notifications/aggregations/promotions.
- Able to view step log before build finishes.
- Improve build live log to display log entries more accurately when parallel steps are involved.
- Improve build live log to pause refreshing if user scrolls back.
- Able to aggregate SCM changes to display overall SCM changes and statistics of descendant configurations.
- Provide the option of not matching specified criteria when filter active grid nodes.
- Able to copy current configuration to selected parent at right top side of the screen.
- Able to display custom banner via system setting page.
- Able to render html tags in custom request/build column.
- Display schedule information in configuration search page.
- Configuration search is now case insensitive.
- Able to display links to failed dependency build in step status graph.
- Node link now points to node detail page on step status graph for consistence with other node links, and a separate workspace link is added to lead user to node workspace page on step status graph.
- Adds an option in configuration advanced settings to control whether or not to display configuration links in build pipelines page.
API
- RESTful API can now list promoted builds if specific build via /rest/builds/<build id>/promotedTo.
- Able to create/update/delete grid resources via RESTful API.
- Able to add custom tabs to details of a particular grid node via extension point NodeTabContribution.
- Improve MiscUtils.sendMail to be able to specify bcc list.
- Return a http status code of 204 (no content) for file listing RESTful API of specified path does not exist.
OTHERS
- Velocity template of email notification can now use #include/#parse directive to include contents under the publish directory of current build.
- Add metrics of new arriving build requests.
- Apache commons codec is updated to latest version to make it working with groovy http client.
FIXED BUGS
- EC2 node can go offline right after it is picked for running a step.
- Running agent/server on Mac OSX Yosemite prints error message of "illegal option – o" (requires re-installing of build agent).
- Mac OSX Yosemite is incorrectly identified as 32bit although it is 64bit (requires re-installing of build agent).
- Large build log can cause read timeout exception to make build logs not available after build.
- Hibernate exception of illegally attempted to a proxy with two open sessions can be raised when requesting a manual build.
- Audit log does not contain changes made to alert and custom stats settings.
- Http basic authentication information is not URL encoded when cloning a Git repository.
- Perforce commit dates is incorrect if timezone of QuickBuild server and Perforce server is different.
- Perforce client can be re-created in some cases when shelve support is enabled.
- Agent token can get lost at server side to cause agent not being able to connect with server.
- Mail timeout setting does not have effect.
BACKWARD COMPATIBILITY ISSUES
- Since 5.0.14, RESTful APIs for fetching changes and issues are changed, especially for configuration param, the notable changes are, when you specify configuration path before 5.0.14, you need add PATH: as a prefix, now, you can specify the configuration path directly.
- Groovy is upgraded from 1.7.9 to 1.8.9 and this may affect some existing scripts.
Important
- When upgrading to QuickBuild 5.0.14, you may need reinstall QuickBuild for JIRA plugin, as the old plugin is not compatible with the new REST API supplied by QuickBuild.