This documentation relates to QuickBuild 8.0.x
Select here if you are using a different version

Documentation Home

Version 1 by Robin Shen
on Jan 08, 2018 11:17.


 
compared with
Current by Robin Shen
on Feb 11, 2020 01:25.


 
Key
These lines were removed. This word was removed.
These lines were added. This word was added.

View page history


There are 8 changes. View first change.

 {panel:title=Release Highlights|borderStyle=solid|borderColor=#A3BFB1|titleBGColor=#CEF2E0|bgColor=#ffffff}
  
 h2. Architecture
 * QuickBuild server and agent now require Java 1.7 or higher versions
 * Upgrade to use Jetty9
 * Add upgrade script to upgrade previous installation in-place to be more convenient and avoid issues such as re-installation of services
 * Add MariaDB support
 * Use Java 7 FileStore API to monitor disk usage when sigar is failed
  h2. New features
  
h2. Build System
 * Parallel composition step can be configured with limited number of workers to queue processing of its child steps instead of running them all at once
 * Bullseye coverage integration
 * Custom statistics report aggregation
 * Enhance auto-promote flag as auto-promote condition so that user can customize on which condition to auto-promote a build
 * Put uploaded file of file input variables into folder "qb_build_uploads" under workspace of master node, and preserve the original file name
 * Able to accept and persist new build requests while wait for finish of running builds upon system shutdown
 * Apply build timeout to build condition check stage as well
 * Add step retry setting upon failure
 * Add command pre-kill script in configuration advanced setting
 * Make the Maven build plugin's effective POM resolving configurable per-step
 * Add the possibility to use the master step node in Node Selection option
 * Add a resource node selector to match host name against regular expression
 * Use mvn.cmd instead of mvn.bat if neither Maven home nor Maven executable is specified
 * Map committer to user using full name in addition to login name when send build notifications
 * Place build publish directory in multiple subfolders to avoid too many files in a single directory
 * Mark non-interruptible groovy script step as cancelled upon cancellation in order to signal subsequent steps to take appropriate actions
 * Add a script evaluation in step repetition value provider to return list of values instead of comma/newline separated string
 * Add an option not to post build status as review info on Gerrit repository
 * Ensure destination directory exists when export a single file from Subversion repository
  * QB-3007: Launch build agent on demand in Kubernetes cluster
 * QB-3109: Launch build agent on demand in Azure cloud
 * QB-3063: BitBucket cloud (bitucket.org) integraion
 * QB-2891: Slack Notification Plugin
 * QB-3075: Add GitHub's build status markdown
 * QB-3107: File compress support for artifact publishing/dependency resolving/artifact promotion
 * QB-3105: An option to display parallel steps vertically
 * QB-3100: Add ticket authentication for Perforce repository besides password
 * QB-3094: Add support for triggering builds on one configuration for pull requests and branches
 * QB-3092: Additional access control for grid tab via group
 * QB-3088: Able to search builds by master node address
 * QB-3086: Nested permission set support
 * QB-3116: Edit group authorizations at configuration side
 * QB-3119: Add a configuration level cache to store script evaluation result
 * QB-3079: Able to diff original value and current value for setting overriden
 * QB-3077: Able to pause notification of a configuration tree
 * QB-2197: Able to set per-step log level
 * QB-3076: Able to specify output charset for command build step
 * QB-3073: Gzip compression when access build log
 * QB-3072: Add full name to user pick list when edit a group
 * QB-3070: An option to prevent artifacts override when doing publish
 * QB-3052: Dashboard administration - ownership transfer
 * QB-3121: Able to specify primary dashboard if multiple dashboards are applicable for new users
 * QB-3122: Build cleanup strategy to evaluate a condition to determine if the build should be preserved
 * QB-3023: Able to specify network loss tolerance period when executing a step
 * QB-3022: Add user information to "pause system" messaging
 * QB-3020: Setting patterns on the "Artifact Cleanup Strategy"
 * QB-3008: Change the variable option such as read only, allow empty, remember from check-box to script
 * QB-3005: Multiple user and version search support in build history filter
 * QB-3003: Git gc run before doing a fetch/pull
 * QB-2992: Add conditions to velocity template attachements
 * QB-3123: Optionally disable "p4 print" during unshelve for improved performance
 * QB-3124: Dashboard should only be allowed to be edited by owner or administrator
 * QB-2981: Build step - configuration export and import
 * QB-2977: Allow conditions to be added to the step "retry after failure" feature
 * QB-2976: An option to show urls in step log as links
 * QB-2975: Add the ability to make "view log of this step" wicket a shareable link
 * QB-2973: Editable customized access denied message for configuration
 * QB-3097: Custom Statistics Widget - Data Range Display
 * QB-3081: Custom statistics history gadget always starts at zero although there are also negative numbers
 * QB-3044: User management 'shorcut' letters should have an option "startsWith" on top of "contains"
 * QB-3027: Add "Count" Indicator to Build Stats dashboard gadget
 * QB-3010: JaCoCo Aggregation Table Gadget
  
h2. User Interface
 * Add condition script to build and request custom column to display them conditionally based on current configuration
 * Add a gadget to show running builds in specified configuration
 * Heatmap to show number of running builds
 * Able to export/import specified configuration tree
 * Able to prevent inheritance of certain steps, variables, promotions, repositories, aggregations and notifications
 * Able to hide inherited objects (steps, repositories, variables, etc) in child configurations
 * Able to filter steps/repositories/variables/promotions/aggregations containing specified text
 * Add button to clone inherited steps, repositories, and variables into current configuration
 * Navigate between changes in diff view
 * Allow searching by build version/id under build statistics/SCM activities/change history
 * Download link for "SCM Changes" report
 * Use group dashboard as default for new users
 * Able to change build request order in queue via drag&drop
 * Able to recommend/unrecommend bulk of builds in configuration history page or build find result page
 * Able to filter out build requests from audit log
 * Add separate sliders for available steps and workflow for easier workflow organization
 * Filter users not logged in since specified date for deletion
 * Auto-refresh dashboard gadget using latest finished/latest successful/latest recommended build
 * Scripting support for LDAP/ActiveDirectory authenticator properties
 * Define custom message in system setting to show on access denied page
 * Remove duplicated variables automatically upon save
 * Able to save configured page size shown in Administration views
 * Scripting support for build related gadgets
 * Make the available resource count in the grid resource view to show a filtered view of the nodes
 * Make path pattern case sensitive/insensitive by appending existing patterns with ",casesensitive=yes" or ",casesensitive=no"
 * Display build date in pipeline
 * Support multi-line values in build and request custom columns
 * Prevent Java keywords to be used as variable names
 * Show promotion name while specifying promote options
 * Able to execute custom script after user self-registration
 * Show abbreviated schedule with full schedule tooltip in dashboard view if it is too long
 * Prefix dashboard name with owner name to make it more clear
  h2. Bug fixes
  
h2. Source Control System
 * Support Perforce ditto mapping
 * Add additional sync options (besides the additional global options) to support Perforce features such as parallel sync
 * Add conflict resolve option in Perforce shelve support
 * An option to fail the build if there is no shelved files in shelved change list
  * QB-3114: Max workers setting executes parallel childs in batches and not "Child step will wait until it is picked up by free workers"
 * QB-3115: When max workers are set in parallel composite step and one fails the pending steps are skipped
 * QB-3102: Set default date of lastLogin of user when migration from QB6 to QB8
 * QB-3091: Node attribute not refreshed in grid overview when modified by script on agent side
 * QB-3118: Unauthorized access to configuration audit/stats/storage tab can be achieved by inputting url directly
 * QB-3117: Authorization changing is not audited
 * QB-3055: Missing SCM control files (files in .git, .svn, etc.) on server when they are set to stored on agent
 * QB-3053: Dashboard administration - sorting is not persistent
 * QB-3037: Promotion button not refreshing
 * QB-3009: Disable button in build option and promote option page when pressed to prevent further click
 * QB-2995: Step with execute condition "always execute" is skipped if condition check of previous step throws exception
 * QB-2986: Subversion proof build does not commit if commit message contains quoted dots
 * QB-2974: Jetty idleTimeout issue
 * QB-2908: Audit configuration import
 * QB-3125: Unshelve process for proof build in Perforce print files on all the agents checking out repository
 * QB-2860: Make audit log available after configuration rename or move
 * QB-3127: Perforce: unshelve of a file with exclusive lock already opened by someone else doesn't appear as an error
 * QB-3066: Unknown action 'encoding, edit'
  
h2. RESTful API
 * Enhance resource RESTful API to get information of total and available resources by nodes
 * Add RESTful API to manipulate dashboard and associated group share and user share
 * Able to specify priority when submit build request via RESTful api
  {panel}
  
h2. Scripting API
 * Add scripting API build.flushVariables() for user to flush variable values to database in the middle of build
  {panel:title=Important Changes|titleBGColor=#FFEEEE|bgColor=#FFFFFF}
 * Dashboards now can only be edited by administrator and owner
 * The cloud profile API has been changed, and you should change your custom cloud profile plugin in below areas:
 *# Your plugin class should override method _getSettingIndependentExtensions_ to use below implementation:
 {code}
 return getExtensions();
 {code}
 *# _UserDataRetriever_ is removed, and the logic there should be moved into method _getNodeLaunchData_ of the class implementing the extension point _NodeCloud_
 *# NodeLauncher.launchNode now expects to return object LaunchResult instead of a string. To construct this object, first param is launch id as previous, the second param indicates ip address to be used by agent to communicate with server, the third param is agent port, and the last param indicates whether or not the agent is protected with SSL. Use null for agent ip and SSL param if you are not sure.
  
h2. Bug Fixes
 * Fix the issue that build version in dashboard and rest api is not consistent with build overview page if build version is changed in the middle of build
 * Fix the issue that artifact can not be downloaded if its path contains "#"
 * Fix the issue that javadoc does not contain many steps and repositories
 * Fix the issue that node assignment rule specifying build agents requiring nodes to be online
  * Property _password_ of Perforce repository is replaced with _credential_. If you have script to get perforce password as below:
 {code}
 repositories.get("p4").password
 {code}
 You should change it as:
 {code}
 repositories.get("p4").credential.password
 {code}
  
 {panel}
  
 {panel:title=Important|titleBGColor=#FFEEEE|bgColor=#FFFFFF}
 * Publish directory of new build will be stored into a sub directory using last three digits of build id to avoid too many files issue. Old builds still remains in old place and can be recognized by QuickBuild. If you need to get path to build publish directory, please call build.getPublishDir() as it handles the change transparently
 * Bean editor annotation _@FileInput_ now populates related field with below format instead of a single file name:
 {code}<original upload file name>/<Base64 encoding of upload file content>{code}
 This only affects users using the annotation @FileInput while writing their QuickBuild plugins
 {panel}
  
 {section}
 {column:width=50%}
 {panel:title=Documentations|borderStyle=solid|borderColor=#A3B0BF|titleBGColor=#CEDFF2|bgColor=#ffffff}
  
 {children:all=false}
 {panel}
  
 {column}
 {column:width=50%}
 {panel:title=Resources|borderStyle=solid|borderColor=#A3B0BF|titleBGColor=#CEDFF2|bgColor=#ffffff}
 [Download|http://www.pmease.com/downloads]
  
 [Online Demo|http://demo.pmease.com]
  
 [Technical Support|http://www.pmease.com/support]
  
 [Community Forum|http://forum.pmease.com]
  
 [Feature Requests and Bugs|http://track.pmease.com]
  
 [Third Party Plugins|http://wiki.pmease.com/display/QBEXT]
  
 {panel}
 {column}
 {section}