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 6.0.2

    XL Release 6.0.2 release notes

    Improvements

    • [REL-4289] - Upgrade service wrapper to yajsw-stable-12.08

    Bug fixes

    • [REL-3442] - SVN poll plugin doesn't take into consideration the branch that you specify but it polls the whole repository
    • [REL-4178] - Teams members disappear when deleting a new team
    • [REL-4193] - Multiple releases from one template do not appear in folder
    • [REL-4283] - getTaskApi() is needed for backward compatibility
    • [REL-4287] - Create Release tasks executed in parallel cause StaleItemException
    • [REL-4293] - ItemConflictException when setting releaseVariable
    • [REL-4299] - Jenkins Build task fails while using pipeline job with build parameters.
    • [REL-4312] - suPassword field is logged in plain text when debug logging is enabled
    • [REL-4388] - Variable order in user input task issue
    • [REL-4532] - Support WorkFlowMultiBranchProject in Jenkins
    • [REL-4650] - Precondition wipes input variables
    • [REL-4664] - XL Release long Release/Template titles hidden in Firefox; shortened in other browsers
    • [REL-4767] - User input task throws error if release in not started
    • [REL-4855] - /api/v1/releases/byTitle works only for admin user

    XL Release 6.0.1

    XL Release 6.0.1 release notes

    New features

    • [REL-4014] - Ensure that passwords are not sent in clear text when editing server settings

    Improvements

    • [REL-3012] - Prevent releaseVariables from overwriting external changes to variables
    • [REL-3986] - Limit size of output properties of string type

    Bug fixes

    • [REL-2633] - Cannot fetch user name and email if two LDAP servers are configured
    • [REL-3335] - Page focus switches to the top of the phase when tasks change state
    • [REL-3565] - Setting the hour to 12 reverts to 00 on 24 hour timepicker on task scheduler
    • [REL-3752] - When teams with identical names are added to a folder, they cannot be removed
    • [REL-3831] - folderAPI is missing from Jython documentation
    • [REL-3895] - RESTEasy warning messages occur when user opens My Tasks screen
    • [REL-3906] - Adding repository.keystore.password to deployit.conf does not work when using encryption
    • [REL-3954] - Task types are repeated on Task Access screen
    • [REL-4028] - Release summary tile shows incorrect duration when is release complete
    • [REL-4031] - Sample templates that contain a Gate condition do not work correctly
    • [REL-4036] - Adding folder does not trigger event
    • [REL-4059] - The email sent when a release is completed does not include the folder path
    • [REL-4063] - NullPointerException when trying to modify a user with a hash symbol in the name
    • [REL-4091] - Dependency date estimations are not calculated if the release is in a folder
    • [REL-4104] - Start release and task assign emails for teams do not work as expected when release is started from a folder
    • [REL-4112] - LDAP group users in roles do not get correct permissions
    • [REL-4113] - Cannot start release with integer variable through public API
    • [REL-4148] - Team members disappear when adding a new team in a template

    XL Release 6.0.1 upgrade notes

    Limitation on custom script tasks

    The size of string output properties in script tasks is now limited to 32 KB for all task types. This prevents performance problems that can occur when, for example, a Remote Script task output contains megabytes of text. You can adjust this limit per task type; refer to Create custom task types for more information.

    XL Release 6.0.0

    XL Release 6.0.0 new features

    Manage templates and releases with folders

    Folders provide an intuitive way to organize your templates and releases by project, by team, or by any other model that fits your organization. With folders, you can easily apply security settings to a large number of templates and releases by setting role-based access control at any level of your folder hierarchy. For information about folders, refer to Manage templates and releases using folders.

    Add tags to tasks

    You can now add tags to tasks in a template or release, and search by tag in the release table view.

    You can also view the progress of tagged tasks in release dashboards by installing the XL Release task progress plugin, which is available on the XebiaLabs Software Distribution site.

    Run XL Release in active/hot-standby mode

    XL Release now supports active/hot-standby mode, which ensures that you have a highly available XL Release installation. Note that active/hot-standby mode requires you use an external database for the XL Release repository and the archive database, instead of in XL Release's embedded Derby database. For more information, refer to Configure active/hot-standby mode.

    Create phases from the XL Release API

    You can now use the XL Release REST and Jython APIs to create phases in templates and releases. Refer to the REST API and Jython API documentation for more information.

    Create variables of type list box

    Global and release variables now support the list box type, a drop-down list of selectable values that can be reordered and can contain duplicates. These variables can be used to allow users to select from a limited set of values in User Input tasks. For more information about variables, refer to Create global variables and Create release variables.

    Assign the Edit Triggers permission

    The new Edit Triggers permission on templates allows you to control access to release triggers. By default, all users who have the Edit Template permission are assigned the Edit Triggers permission when you upgrade to XL Release 6.0.0.

    XL Release 6.0.0 upgrade notes

    Redesigned permission system

    The XL Release permission system has been redesigned to allow for folder permissions. During the upgrade process, an upgrader will update the releases and templates in the system. This may take some time.

    If a release team refers to a global role that no longer exists, the upgrader will remove the reference. You can see this as a warning in the upgrade log. For example:

    2016-09-20 09:37:40.225 [main] {} WARN  c.x.xlrelease.repository.Teams - The following role(s) do not exist: [Team Hammer]. They were removed from the team Template Owner (Applications/Release2457853/Team1584683).
    

    Variables do not appear when restarting a phase

    When you restart a phase in a release, the restart dialog box no longer shows the required variables in the release. To change variables before restarting, select the Resume later option and go to the release's Variables screen.

    Archiving job throttling

    The release archiving job now has a lower impact on XL Release's overall performance while releases are being archived. For information about the archiving job and options for throttling it, refer to How archiving works.

    If you have changed the archivingJobCronSchedule property in the deployit-defaults.properties file, ensure that you adjust the throttling options such that the archiving job throughput is high enough to archive all completed and aborted releases in a timely manner. Otherwise, your XL Release repository may grow and cause a negative performance impact.

    Contact XebiaLabs Support if you have hotfixes

    Before upgrading, check whether there are hotfixes installed in the XL Release hotfix directory. If hotfixes are installed, contact the XebiaLabs support team before upgrading.

    XL Release 6.0.0 release notes

    New features

    • [REL-2318] - Support variables of type drop-down list
    • [REL-3051] - Support adding tags to tasks
    • [REL-3078] - Support UI extensions in all parts of the navigation menu
    • [REL-3079] - Support permissions for UI extensions
    • [REL-3092] - Support release tags on Create Release task
    • [REL-3279] - Create "Folders" page
    • [REL-3481] - Remove tab navigation
    • [REL-3513] - New UI for permissions and teams
    • [REL-3545] - Add "Edit triggers" permission
    • [REL-3547] - Ensure that JCR sessions are closed
    • [REL-3569] - Add browser titles for all pages
    • [REL-3656] - Implement active/hot-standby configuration
    • [PLAT-413] - Add logging to the JCR garbage collector
    • [PLAT-429] - Add ShutdownListeners to XL Release

    Improvements

    • [REL-3243] - Upgrade service wrapper
    • [REL-3349] - Remove flag from pipeline view when a dependency is set
    • [REL-3350] - Do not show variables when restarting a phase
    • [REL-3427] - Make Jenkins Build task resilient to network failure
    • [REL-3429] - Upgrade to Overthere 4.3.3
    • [REL-3432] - Import an exported template into a folder
    • [REL-3491] - Do not run JCR garbage collection at the end of archiving job
    • [REL-3588] - Smart bulk save of changes in JCR for VariablesUpgrader
    • [REL-3603] - Allow archiving to be throttled and to be configured through JMX
    • [REL-3675] - When importing a template, only change the ID when that ID already exists

    API changes

    • [REL-3366] - Add API for folders
    • [REL-3378] - Create phases from public API

    Bug fixes

    • [REL-2703] - JCR "Unable to compare rows" exception occurs during archive process
    • [REL-2745] - Opening one collapsed Parallel Group opens them all
    • [REL-2887] - XLRelease480UpgradeVariables fails with "A variable already exists by key"
    • [REL-3116] - Restricted access is not enforced for Task Access settings
    • [REL-3213] - ConcurrentModificationException occurs during release archiving process
    • [REL-3229] - After a phase is restarted, the phase end date is removed
    • [REL-3230] - When archiving a release with dependencies, the archive database returns a 500 error
    • [REL-3234] - Running a Remote Script task without specifying a remote path results in NullPointerException
    • [REL-3242] - Cannot create release trigger with certain CRON commands
    • [REL-3244] - Cannot create variable with release.* when upgrading from XL Release 4.7.x to 4.8.x
    • [REL-3245] - Handle outgoing dependencies in Gate tasks when archiving releases
    • [REL-3322] - Memory leak in UI
    • [REL-3346] - When changing a task type takes a long time, the task window cannot be closed
    • [REL-3347] - Service wrapper does not respond to certain requests
    • [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
    • [REL-3392] - Failing label is not calculated correctly for nested tasks
    • [REL-3398] - JIRA tile cannot be added if a JIRA issue does not have an assignee
    • [REL-3422] - Template cannot be exported if user tries to export it more than once in the same view
    • [REL-3454] - XL Release does not recognize repository.keystore.password set in xl-release-server.conf
    • [REL-3472] - Error during archive of release with links
    • [REL-3488] - "View reports" global permission does not have any effect
    • [REL-3489] - Archiving fails if there are duplicate tags in a release
    • [REL-3570] - Subrelease is archived with an invalid ID
    • [REL-3580] - XLRelease480UpgradeVariables fails with "ItemAlreadyExists"
    • [REL-3626] - Tasks hang while trying to send email when there is a connection issue with LDAP server
    • [REL-3678] - Printing from a custom script task while an export hook is also printing results in NullPointerException
    • [REL-3834] - Using REST API call to start release using a template ID changes the template to a release and removes it from templates