Release Manual
Upgrade instructions
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 5.1.10
XL Deploy 5.1.10 release notes
New features
- [DEPL-10746] - Support import of packages from URL behind a proxy
Bug fixes
- [DEPL-10339] - Unrecoverable task on satellite can result in hanging XL Deploy task execution
- [DEPL-10341] - XL Deploy server hangs when task running on satellite fails
- [DEPL-9339] - file.Folder or generic.Folder cannot be imported if the name of the CI ends with .zip
XL Deploy 5.1.9
XL Deploy 5.1.9 release notes
Bug fixes
- [DEPL-10191] - Java process is not stopped after deploying to WebLogic with satellite
- [DEPL-10532] - Daemon is not stopped after deploying to WebSphere with satellite
- [DEPL-10680] - Importing and deploying a package containing a ZIP file using Maven changes the permissions of files in the ZIP to 0000
- [DEPL-9879] - Cannot abort a task that uses a satellite
- [DEPL-9947] - When user cancels a failed task, it is not removed from the GUI
XL Deploy 5.1.8
XL Deploy 5.1.8 release notes
Bug fixes
- [DEPL-10003] - Deploying file.Folder via SFTP merges same named subfolder with parent
- [DEPL-10027] - Cannot use database plugin with satellite
- [DEPL-9982] - Remove "by XebiaLabs" from XL Deploy title bar
- [DEPL-9988] - Tasks in satellite stop responding when network is down
XL Deploy 5.1.6
XL Deploy 5.1.6 release notes
Improvements
- [DEPL-9755] - Improve performance of calculating application dependencies
Bug fixes
- [DEPL-6265] - Scrollbar is not moved to the bottom of a MAP_STRING_STRING component when user clicks the "+" button
- [DEPL-8887] - Incorrect log messages for step descriptions in deployit.log
- [DEPL-9381] - Task recovery fails if a task with staging is canceled
- [DEPL-9774] - Cannot perform an update because XL Deploy does not recognize that the application is deployed
- [DEPL-9856] - Opening a dictionary that contains long values takes too much time
- [DEPL-9880] - rerunCommand option in cmd.DeployedCommand does not work
- [DEPL-9944] - Executing many tasks concurrently may result in tasks being lost from the system when they start archiving
XL Deploy 5.1.5
XL Deploy 5.1.5 release notes
Improvements
- [DEPL-9348] - Make property-resolving behavior of deployeds configurable
Bug fixes
- [DEPL-9136] - Exiting CLI causes the terminal to hang
- [DEPL-9731] - Deploying in the GUI shows incorrect task state
XL Deploy 5.1.4
XL Deploy 5.1.4 release notes
Improvements
- [DEPL-9238] - Ensure that tasks enter a QUEUED state after they are started
- [DEPL-9366] - Make auto-mapping for initial and update deployments configurable
Bug fixes
- [DEPL-3834] - User names and passwords with special characters cause Database plugin to fail
- [DEPL-7664] - Performing an update deployment to a shared library or virtual host after CIs have been re-discovered results in NullPointerException
- [DEPL-8592] - Artifact and script are uploaded to different directories when the Generic plugin is used
- [DEPL-9145] - sequential-by-loadbalancer-group orchestrator does not work in combination with sequential-by-composite-package orchestrator
- [DEPL-9155] - Placeholder scanning and replacement fails on non-standard archives
- [DEPL-9197] - Task might not be recovered after restart when running XL Deploy on Java 8
- [DEPL-9253] - In Environment wizard, drop-down list is transparent and some labels are not aligned
- [DEPL-9411] - Using Jython/Python API may cause password leak
XL Deploy 5.1.3 release notes
Improvements
- [DEPL-8894] - Satellite sync and restart fails on Windows when YAJSW is used to manage satellite as a service
- [DEPL-9083] - Upgrade commons-collections to the latest version
- [DEPL-9091] - Increase default XL Deploy startup timeout for service wrapper
- [DEPL-9094] - When importing a package, validate security roles that are set on udm.Version
- [DEPL-9097] - Ignore 'transient' properties when doing delta calculation
Bug fixes
- [DEPL-8619] - Deployment occasionally fails with "Cannot mkdir local:work/..." error message
- [DEPL-8742] - Package import wizard fails with a 404 error if XL Deploy uses a custom context root
- [DEPL-8867] - repository.exportCisAndWait and repository.importCisAndWait fail if XL Deploy uses a custom context root
- [DEPL-8899] - Work folder consumes a large amount of disk space while deploying large artifacts
- [DEPL-8941] - Renaming a deployed causes all other deployeds mapped from the same deployable to be removed
- [DEPL-9021] - XL Deploy satellite timeout for streaming files is too short
- [DEPL-9052] - Syncing plugins on satellite fails with "ERROR akka.actor.OneForOneStrategy - actor name [ac5052b9-f232-4352-8976-da47c34e3ebe] is not unique!"
- [DEPL-9129] - Rollback fails for deployments with parallel orchestrator
- [DEPL-9153] - Compatibility issues with plugins during deployment with a NoSuchMethodError message
XL Deploy 5.1.1
XL Deploy 5.1.1 release notes
New features
- [DEPL-8646] - Use common publish and download mechanism for Trial Edition
Improvements
- [DEPL-8862] - Initialize the Jython script engine on boot to prevent delays when first script is executed
Bug fixes
- [DEPL-6706] - Fixed issue where pie chart in status overview had colors reversed
- [DEPL-8629] - Fixed issue where opening the About screen returned a "The partial must not be null" error
- [DEPL-8863] - Fixed issue where repository updates were not fully completed when cancelling a task
- [DEPL-8864] - Fixed issue where creating a CI with an artifact in the repository occasionally resulted in a DeployitException
- [DEPL-8865] - Fixed issue where purge tasks occasionally failed to export tasks to a ZIP file
- [DEPL-8878] - Fixed issue where the contents of a file containing placeholders were partially duplicated after the file was copied to the target machine
- [DEPL-8883] - Fixed issue where XL Deploy returned PlaceholderScanningFailedException when importing a file containing placeholders
- [DEPL-8891] - Fixed issue where user could not create dependencies on deployment packages with names containing letters or hyphens
- [DEPL-8892] - Fixed issue where Sync node steps were not added to the deployment plan
- [DEPL-8955] - Fixed issue where Overthere/SSHJ was slow when using SFTP
XL Deploy 5.1.1 upgrade notes
Java 8 now supported
XL Deploy can now run on Java Development Kit (JDK) 8 (Oracle, IBM, or Apple). Java 7 is also still supported.
Known issues
It is a known issue that using XL Deploy 5.1.1 or later with JDK 8 may prevent pending tasks from being recovered after the XL Deploy server is restarted. This will be fixed in a future release. To prevent this issue, use JDK 7.
XL Deploy 5.1.0
XL Deploy 5.1.0 release notes
New features
- [DEPL-6404] - Allow user to specify a username and password when importing a deployment package from a URL
- [DEPL-7241] - Deprecate udm.CompositePackage
- [DEPL-7976] - Before executing a deployment or undeployment, ensure it will not break dependencies
- [DEPL-7977] - Check user permissions for automatically triggered deployments of dependent applications
- [DEPL-8292] - Investigate HTML5 version of Deployment Workspace component
- [DEPL-8294] - Investigate HTML5 version of hierarchical task component
- [DEPL-8360] - Automatically deploy dependent applications
- [DEPL-8402] - Automatically deploy complex outbound dependencies
- [DEPL-8403] - Ensure that deployment of dependent applications is executed in a valid order
- [DEPL-8417] - Investigate HTML5 version of Reports screen
- [DEPL-8438] - Ensure Deployment Workspace and plan preview show correct deployables, mapping, and steps when multiple dependent applications will be deployed
- [DEPL-8439] - Allow rolling back a deployment that includes dependent applications
- [DEPL-8447] - When multiple dependent applications will be deployed to a satellite, only send the task and perform clean up once
- [DEPL-8448] - When multiple dependent applications will be deployed, stage all artifacts before deployment of the first application begins
- [DEPL-8489] - Investigate reporting for deployments of multiple dependent applications
- [DEPL-8490] - When the user selects deployment properties, apply them to all dependent applications that will be deployed
- [DEPL-8520] - Implement reporting for deployments of multiple dependent applications
- [DEPL-8585] - In Deployment Workspace, show all dependent applications that will be deployed
Improvements
- [DEPL-5362] - Added undoCommandLine, undoOrder, and undoDependencies fields to cmd.Command so placeholders can be used in undo commands
- [DEPL-8053] - After file is successfully uploaded in the HTML5 GUI, indicate that the server is processing it
- [DEPL-8384] - By default, do not listen to satellite-related ports
- [DEPL-8426] - Added previousDeployedApplication to objects that are available to rules
- [DEPL-8521] - Upgraded Apache HttpComponents HttpClient to 4.4.1 to mitigate CVE-2014-3577
- [DEPL-8558] - Prevent Internet Explorer from loading the XL Deploy HTML5 GUI in compatibility mode
- [DEPL-8627] - Fixed issue where executing a command would fail with error message "ls -ld /path/to/dir returned 0 but its output is unparseable: ESC"
- [DEPL-8686] - Removed deployedApplication from objects that are available to rules when undeploying
Bug fixes
- [DEPL-4428] - Fixed issue where single quotation marks in IDs were not encoded by the server, user interface, or CLI
- [DEPL-6599] - Fixed issue where a user could create two applications with the same name by duplicating directories
- [DEPL-6780] - Fixed issue where tip-of-the-day/welcome window did not show images correctly if XL Deploy server was running on a non-standard context path
- [DEPL-7341] - Fixed issue where socketTimeout was not configurable in the CLI
- [DEPL-7497] - Fixed issue where Scala user interface extension malfunctioned if deployed in XLDP format
- [DEPL-7530] - Documented networking configuration prerequisites for XL Deploy installation
- [DEPL-7719] - Fixed issue where externally stored artifacts were being downloaded more than once
- [DEPL-8129] - Fixed issue where plugins with custom Spray routes prevented XL Deploy from starting
- [DEPL-8130] - Fixed issue where invoking xl-endpoints with invalid credentials gave incorrect status code
- [DEPL-8238] - Fixed issue where Trigger plugin did not use mail.SmtpServer fromAddress when no address was specified on trigger.EmailNotification
- [DEPL-8251] - Fixed issue where previousDeployed variable was not available in the Generic plugin
- [DEPL-8264] - Fixed issue where registration page failed because of special characters
- [DEPL-8272] - Fixed issue where repository.getArchivedTasksList failed if there were tasks from Deployit 3.9.x or earlier
- [DEPL-8281] - Fixed issue that prevented XLDP versions of XL Scale plugins from running in XL Deploy 5.0.0
- [DEPL-8283] - Fixed issue where preview did not show correct deployment if multiple tabs were open in Deployment Workspace
- [DEPL-8291] - Fixed issue that caused orchestrators to be discarded during an update deployment
- [DEPL-8293] - Fixed issue where scheduler created a burst of executions if system time was moved into future
- [DEPL-8343] - Improved validation of email addresses in registration form
- [DEPL-8344] - Fixed issue where resources were deployed during an update even if they did not change
- [DEPL-8349] - Fixed issue where deployment would hang and log file showed "ERROR akka.actor.OneForOneStrategy - next on empty iterator"
- [DEPL-8350] - Fixed issue where invoking garbage collection caused thread leaks
- [DEPL-8351] - Fixed NoClassDefFoundError when satellite was restarted after plugins were synchronized
- [DEPL-8356] - Fixed issue where /tasks/v2/export did not return detailed step information
- [DEPL-8359] - Fixed issue where encrypted passwords in deployit.conf file were decrypted when used in other configuration files
- [DEPL-8376] - Fixed issue where update of sql.SqlScripts with executeModifiedScripts=true did not execute scripts if the file length did not change
- [DEPL-8393] - Fixed issue where XL Deploy satellite actor system did not start when SSL was disabled
- [DEPL-8413] - Fixed issue that caused satellite to consume 100% CPU after task was sent
- [DEPL-8422] - Fixed issue where importing a DAR file that contained two CIs with the same name did not return an error message
- [DEPL-8424] - Fixed issue where a subtype of udm.DeploymentPackage could not be dragged to the Deployment Workspace
- [DEPL-8433] - Fixed issue where setting uploadArtifactData in createOptions property of generic.ExecutedScriptWithDerivedArtifact did not have the desired effect until ${deployed.file} was used in the template
- [DEPL-8434] - Fixed issue where synchronizing plugins after first sync failed for a Windows satellite with "The process cannot access the file because it is being used by another process"
- [DEPL-8435] - Fixed issue where two CIs with the same name in composite package prevented correct mapping when setting up an update deployment
- [DEPL-8441] - Fixed issue where GUI output for steps generated by rules were displayed with the wrong step
- [DEPL-8443] - Fixed issue where requests in custom endpoints timed out due to short timeout period
- [DEPL-8455] - Fixed issue where PowerShell and Python plugins uploaded an artifact multiple times
- [DEPL-8458] - Fixed issue where Generic plugin did not recursively resolve FreeMarker templates in properties
- [DEPL-8459] - Fixed issue where "Send task to satellite" step failed with "java.lang.StackOverflowError: null at com.esotericsoftware.kryo.Generics.getConcreteClass" error
- [DEPL-8460] - Fixed issue where syncing plugins to a satellite did not sync ext and hotfix/plugins directories
- [DEPL-8478] - Fixed issue where os-script and template steps recursively resolved FreeMarker templates in properties
- [DEPL-8479] - Fixed issue where application wizard did not allow the user to create an application
- [DEPL-8507] - Fixed issue where NullPointerException occurred when using the jythonScript delegate
- [DEPL-8512] - Fixed issue where XLDP classloader corrupted URLs when running on Windows
- [DEPL-8522] - Fixed issue where os-script would fail with error message "tar: can't set time on .: Not owner" for some SSH/SU and SSH/SUDO connections
- [DEPL-8531] - Fixed issue where ${step.uploadedArtifactPath} was empty until ${deployed.file} was used in the same template
- [DEPL-8543] - Fixed issue where artifacts passed to os-script step pointed to the same file if they had the same content and placeholders
- [DEPL-8546] - Fixed issue where preview screen was empty when deployment was initiated from the Release Dashboard
- [DEPL-8578] - Removed spurious "[Finalizer] {} INFO c.x.o.spi.BaseOverthereConnection - Disconnected from local:" messages
- [DEPL-8579] - Removed duplicate upgrader messages
- [DEPL-8588] - Fixed issue where Export button on Deployed Applications tab did not work after user switched tabs
- [DEPL-8596] - Fixed issue where application wizard remained empty if user clicked too quickly
- [DEPL-8597] - Fixed issue where manual step failed with a NullPointerException
- [DEPL-8599] - Fixed issue where temporary files were not deleted from overthere.CifsHost target machine with WINRM_INTERNAL or TELNET connection type
- [DEPL-8602] - Fixed issue where tasks executed on a satellite failed with the message "Please keep your plugins in sync."
- [DEPL-8617] - Fixed issue where task recovery files could become corrupted due to partial write
- [DEPL-8624] - Fixed issue where syncing plugins to a satellite did not remove files
- [DEPL-8655] - Fixed issue where uploading a large artifact with placeholder scanning enabled caused an OutOfMemoryError
- [DEPL-8684] - Fixed issue where scheduled task with satellite stopped responding if user restarted XL Deploy in the meantime
- [DEPL-8737] - Fixed issue where WINRM_INTERNAL connection with Windows domain account failed with error message "Unexpected HTTP response on http://hostname/wsman: (401)"
- [DEPL-8743] - Fixed issue where repository was updated too often when a deployment was cancelled or rolled back
XL Deploy 5.1.0 upgrade notes
Support for application dependencies expanded
When you specify dependencies between applications, XL Deploy will ensure they are all met before deployment. XL Deploy will also automatically deploy, update, roll back, and undeploy dependent applications, and prevent you from undeploying applications that others depend on. For more information, refer to:
- Application dependencies in XL Deploy
- How XL Deploy checks application dependencies
- Advanced application dependencies example
deployedApplication
no longer available in DESTROY
operations
In XL Deploy rules, the deployedApplication
object specifies which application version will be deployed to which environment. Now, deployedApplication
is no longer available in the case of DESTROY
operations (that is, undeployments). The new previousDeployedApplication
object, which represents the previous application that was deployed, is available.
Important: This is a backward-incompatible change.
Spring Security upgraded and deployit-security.xml
changed
In XL Deploy 5.1.0, Spring Security has been upgraded from version 3.2.5 to 4.0.1. This means that in the <XLDEPLOY_HOME>/conf/deployit-security.xml
file, security:csrf
has been added as follows:
<security:http realm="Deployit" access-decision-manager-ref="unanimousBased" entry-point-ref="basicAuthenticationEntryPoint" create-session="never">
<security:csrf disabled="true"/>
Important: When upgrading to XL Deploy 5.1.0, it is recommended that you do not copy deployit-security.xml
from your previous installation. Instead, use the deployit-security.xml
file that is provided with the software, then redo your customizations (such as your LDAP configuration information).
For information about migration, including deprecated APIs that were removed in Spring Security 4.0, refer to the Spring Security 3.x to 4.x migration guide.
Read permission required to deploy applications
In previous versions of XL Deploy, a user with only deploy#initial
permission on an application could deploy that application, and a user with only deploy#upgrade
permission on an application could upgrade it.
To improve security, users must now have read
permission in addition to deploy#initial
or deploy#upgrade
to deploy or upgrade an application, respectively.
Satellite synchronization includes more folders
Synchronization between the XL Deploy server and satellite servers now includes the plugins
folder, the ext
folder, and the hotfix/plugins
folder. For more information, refer to Synchronize plugins with a satellite server.
Jython upgraded
XL Deploy 5.1.0 requires Python 2.7. That means that all existing Jython code must be compatible with Jython 2.7 to work with XL Deploy 5.1.0. Use of Jython 2.5 is not supported.
Because Jython 2.7 is mostly backward-compatible with 2.5, you should not experience many issues. However, there are some areas that may need to be addressed:
- Retrieving a nonexistent key from a dictionary results in
KeyError
instead of aNone
value. It is recommended that you use thein
operator to first check the key exists in the dictionary. - In some cases, the import syntax has changed slightly.
For more information about upgrading from Jython 2.5 and 2.7 and an explanation of new features, please refer to:
Libraries upgraded
The following libraries have been upgraded:
aether
: From 1.0.1.v20141111 to 1.0.2.v20150114args4j
: From 2.0.16 to 2.32bouncy castle
: From 1.49 to 1.52freemarker
: From 2.3.19 to 2.3.22guava
: From 16.0.1 to 18.0httpcore
andhttpclient
: From 4.3.3 to 4.4.1jackrabbit
: From 2.6.5 to 2.10.0jetty
: From 9.1.2.v20140210 to 9.2.10.v20150310jline
: From 2.10 to 2.12.1joda time
: From 2.1 to 2.7jython
: From 2.5.3 to 2.7.0logback
: From 1.1.2 to 1.1.3maven-aether-provider
: From 3.2.3 to 3.3.3mustache
: From 1.8 to 1.9resteasy
: From 2.3.5.Final to 3.11.0.Finalscannit
: From 2.6.5 to 2.10.0slf4j
: From 1.7.7 to 1.7.12spring core
: From 3.2.11.RELEASE to 4.1.6.RELEASEspring security
: From 3.2.5.RELEASE to 4.0.1.RELEASEtruezip
: From 7.4.3 to 7.7.8typesafe config
: From 1.2.0 to 1.2.1xstream
: From 1.4.7 to 1.4.8
Items deprecated in XL Deploy 5.1.0
Deprecated features are still available, but will be removed in the next major release. Items marked in red are deprecated and items marked in green are their replacements or alternatives.
Composite packages
Composite packages (udm.CompositePackage
) are deprecated as of XL Deploy 5.1.0. Application dependencies should be used instead.
This is an example of an easy way to migrate a composite package to a deployment package that uses application dependencies. Assuming you have a composite package called C 1.0, which contains deployment packages A 2.0 and B 3.0:
- Delete C 1.0.
- Create a new deployment package called C 1.0.
- Assign the following dependencies to C 1.0:
- A [2.0,2.0]
- B [3.0,3.0]
Orchestrators
The following orchestrators are deprecated:
parallel-by-composite-package
sequential-by-composite-package