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:

    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 a None value. It is recommended that you use the in 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.v20150114
    • args4j: From 2.0.16 to 2.32
    • bouncy castle: From 1.49 to 1.52
    • freemarker: From 2.3.19 to 2.3.22
    • guava: From 16.0.1 to 18.0
    • httpcore and httpclient: From 4.3.3 to 4.4.1
    • jackrabbit: From 2.6.5 to 2.10.0
    • jetty: From 9.1.2.v20140210 to 9.2.10.v20150310
    • jline: From 2.10 to 2.12.1
    • joda time: From 2.1 to 2.7
    • jython: From 2.5.3 to 2.7.0
    • logback: From 1.1.2 to 1.1.3
    • maven-aether-provider: From 3.2.3 to 3.3.3
    • mustache: From 1.8 to 1.9
    • resteasy: From 2.3.5.Final to 3.11.0.Final
    • scannit: From 2.6.5 to 2.10.0
    • slf4j: From 1.7.7 to 1.7.12
    • spring core: From 3.2.11.RELEASE to 4.1.6.RELEASE
    • spring security: From 3.2.5.RELEASE to 4.0.1.RELEASE
    • truezip: From 7.4.3 to 7.7.8
    • typesafe config: From 1.2.0 to 1.2.1
    • xstream: 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:

    1. Delete C 1.0.
    2. Create a new deployment package called C 1.0.
    3. 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