Introducing XL Deploy 5.0.0


XebiaLabs Support -

Dear XebiaLabs community,

We are pleased to announce the release of XL Deploy 5.0.0.


You can download the release at the XebiaLabs Software Distribution site.

Important: A new license (V3) is required for XL Deploy 5.0.0. Download your new license at the XebiaLabs Software Distribution site.

New interfaces for applications and environments

To improve usability for new users, XL Deploy now includes additional interfaces for creating applications (deployment packages) and environments. To use these interfaces, go to the Deployment Workspace and click the buttons in the Packages and Deployed Applications panes.

Other user interface improvements

The XL Deploy user interface has been improved:

  • In the Deployment Workspace, you can set up a deployment by dragging an application or deployment package onto the target environment or onto a deployed application.
  • When you set up a deployment, the artifacts and resources in your deployment package are now automatically mapped to the containers in the target environment. You can use the buttons at the top of the Deployment Workspace to change the mapping.
  • In the Repository, you can double-click an item in the hierarchy (such as a directory) to expand it.
  • The menu that appears in the top-right corner has been improved.
  • New icons for applications, environments, infrastructure, and other items have been introduced.

Satellite technology option

XL Satellite technology is an optional addition that enables you to distribute software across low-bandwidth connections and across platforms with increased reliability and scalability:

  • Stand-alone XL Satellite processes run in each datacenter
  • XL Deploy orchestrates deployments to each satellite
  • The satellites receive the deployment files (artifacts) and deploy them
  • Deployment files are streamed to the satellites securely and reliably

Please note that XL Satellite is a paid feature. If you are interested in XL Satellite, contact us.

Flexible artifact storage

In addition to using XL Deploy's internal repository to store deployment artifacts (files), you can now refer artifacts that are stored in external locations such as a Maven repository.

Dependencies between application versions

You can now define dependencies between versions of applications. XL Deploy will check dependencies during deployment and alert you if a required version is missing from the environment.

Allow deployment by sub-groups

Four new by deployment group orchestrators allow you to deploy to sub-groups and sub-sub-groups of middleware containers, sequentially or in parallel.

Updated plugins

All plugins have been updated to work with XL Deploy 5.0.0. You can download new versions of your plugins at the XebiaLabs Software Distribution site.

Most plugins are available in the new XLDP format, which bundles plugins with their dependencies for simpler installation.

Additional new features

  • A new installer makes it easy to install XL Deploy on Microsoft Windows or Mac OS X.
  • You can now install XL Deploy as a service or daemon in Windows and Unix-based environments.
  • XL Deploy now allows you to define schedules for automatically purging deployment packages and tasks.
  • Admins can put XL Deploy into maintenance mode to prepare the XL Deploy server for a restart.

Upgrade instructions

Please see below for the release notes. Don't forget to review the upgrade procedure and important upgrade information that is specific to this version.


  • [DEPL-4055] - Do not show a message when user tries to deploy a version of an application to an environment where that version is already deployed
  • [DEPL-4372] - Automatically run garbage collection on the XL Deploy repository
  • [DEPL-4722] - Detect and source setenv file in server and CLI startup scripts
  • [DEPL-5680] - Only stage identical artifacts to the same host once
  • [DEPL-6634] - In the Generic plugin, make previousDeployedApplication property point to previous deployed
  • [DEPL-6727] - Improve performance when querying the udm.DeployedApplication version property
  • [DEPL-6860] - Ensure that uploading large artifacts does not result in a Java heap space error
  • [DEPL-6978] - Show error message for unsupported browser versions
  • [DEPL-7181] - Upgrade external library to prevent issues with corrupted TAR archives
  • [DEPL-7182] - Upgrade to Overthere 2.4.5 to take advantage of buffering behavior
  • [DEPL-7197] - Improve robustness of license checker
  • [DEPL-7371] - Automatically map all deployeds when setting up a deployment
  • [DEPL-7373] - Show application name and version on applications and deployment packages in the deployment workspace
  • [DEPL-7374] - Allow user to drag an application or a deployment package into the deployment workspace
  • [DEPL-7382] - Make mail-related parameters optional for the manual step primitive
  • [DEPL-7391] - Allow orchestrating a deployment using sub-grouping
  • [DEPL-7393] - Remove "The deployed application and application package have the same version" warning message
  • [DEPL-7399] - Require confirmation when saving changes to roles that are defined on the Admin screen
  • [DEPL-7446] - Allow user to drag deployment packages and applications directly onto the target environment or deployed application
  • [DEPL-7454] - Produce both application/xml and text/xml in the /server REST API endpoint
  • [DEPL-7463] - Show CI property descriptions below fields in the GUI
  • [DEPL-7465] - Allow user to expand a directory by double-clicking it
  • [DEPL-7467] - Improve buttons on the Deployment Workspace
  • [DEPL-7479] - Show deployment packages in descending order in the deployment workspace packages pane
  • [DEPL-7870] - Allow access to the ExecutionContext from a FreeMarker template in the Generic plugin
  • [DEPL-7940] - Allow plugins to set intermediate checkpoints for rollbacks
  • [DEPL-8019] - Ensure that XL Deploy boots sequentially so the prompt for upgraders is easy to see
  • [DEPL-8020] - Prevent incorrect usage of XL Deploy when upgraders are not run
  • [DEPL-8021] - Log upgrader messages to the log file in addition to stdout
  • [DEPL-8038] - Improve deletion of temporary files in work directory

Bug fixes

  • [DEPL-4590] - Fixed issue that prevented checksum of empty files from being computed correctly
  • [DEPL-5043] - Fixed issue where composite package that contained other composite packages could not be deployed
  • [DEPL-5470] - Fixed issue where the UI returned an error after user selected many deployables and clicked the "map selected" button
  • [DEPL-6655] - Fixed issue where UI would stop responding when user tried to archive a task that was already archived with the REST API
  • [DEPL-6687] - Fixed issue where passwords were not masked in preview of an os-script step
  • [DEPL-6691] - Fixed issue where XL Deploy UI could not be used with debug version of Flash player
  • [DEPL-6692] - Fixed issue where it was not possible to access a synthetic property of kind SET_OF_CI or SET_OF_STRING in a Jython planning script
  • [DEPL-6701] - Fixed issue where updating a deployed composite package resulted in a NoSuchElementException error
  • [DEPL-6702] - Fixed issue where it was not possible to close the Permissions tab
  • [DEPL-6705] - Fixed issue where it was not possible to proceed with deployment if there were steps in the plan but no deployables were mapped
  • [DEPL-6707] - Fixed issue where ${deployed.file} placeholder in FreeMarker templates did not return file path
  • [DEPL-6711] - Fixed issue where a NullPointerExpression error occurred after TAB was pressed while on the username or password prompt in the CLI
  • [DEPL-6724] - Fixed issue where it was not possible to retry a failed upload, delete, or os-script step
  • [DEPL-6740] - Fixed issue where it was not possible to retry a jython or os-script step after the XL Deploy server was restarted
  • [DEPL-6748] - Fixed issue where temporary folders were not deleted from the work directory after the Plan Analyzer was used
  • [DEPL-6764] - Fixed issue where remote booter did not fill in default values for properties
  • [DEPL-6781] - Fixed issue where SSL keystore passwords were not migrated correctly when upgrading from XL Deploy 4.0.x
  • [DEPL-6824] - Fixed issue where rollback functionality did not work with Database plugin
  • [DEPL-6863] - Fixed issue where keystore file was not generated when installer was run with -setup-defaults option
  • [DEPL-6901] - Fixed issue where report filtering did not allow selecting a date that was in the future relative to local time
  • [DEPL-6922] - Fixed issue where the top navigation bar did not appear if some plugins were removed
  • [DEPL-6958] - Fixed issue that caused the Compare feature and UI extensions to fail
  • [DEPL-7135] - Fixed issue where separate rules were not generated for CI sub-types that extended a generic CI type
  • [DEPL-7152] - Fixed issue where uploaded OverthereFile was not exposed in FreeMarker templates in os-script step primitive
  • [DEPL-7158] - Fixed issue where deployed and previousDeployed were not both exposed as calculated step parameters
  • [DEPL-7201] - Fixed issue where starting XL Deploy with the -recovery option resulted in a "java.lang.IllegalStateException: PasswordEncrypter not yet set" error
  • [DEPL-7267] - Fixed issue where updating a deployed composite package resulted in a "PlannerException: None.get" error
  • [DEPL-7275] - Fixed issue where passwords were not masked in step previews when using Python or PowerShell plugin
  • [DEPL-7434] - Fixed issue where the Repository browser tree would collapse after user worked with a CI
  • [DEPL-7509] - Replaced script-path parameter in jython step primitive with optional script parameter
  • [DEPL-7550] - Fixed issue where using the os-script step resulted in a "java.lang.OutOfMemoryError: GC overhead limit exceeded" error
  • [DEPL-7572] - Fixed issue where the Generic plugin would upload an artifact three times
  • [DEPL-7573] - Fixed issue where the Generic plugin did not upload the artifact associated with the previous deployed when used in a MODIFY operation
  • [DEPL-7623] - Fixed issue where passwords were not masked in script logs of the Generic, Python, and PowerShell plugins
  • [DEPL-7668] - Fixed issue where deployment properties were not set during rollback if a custom plugin was used
  • [DEPL-7760] - Fixed issue where temporary files were not deleted from work directory after Plan Analyzer was used during a deployment update
  • [DEPL-7762] - Fixed issue where it was not possible to override a script that was defined in a rule packaged in JAR file
  • [DEPL-7778] - Fixed issue where GarbageCollector task was not automatically archived after it executed successfully
  • [DEPL-7784] - Fixed issue where encrypted dictionary entries were exposed when used as placeholders in CI properties that were not password-enabled
  • [DEPL-7785] - Fixed issue where passwords were not masked in step previews when using the Generic plugin and the os-script step
  • [DEPL-7786] - Fixed issue where GET /role/roles/{username} in RoleService REST API would return a 500 error
  • [DEPL-7838] - Fixed issue where editing an entry in an encrypted dictionary without making changes caused the value to be set to asterisks
  • [DEPL-7867] - Fixed issue where CI information was cached when performing repositoryResource.query in script
  • [DEPL-7869] - Fixed issue where users could use the REST API to link CIs that they did not have permission to access
  • [DEPL-7893] - Fixed issue where users who only had read permission on a directory could drag-and-drop CIs to the directory
  • [DEPL-7920] - Fixed issue where incorrect XL Deploy version number appeared in the UI after upgrading
  • [DEPL-7924] - Fixed issue where task would not be reloaded after restarting XL Deploy
  • [DEPL-7931] - Fixed issue where passwords were not masked in log when using instruction step
  • [DEPL-7947] - Fixed issue where generic.CopiedArtifact could not be modified when preserveExistingFiles property was set to true
  • [DEPL-7953] - Fixed issue where importing packages through Jenkins resulted in "Couldn't delete file" error message
  • [DEPL-7979] - Fixed issue where passwords were not masked in .task files
  • [DEPL-7994] - Fixed issue where deployed.file and previousDeployed.file pointed to the same file when used in a MODIFY operation
  • [DEPL-8055] - Fixed issue where XL Deploy did not start if there was no network connection
  • [DEPL-8092] - Removed spurious "Connection [local:] was not closed, closing automatically." messages
  • [DEPL-8123] - Fixed issue where task serialization failed with "com.xebialabs.deployit.engine.tasker.TaskExecutionContext$$anon$1" error
  • [DEPL-8169] - Fixed issue where "Cannot delete workdir" error was shown when updating a deployed application
  • [DEPL-8210] - Fixed issue where Deployit401ArchivedTaskDateUtcConversion upgrader was slow and/or causing OutOfMemoryErrors
  • [DEPL-8211] - Fixed issue where temporary directories were not removed when using os-script step with INTERACTIVE_SUDO, SUDO, or SU connection
  • [DEPL-8214] - Fixed issue where tasks with state "Done" were still available in the Task Monitor
Have more questions? Submit a request