Release Manual

    Upgrade instructions

    For upgrade instructions, refer to Upgrade XL Release.

    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 Release 4.8.2

    XL Release 4.8.2 release notes

    Improvements

    • [REL-3427] - Make Jenkins Build task resilient to network failure

    Bug fixes

    • [REL-2745] - Opening one collapsed Parallel Group opens them all
    • [REL-3041] - Credentials are visible in log-in URL
    • [REL-3116] - Restricted access is not enforced for Task Access settings
    • [REL-3229] - After a phase is restarted, the phase end date is removed
    • [REL-3244] - Cannot create variable with release.* when upgrading from XL Release 4.7.x to 4.8.x
    • [REL-3352] - Starting releases from two triggers that execute at the same time will fail after some time
    • [REL-3372] - Inconsistent behavior when a task depends on multiple other tasks

    XL Release 4.8.1

    XL Release 4.8.1 release notes

    Improvements

    • [PLAT-238] - Ensure JCR node caching is more resilient to possible memory leaks
    • [REL-2432] - Improve the default JDBC export hook
    • [REL-2576] - Upgrade to jGit 4.0.0
    • [REL-2881] - Limit comment size

    API changes

    • [REL-2754] - Support "Delete Task" in public API

    Bug fixes

    • [REL-1768] - Permissions not retrieved when logging in with different case.
    • [REL-2544] - HTTP client library version is incompatible with HTTP MIME version
    • [REL-2599] - Several issues in parallel group execution
    • [REL-2871] - Restart/resume phase sets release start date to current time
    • [REL-2886] - XLRelease480UpgradeVariables does not support creating release variables with "global." prefix
    • [REL-2893] - In case of multiple results when using Webhook task, double quotes are removed from the entries
    • [REL-2905] - "Run as" user is not copied when release is started from trigger
    • [REL-2906] - When a release created from a trigger fails immediately, another release may be created right away
    • [REL-2911] - Cannot import template with unknown tasks that contain variables
    • [REL-2915] - Permission error when trying to edit a trigger variable using Jython API
    • [REL-2917] - User must click Save twice to save tags on a template
    • [REL-2919] - Improve archiving performance and resource usage
    • [REL-2955] - Changing task duration when task due date is defined results in cascading errors in UI
    • [REL-2963] - Cannot archive 10,000 attachments in one job run
    • [REL-3003] - When creating a new release, the "Release Admin" team gets all permissions, regardless of the permissions set in the template

    XL Release 4.8.0 upgrade notes

    Deleting tasks with the REST API

    You can now use the XL Release REST API to delete tasks. For more information, refer to the REST API documentation.

    Comment size limited

    To prevent performance problems, comments on tasks are now limited in size. For more information, refer to Add comments to a task.

    XL Release 4.8.0

    XL Release 4.8.0 release notes

    New features

    • [REL-1089] - Allow user to change task type
    • [REL-2316] - Introduce a Variables screen
    • [REL-2317] - Allow user to specify labels and descriptions for variables
    • [REL-2406] - Allow user to take action on a task without opening it
    • [REL-2439] - Allow user to edit variables on Variables screen
    • [REL-2440] - Allow user to set default values for template variables
    • [REL-2441] - Allow user to create new variables on Variables screen
    • [REL-2442] - Allow ordering of variables on Variables screen
    • [REL-2444] - Add "required" and "show on release start" options for variables
    • [REL-2445] - Support User Input task type
    • [REL-2446] - Ask for unbound required variables when task starts
    • [REL-2447] - Allow directly linking from a notification to a task pop-up
    • [REL-2448] - Support variables of type list
    • [REL-2449] - Support variables of types set and key-value map
    • [REL-2450] - Support variables of type Boolean
    • [REL-2451] - Support variables of type integer
    • [REL-2453] - Allow users to delete variables on the Variables screen
    • [REL-2454] - Support renaming of variables
    • [REL-2475] - Allow users to create and manage global variables
    • [REL-2493] - Support list, set, and key-value map property types in custom tasks
    • [REL-2494] - Support variables in non-string fields of custom tasks
    • [REL-2525] - Create page for users to enter license key
    • [REL-2560] - Update Jenkins plugin to work with XL Release 4.8.0
    • [REL-2563] - Require Java 8
    • [REL-2585] - Use license version 3 in XL Release
    • [REL-2645] - Show synthetic.xml labels and descriptions in UI
    • [REL-2650] - Support list, set, and key-value map property types in Trigger and Configuration screens
    • [REL-2731] - Resolve variables inside lists, sets, and key-value maps
    • [REL-2763] - Support creating new variables from variable selector
    • [REL-2773] - Show variable selector when replacing non-string variables
    • [REL-2781] - New task types: Jira: Query, Jira: Update Issues, and Jira: Update Issues by Query

    Improvements

    • [REL-2443] - Restyle Create Release form
    • [REL-2468] - Document Jython helper scripts such as XLReleaseApi.py
    • [REL-2474] - Improve visual style of UI
    • [REL-2534] - Expose release ID as a ${release.id} variable
    • [REL-2539] - Use UTF-8 to encode JSON in HTTP endpoints
    • [REL-2558] - Support password string output properties
    • [REL-2577] - Make the task pop-up resizable
    • [REL-2578] - Make Jenkins polling interval configurable
    • [REL-2653] - Add "Assign to me" to task menu
    • [REL-2737] - Implement new variable selector for password fields
    • [REL-2784] - Make XL Release viewable on iPad
    • [REL-2836] - Ensure Boolean variables can be false by default

    API changes

    • [REL-2166] - Provide Jython-friendly methods in public API
    • [REL-2548] - Public API endpoints to manage release and template variables
    • [REL-2593] - Update API with endpoints for the WAITING_FOR_INPUT state
    • [REL-2824] - Create and start a release from a template as separate actions

    Bug fixes

    • [PLAT-355] - Rolback of XLD tasks fails
    • [REL-2078] - Deleting a link in the planner results in error
    • [REL-2176] - 'Run scripts as' user is not copied when starting a release
    • [REL-2330] - It is not possible to start a release with password variables via the public API
    • [REL-2397] - Documentation links in UI are outdated
    • [REL-2476] - Pipeline screen does not show percentage complete
    • [REL-2477] - Date is cleared if user selects the same date
    • [REL-2479] - Triggers do not automatically include tags from template
    • [REL-2486] - A custom task can be left in progress if script initialization fails
    • [REL-2487] - Section character (ยง) cannot be used in JIRA password
    • [REL-2495] - Scheduled tasks nested in a parallel group hang
    • [REL-2505] - All users can see 'abort' action on script tasks
    • [REL-2508] - Releases created from Jenkins plugin do not include tags from template
    • [REL-2515] - Completing a task in a parallel group in advance causes linked sub-tasks to be skipped
    • [REL-2541] - Using 'print' in an export hook script results in NullPointerException
    • [REL-2557] - Adding a task when both user and group are in the same role results in IllegalArgumentException
    • [REL-2566] - Using urllib2 in a custom script task results in AccessControlException
    • [REL-2567] - Equal sign (=) cannot be used in properties passed to a Jenkins job
    • [REL-2572] - User cannot log in with the correct password after attempting to log in with an incorrect password
    • [REL-2573] - User cannot see a release in the release overview or pipeline even though he or she has view permission
    • [REL-2591] - Jenkins build task is not thread-safe
    • [REL-2598] - User cannot see task details if task is assigned to him or her, but he or she does not have view rights on the release
    • [REL-2625] - server.sh does not add expanded JAR plugins to the classpath
    • [REL-2631] - Startup script generated by the installer has an incorrect classpath order
    • [REL-2635] - Clicking button does not save inline control state
    • [REL-2644] - XL Release occasionally does not load XL Deploy packages
    • [REL-2661] - In a release without a 'run scripts as' user, releaseVariables in script tasks can be modified
    • [REL-2706] - Starting a release from script task results in AccessControlException
    • [REL-2709] - Date range in reports does not exclude correct data
    • [REL-2730] - Release overview does not filter completed releases correctly

    XL Release 4.8.0 upgrade notes

    Upgrade Java version

    Java SE Development Kit (JDK) 8 is required for XL Release 4.8.0. Java 7 is not supported.

    Upgrade license file

    XL Release 4.8.0 requires version 3 of the XL Release license. Versions 1 and 2 are not supported.

    To check your current license version, log in to the XL Release GUI and go to Help > About. To download a new license, go to the XebiaLabs Software Distribution site. Replace the XL_RELEASE_HOME/conf/xl-release-license.lic file with the new license file.

    Tip: You can also use license version 3 for XL Release 4.6.x and later.

    Upgrade Jenkins XL Release plugin

    The previous version of the Jenkins XL Release plugin is not compatible with XL Release 4.8.0. Please upgrade to the version 4.8.0 of the plugin.

    Authentication in script tasks

    Prior to XL Release 4.8.0, it was possible to read and write release variable values in script tasks by using the releaseVariables attribute; you were not required to set the Run script as user property on a template or release to do so. However, you did have to specify the user if you wanted to use other parts of the XL Release Jython API.

    In XL Release 4.8.0, you can continue to use releaseVariables in script tasks; however, if you want to change a variable, you must set the Run scripts as user property (including the user password) on the template or release. Note that this may require you to update your templates and releases after upgrading.

    For an example of the releaseVariables attribute, refer to Create a script task. For information about writing scripts, refer to Using the XL Release API in scripts.

    Troubleshooting the upgrade

    If you see the following error while upgrading, ensure that you copied the archive folder to the new installation (refer to Upgrade XL Release).

    org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [select * from RELEASES]; nested exception is java.sql.SQLSyntaxErrorException: Table/View 'RELEASES' does not exist.
    

    New variable management features

    XL Release 4.8.0 includes powerful new features for managing variables.

    You can now create and manage release variables by selecting Variables from the Show menu on a template or release.

    Global variables can be used in all templates and releases. To create and manage global variables, go to Settings > Global variables. This requires a new global permission, Edit Global Variables.

    New variable types

    XL Release now supports variables of type checkbox (Boolean), number (integer), list, set, and key-value map.

    New public REST API endpoints

    Because of the XL Release 4.8.0 variable management feature, some parts of the internal (private) XL Release REST API have been replaced by public API endpoints. If you are using internal API endpoints, it is recommended that you replace them with public API endpoints, as the internal API can change at any time.

    Also, the REST API now allows you to use separate calls to create and start a release.

    Refer to the XL Release 4.8.0 REST API documentation for information about the public API endpoints that are available.

    New task action menu

    You can now take action on a task in the release flow editor without opening it by clicking the task action menu on the task. For example, you can assign a task to yourself, change its type, or complete, skip, fail, duplicate, or delete the task.

    New task types

    XL Release 4.8.0 introduces the following new task types:

    Changing task types

    You can now change the type of a task in a template, in a planned release that has not started yet, or in an active active release, if the task that you want to change has not started yet. XL Release will copy the values of properties that are shared between the task's previous type and the type that you selected. Use the new task action menu to change a task's type.

    Items deprecated in XL Release 4.8.0

    Deprecated features are still available, but will be removed in the next major release.

    Support for Internet Explorer 9

    Support for Microsoft Internet Explorer 9 is deprecated as of XL Release 4.8.0. The latest version of Internet Explorer or another browser should be used instead. Refer to Requirements for installing XL Release for more information.