Changes since 2.0.1
- Display number of history builds in dashboard.
- Configurable agent timeouts through system setting.
- Be able to checkout StarTeam projects non-recursively.
- Be able to publish artifacts from an absolute path.
- Be able to configure success condition of the trigger build step. The ability to trigger multiple configurations in a single trigger build step is removed for simplicity reason.
- Fix the bug that breadcrumb may get disappeared in rare cases.
- Fix the issue that Maven plugin does not work well with POMs with inheritance. The ability to use version defined in POM as build version and display deployed Maven artifacts are temporarily disabled in order to fix the issue. More complete Maven support will be provided in future versions.
- Fix the bug that the SCM File Activities are not accurate.
- Fix sort problems in report plugin: TestNG, MBUnit, PMD, CheckStyle
- When report is mal-formed, don't abort the publish step, instead, QuickBuild will continue to publish others and record the mal-formed XML reports in the "Not Processed" tab.
Changes since 2.0.0
- LDAP integration: ignore groups in LDAP but not defined in QuickBuild.
- Be able to pre-create LDAP users in QuickBuild by specifying authenticator property when add an user.
- In case of multiple authenticator, users can be moved from one authenticator to another.
- If an user subscribe to be notified by a configuration and its ancestor in the same time, notify condition of the child configuration will override condition of the ancestor configuration.
- Avoid to create empty build directories if 1.x build directories are not found when migrating from 1.x.
- Add download link for build logs. Build logs can now be downloaded in form of "http://server/download/<build id>/log".
- Fix the bug that build file option is passed to NAnt incorrectly.
- Fix the bug that Maven artifacts are displayed right to the Junit report in build overview page.
Changes since 2.0 beta9
- Randomize grid node selection if loads are of the same value.
- Ask for user confirmation before clean workspaces.
- Make "wait for finishing" property of trigger step scriptable.
- Enhance email notify template to include step error messages even if build is successful.
- Fix the bug that password may got cleared when edit an existing user.
Changes since 2.0 beta8
- Replace gridgain with QuickBuild's own grid implementation for simplicity and reliability reason.
- New load balance algorithm to distributes build loads to agents more evenly.
- Introduce build mode concept to configuration. Three build modes are supported, respectively concurrent, sequential and disabled.
- Absolute path support for step "Fix Line End" and "Change Permission".
- Label lock support for Perforce repository.
- Change queue implementation to avoid possible deadlock of dependency builds.
Changes since 2.0 beta7
- Tune various network operation timeouts to fit into heavy load environment.
- Add step pre-execution script and post-execution script.
- Step status graph now displays steps correctly for past builds even if they are removed from configuration.
- Trigger build step is enhanced to respect the trigger chain to be able to works better with configuration dependencies.
- Fix the issue that JVM may got restarted on heavy load.
- Fix the issue that empty parall composition step can not be executed.
- Fix the bug that junit publish step does not correctly displays muti-line error messages.
- Fix the bug that junit publish step does not work with the test case that crashes the JVM.
- Fix the bug that build log scrolls incorrectly when build is running.
Changes since 2.0 beta6
- Fix the critical bug that child steps defined in a sequential step always take the alphabet order.
- Fix the bug that "workspace cleanup condition" is not preserved when change step type.
- Fix the bug that embedded html reports are not scrollable if it is too long.
Changes since 2.0 beta5
- Gracefully stop QuickBuild server through menu "Administration/Server Stop".
- Display html report directly at right side of the build tabs, instead of poping up a new window.
- Add "build modify script" property in configuration to allow modification to the generated build object before actually running the build.
- Be able to stop running of configuration (besides the ability to cancel a build).
- Add back the "expand all" button to dashboard, but only available when the associated group has "expand all" permission.
- Be able to specify include and exclude patterns when detect changes from SCM.
- Change unit of build timeout from minutes to seconds.
- Display changed files in alphabet order.
- Display available/selected steps in alphabet order when define composite steps.
- Display child steps of parallel step in alphabet order in the step graph.
- Display at most 25 changes in build overview screen.
- Pagination support for changes display.
- Upgrade MVEL script engine to 2.0.13 to avoid known MVEL bugs.
- Add remote API method: getConfigurationPath, getConfigurationChildren, getConfigurationDescendents, and deleteConfiguration.
- Keep as much information as possible when change a step type.
- Fix the bug that a null character in log message prevents logs from being displayed correctly under internet explorer.
- Fix the bug that build timeout sometimes does not work.
- Fix the bug that build cancellation sometimes does not work.
- Fix the bug that proof build does not work for Subversion 1.6.
- Fix the bug that detected Perforce changes may not be accurate for complex client view mappings.
- Fix the bug that Maven builds does not use versioned defined in POM.
- Fix the bug that SCM changes may not be accurate if multiple checkout steps are executed concurrently.
- Fix the bug that migrate/import to MySQL causes QuickBuild complaining about constraint violated.
Changes since 2.0 beta4
- Add the "Change Permission" step to change permissions of specified set of files.
- Resolve the issue that the build grid does not work if JVMs from different vendors are used at the same time.
- Fix the bug that if build across multiple agents, a Grid exception will be thrown complaining about unmarshalling errors.
- Fix the bug that QuickBuild is unable to delete a temp file when transferring artifacts from agents to server.
- Fix the bug that NPE will be thrown if switching to a configuration without builds while viewing build reports.
- Fix the bug that build notification email may contain duplicated report summaries if build is configured with parallel steps.
- Fix the bug that if a scheduled build includes a step to trigger another build, the second build will display the "triggered by" property as "unknown", instead of "scheduler".
- Fix the bug that checkouting against Accurev causes QuickBuild to complain about "not serializable" error.
Changes since 2.0 beta3
- Be able to look up email from Perforce server, and use it to send build notifications if the committer is not a QuickBuild user.
- Be able to look up email from StarTeam server, and use it to send build notifications if the committer is not a QuickBuild user.
- Be able to look up email from LDAP server, and use it to send build notifications if the committer is not a QuickBuild user.
- Keeps user attribute tab selected while switch between build agents.
- Fix the issue that auto-refresh eats lot of server CPU cycles when there is large number of configurations expanded in dashboard.
- Fix the bug that non-admin user can not access build statistics and changes statistics.
- Fix the bug that migrating the command builder defined in 1.x will cause a "ConversionException" if the builder has property "dir to run command" specified.
- Fix the issue that migration script runs out of memory on 64bit JVM.
- Fix the bug that LDAP authenticator can not process group DNs containing slashes.
- Fix the bug that the web interface occasionally throws a valiation exception when deleting child configurations.
Changes since 2.0 beta2
- Performance improvements. Dashboard is now much faster than previous versions even there are a
large number of configurations.
- The expand all button is removed from dashboard and all configuration trees since server will be very busy serving this request in case of many configurations, and improper use of this functionality can easily causes the server too overloaded.
- Various edit actions in the dashboard are removed and they can only be accessed when a particular configuration is selected.
- A children tab is added to configuration page to display all child configurations.
- Build step is able to run on the user agent of build initiator.
- Variable name is now constrainted. It can only starts with underscore characters or letters, and it can only consist of word characters and underscores.
- When access a variable with empty value, an empty string will be returned instead of null.
- If a variable is set to prompt and if an empty value is specified at prompt time, the default value of the variable will be used.
- Global workspace directory is removed, and workspaces on server will be created under the server installation directory just like on agents.
- Add Always and Never condition for build subscriptions.
- Published artifacts are now sorted.
- Fix the bug that changes can not be retrieved if ClearCase repository is configured to checkout on agents.
- Fix the bug that Accurev integration does not work if the build stream is backed by passthrough streams.
- Fix the bug that RSS feeds does not work.
- Fix the bug that moving builds between different configurations may cause the dashboard displaying incorrect latest builds.
- Various build step can now takes absolute path for build scripts.
Changes since 2.0 beta1
- Fix the bug of not able to stop QuickBuild server/agent on Solaris platform.
- Fix a bug that database is queried frequently when user interface is auto-refreshed.
- Simplified build agent set up: Build agents can now only be downloaded by administrator and agents installed with this package can now connect to QuickBuild server directly without authorization.
- DHCP can be used with build agents. Under the hood, QuickBuild uses security token to authenticate build agents instead of using static ip addresses.
- Configuration workspaces are named by configuration name and organized in a hierarchical structure by default.
- Child configurations can be easily selected by hoving mouse over the arrow next to the configuration name in the navigation area.
- Subversion repository is enhanced to be able to checkout urls non-recursively.
- Add report set support for publishing reports.
- Fix a bug that search results always return empty in 'By Packages' tab.
- Fix a bug that NPE is thrown when there is no data for JFreeChart.
Major improvements over QuickBuild 1.x
- Native support for a number of build reports. Refer to below documents for details of build reports:
- Build statistics. Refer to below documents for details of build statistics:
- Build grid support. Refer to below documents for details of build grid:
- Introduce the concept of proof build to build/test user's uncommited changes at server, and optionally checkin that those changes automatically if build/test succeeds.
- Visually arrange steps to design build process. Refer to below documents for details:
- Build promotion visualization. Source build and destination build will be linked to show the promotion relation.
- Fine grained access control when assign permissions for groups.
- Be able to customize build option screen and promote option screen when manually triggers a build or promote a build. This is supported through prompt settings of variables.
- Builds can run concurrently even for a single configuration to better utilize build grid resource. To configure concurrent running builds for a single configuration, the master step needs to be configured to run on agent instead of server.
- Be able to recommend build. Recommended build will have a star icon attached. Promote operation can be configured to only applicable for recommended builds.
- Build changes will be collected during a build promotion process. For example, if a release build is generated as result of promoting from a QA build, the change set between current release and last release will be collected automatically.
- Be able to view/diff changed source files in the change set panel.
- Be able to compare two builds (not necessary ajacent) and generate changes between them.
Features exist in QuickBuild 1.x but not yet implemented in 2.0
- Various IDE plugins inlcuding Eclipse, IntelliJ and Visual Studio.
- The windows tray monitor.
- Integration with JIRA.
- Remoting API.
These features will be implemented in QuickBuild 2.1