Release Manual v.9.0.x

Upgrade instructions

XL Deploy 8.0.0 shipped with a new SQL database backend. For detailed instructions, refer to Migrate XL Deploy data storage to an SQL database.

For upgrade instructions, refer to Upgrade XL Deploy.

Important: If you plan to skip versions when you upgrade, ensure that you read the version-specific upgrade notes for each intermediate version. You may be required to perform manual actions as part of the upgrade.

XL Deploy 9.0.8

XL Deploy 9.0.8 release notes

New features

  • [DEPL-14185] - Optimize inefficient SQL queries for GET deployment/dictionary

Bug fixes

  • [DEPL-15234] - When reading a configuration item (REST API for an example), the encrypted values generate a new ciphertext.
  • [DEPL-15422] - Custom deployable that is defined separately from deployed cannot be exported from XLD
  • [DEPL-15496] - Powershell extension getting null pointer exception on satellite
  • [DEPL-15684] - Passwords are not encrypted in satellite.conf
  • [DEPL-15758] - Plugins still out of sync in Satellites after running “Sync Plugins”
  • [DEPL-15759] - Starting local worker in Ubuntu 18.4 doesn’t recognize worker number
  • [DEPL-15768] - CIs with duplicate names being created from the XL CLI YAML, causing issues with reports
  • [DEPL-15781] - Leftover temp files when replacing placeholders
  • [DEPL-15806] - JCR Migrator for XLD 9.0.6 doesn’t work correctly if migrating from Derby DB
  • [DEPL-15840] - Adding large numbers of dictionaries results in data being added to the ‘ci’ column
  • [DEPL-15894] - Undeploying large applications on mssql fails with “too many parameters” error
  • [DEPL-15925] - Deployed file is truncated or becomes empty if its scanned placeholder is deleted from the CI
  • [DEPL-15932] - Cannot import dar package if manifest doesn’t specify checksum for artifact
  • [DEPL-15997] - Password under maven flag in xl-deploy.conf encryption

XL Deploy 9.0.7

XL Deploy 9.0.7 release notes


  • [DEPL-15574] - Placeholder performance improvements

Bug fixes

  • [DEPL-15448] - Copy step takes longer to complete in 9.0.5 since upgrading from 8.5.x
  • [DEPL-15518] - ZipException: Unexpected record signature: 0X21726152
  • [DEPL-15537] - Unnecessary stacktraces in logs caused by ActiveTasks
  • [DEPL-15606] - Close DigestOnly entry FileOutputStream to enable cleanup
  • [DEPL-15627] - File encoding is lost when placeholders are replaced

XL Deploy 9.0.6

XL Deploy 9.0.6 release notes

Bug fixes

  • [DEPL-15134] - Zip file attributes are lost after placeholder replacement
  • [DEPL-15285] - Both nodes in a two-node cluster are shown in standby mode
  • [DEPL-15289] - Satellite on Java 11 gets NoClassDefFoundError (HexBinaryAdapter) error
  • [DEPL-15358] - User with “repo-edit” permission gets error when editing environment
  • [DEPL-15391] - Add indices for entity IDs in XLDARCHIVEDPLACEHOLDERS and XLD_PLACEHOLDERS tables
  • [DEPL-15104] - Auto-filling of credentials in browser causes issues during deployment
  • [DEPL-15105] - Removing auto-fill values on properties screen will still fail deployment
  • [DEPL-15126] - HTTP 401 error when Importing a DAR package from Maven without using credentials
  • [DEPL-15140] - Incorrect generated plan for the step order upon adding additional dependency on the deployeds
  • [DEPL-15242] - Placeholder in ear file not replaced on deployment
  • [DEPL-15327] - Files being incorrectly modified when zipped with another file that has placeholders replaced

XL Deploy 9.0.5

XL Deploy 9.0.5 release notes

Bug fixes

  • [DEPL-14963] - Investigate Patch third-party vulnerable components scope and impact
  • [DEPL-15042] - SQL password with special characters not working correctly
  • [DEPL-15084] - Compressed files become corrupted on target if scanned for placeholders
  • [DEPL-15088] - Compare with other CI
  • [DEPL-15090] - Zip file on file.File is corrupted on upload to target host
  • [DEPL-15102] - Maintenance Mode Doesn’t Work
  • [DEPL-15103] - Spring boot executable jar does not start on target if scanned for placeholders
  • [DEPL-15132] - Update deployment generates new steps when deploying the identical deployable if using Automatic versioning
  • [DEPL-15136] - Add indexes on XLDCIS and XLDCI_PLACEHOLDERS to improve DB performance
  • [DEPL-15177] - XLDCIPLACEHOLDER table does not use the right collation for mysql and mssql for key, cipath and ciname columns
  • [DEPL-15179] - Placholders Dictionary Search query builder breaks for Oracle with: column ambiguously defined

XL Deploy 9.0.3

XL Deploy 9.0.3 release notes

Bug fixes

  • [DEPL-15044] - Cannot upgrade XL Deploy production instance to 9.0.2

XL Deploy 9.0.2

XL Deploy 9.0.2 release notes

Bug fixes

  • [DEPL-14992] - Store large placeholder values correctly
  • [DEPL-15018] - Placeholder search is not working correctly

XL Deploy 9.0.1

XL Deploy 9.0.1 release notes

New features

  • [DEPL-12889] - Increased max heap value in the default wrapper configuration files


  • [DEPL-14966] - Persistent license usage statistics

Bug fixes

  • [DEPL-14391] - Wrong message when uploading non existing dar file from the CLI
  • [DEPL-14897] - Improved logging when server fails to start due to licence issues

XL Deploy 9.0.0

XL Deploy 9.0.0 is a long-term support (LTS) version that will be supported for a year after it is superseded by the next long-term support (LTS) version. For more information, refer to Short-term support/Long-term support policy.

XL Deploy 9.0.0 new features

Integration with HashiCorp Vault and CyberArk Conjur external secrets management tools

The XL Deploy integration with HashiCorp Vault and CyberArk Conjur enables you to define, manage, and use these products as an external data source for secret storage. These integrations let you configure external dictionaries that can be used with your environments. You can also define a Vault- or Conjur-based lookup provider that can reference and resolve a key/value pair stored in the system. XL Deploy does not save or cache the key/value information stored in Vault or Conjur in the XL Deploy system. For more information, see Manage secrets using HashiCorp Vault and Manage secrets using CyberArk Conjur.

Simplified shared credential management for hosts

Your infrastructures can include multiple remote hosts that share the same credentials. To simplify credential management across these hosts, you can configure a single CI to define shared credentials for any remote host that requires authentication. Then, when you define an overthere host connection, you can select the shared credentials CI. This is applicable to the following host types:

  • SmbHostCredentials: Use this CI type for SmbHost and CifsHost connections.
  • SshHostCredentials: Use this CI type for for SshHost and SshJumpstation connections.

For more information, see Store shared host credentials.

High availability master-worker configuration support is generally available

Previous releases included Beta support for a highly available master-worker configuration. This feature is now fully supported in this release. For more information, see High availability with master-worker setup.

In the XL Deploy GUI, you can now search for placeholders across dictionaries and application deployables to see the results in a single overview, and to update the value of a placeholder in every dictionary at once.

Main updates to the GUI:

  • A new GUI option for searching for a placeholder by name, across dictionaries and application deployables.
  • The user can bulk update the value of a placeholder across multiple dictionaries.
  • The user can click a placeholder in a dictionary or deployable and immediately open the search results for that placeholder.

For more information, see Using the explorer.

New UI to view deployment history

You can view the history of successful deployments of application versions to an environment. This is useful when you want to determine placeholder value changes between versions for an environment, determine who made a specific change, and to support deployment rollbacks. For more information, see View deployment history.

New XL Generate commands

The xl generate command has been enhanced with a number of new commands and a revised syntax. To view the full list of flags and usage, see XL Command Line Interface reference.

Source control management

It is now possible to send source control information from Github repositories via xl apply using the new -s flag, to XL Deploy assets. These can be viewed from the GUI and allow you to track any asset to the repository and commit that last updated it. For more information, see Source control management in YAML.

New YAML format for blueprints

The YAML format for blueprints has been redesigned for 9.0, to make it more intuitive and better suited to our customer needs. For more information on the updated YAML syntax, see Blueprint YAML format.

Blueprint composability

Multiple blueprints can now be composed into one master blueprint which specifies the deployment model for multiple included blueprints, by using includeBefore and includeAfter parameters. For more information, see Composable blueprints.

New blueprints launched

New blueprints were launched to provide YAML-based integrations with external software platforms. These include:

  • Amazon Elastic Container Service for Kubernetes (EKS)
  • Amazon Web Services Lambda
  • Azure App Service
  • Composed Docker Deployments
    For more information, see XebiaLabs public blueprints.

Contact XebiaLabs Support if you have hotfixes

If you have hotfixes installed, contact the XebiaLabs support team before upgrading.

XL Deploy 9.0.0 release notes

New features

  • [DEPL-14472] - Improved performance of deployment plan generation
  • [DEPL-14519] - New CI for HashiCorp Vault server connection
  • [DEPL-14520] - New API interface to extract values from external secrets management tools
  • [DEPL-14521] - Implemented secret store for HashiCorp Vault
  • [DEPL-14522] - Added indexing to support global placeholder search
  • [DEPL-14523] - Added API endpoint to support global placeholder search
  • [DEPL-14524] - Added page for global placeholder search results
  • [DEPL-14525] - Added ability to initiate global placeholder search from a dictionary or CI
  • [DEPL-14526] - Added UI showing history of successful application versions deployed to an environment
  • [DEPL-14527] - New API for archived resolved placeholders
  • [DEPL-14534] - Implemented dynamic master decommissioning based on DNS
  • [DEPL-14557] - Added ability to edit dictionary values in bulk
  • [DEPL-14570] - Added ability to set drag and drop deployment screen as a default landing page
  • [DEPL-14574] - Enabled drop-down to select lookup value provider from certain UI fields
  • [DEPL-14576] - Added ability to look up values in HashiCorp Vault
  • [DEPL-14589] - Environment summary shows all dictionaries related to the environment
  • [DEPL-14590] - Infrastructure properties page now includes Environments and Deployed Applications sections
  • [DEPL-14597] - Active-Active support
  • [DEPL-14633] - Added new search filter above CI tree
  • [DEPL-14673] - Placeholder search results show environments where placeholders used
  • [DEPL-14674] - Placeholder search results show applications where placeholders used


  • [DEPL-14644] - Improved placeholder migration performance

Bug fixes

  • [DEPL-12010] - Preserve symbolic links when scanning file for placeholders
  • [DEPL-12667] - Double-clicking on deploy button creates two deployment tasks
  • [DEPL-13287] - Performance improvements on deployment preview after starting XL Deploy
  • [DEPL-13775] - Linefeeds are converted to spaces when pasting
  • [DEPL-14281] - Inconsistency of the undeploy steps in update deployment and undeployment
  • [DEPL-14312] - Step executor allows infinite retries in case of mis-formed configuration
  • [DEPL-14330] - Performance improvement for UI slowness when XL Deploy has many user, roles, and permissions
  • [DEPL-14468] - “The application has encountered an unknown error” after login
  • [DEPL-14473] - Inconsistent behaviour for validating placeholder values of a dependent application
  • [DEPL-14479] - Temporary files are not always removed from temporary directory
  • [DEPL-14491] - Deployment plan generation error using BIG IP plugin
  • [DEPL-14529] - AWS/Monolith-Terraform - undeploy: Column ‘task_id’ cannot accept a NULL value
  • [DEPL-14538] - Setup doesn’t set the correct HTTP port for SSL
  • [DEPL-14549] - script.Script step does not fail if shell script exits with code 2
  • [DEPL-14605] - XL Deploy does not read reference.conf from kamon-core library
  • [DEPL-14606] - JCR to SQL migration fails with ‘failed to build path’ for nodes
  • [DEPL-14672] - Move BOM detection out of xl-platform/udm-plugin-api
  • [DEPL-14696] - Installing as a service with JDK11 fails to start service
  • [DEPL-14713] - REST API ‘rolePattern’ function gives empty collection for /security/role/v2/principals and roles
  • [DEPL-14807] - CandidateValuesFilter does not have container property available from the HTML5 GUI in WAS plugin