Release Manual 9.5.x

    Upgrade instructions

    The XL Release upgrade process you use depends on the version from which you are upgrading, and the version to which you want to go.

    For detailed instructions based on your upgrade scenario, refer to Upgrade scenarios.

    Digital.ai Release 9.5.0

    XL Release 9.5.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.

    Digital.ai Release 9.5.0 new features

    Software Delivery feature

    The Software Delivery feature introduced in 9.5 allows you to use deliveries and tracked items to synchronize multiple releases together. This allows you to orchestrate the progress of each release so that they can be delivered together as part of a larger feature release, and design delivery patterns that conform to the release standards being used by your organization, such as SAFe.

    With Software Delivery, you can:

    • Model your deliveries in patterns that represent your organization’s strategy for application development, testing, and deployment to production or any other environment
    • Define the items of work that you want to track through the delivery process, no matter how many release processes support those items through their lifecycle
    • Create delivery stages and transition points that synchronize the status of tracked items across release pipelines
    • Establish and enforce a delivery schedule while allowing individual teams to work at their own pace
    • De-scope items from a delivery with full visibility and transparency for all stakeholders

    For details, see Introduction to Software Delivery

    Note: XebiaLabs plans to deprecate Release Groups in a future release as a result of this change, so you should plan to migrate away from using Release Groups in v9.5.

    Enhancements to release audit reporting

    Release audit reporting, which was added in version 9.0, has been enhanced in version 9.5 to provide XL Release users and admins with a new UI to manage, generate, and download audit reports.

    Admins can view the status of all audit reports generated by all XL Release users. They can also search and filter historical audit reports and remove unneeded ones.

    Users can view the status of audit reports they’ve generated in the past, but not the reports generated by other users. They can also view, download, and delete their previously generated audit reports.

    In addition, public APIs are available, enabling you to contribute data to the Release Audit Report when using certain custom or community plugins (integrations). This is limited to the tools in the area of:

    • Plan (e.g. Jira, ServiceNow, Rally, etc.)
    • Build (Jenkins, Circle CI, etc.)
    • Security & Compliance (Sonar, Fortify, Sonatype, Blackduck, etc.),
    • ITSM (ServiceNow, BMC Remedy, etc.)
    • Deployments (XL Deploy, Ansible, uDeploy, etc.)

    Three new filters have been added for generating audit reports:

    • Application
    • Environment
    • Change Number

    For details, see Release audit report.

    Task management improvements

    Task-related permissions in XL Release are now more granular while still providing an Edit Task permission to encompass all task permissions. It is also now possible to view the user who completed a task, even if they are not the creator, by hovering over the Completed status icon. For details, see Configure release teams and permissions.

    Use a template to clean up stale releases

    You can automate the cleanup of old releases by setting up a template with a cleanup script that will be periodically triggered by criteria you provide. You can use this procedure in cases where many releases are in a failed, failing, or paused state that are older than a specified period of time. The documentation was updated to guide you through the process of creating a template. For details, see Clean up stale releases.

    Corrected field order for release variables so you can tab through them correctly

    In the Create Release Variables screen, the order of fields has been improved so that Possible values comes before Default values, making it easier to enter data on the screen. For details, see Create release variables.

    Azure Resource Manager (ARM) blueprint support

    Azure Resource Manager (ARM) allows users to deploy applications to Azure using declarative JSON templates. In the DevOps as Code CLI, you can use the Basic ARM Template to run blueprints on platforms hosted on Azure, by creating ARM templates. This can greatly simplify the process of provisioning resources from XL Deploy and XL Release in an Azure environment. For details, see Deploy to Azure using ARM template.

    Expanded source control management tool support for blueprints

    To share blueprints with other people, you store them in a source control management (SCM) tool. In addition to GitHub, you can now store your blueprints in a BitBucket Cloud, BitBucket On-Prem, and GitLab repository. For details, see Blueprint repository.

    Gate tasks

    Gate tasks now can be configured to be completed automatically after some time if all conditions and dependencies are done. This setting is enabled by default, running every 10 minutes and completing the task if the gate task started after the graceDuration (5 minutes default).

    From 9.5.5, you can disable this feature with the following config:

    xl {
      features {
        gate-actor {
          enabled = false
          graceDuration = 5 minutes
          unstuckInterval = 10 minutes
        }
      }
    }
    
    

    Contact Digital.ai Support if you have hotfixes

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

    Digital.ai Release 9.5.0 release notes

    New features

    • [REL-8000] - Add support for Nexus 3
    • [REL-8331] - Improved filters for Audit report
    • [REL-8354] - New permissions for Software Delivery and delivery patterns
    • [REL-8517] - In tasks, view the user who performed the last action
    • [REL-8518] - Create separate permissions for each action of edit task permission
    • [REL-8519] - Overdue tasks are visible in the Table view
    • [REL-8520] - Create variables screen improved field order
    • [REL-8575] - Improvements to the Report Management screen
    • [REL-8595] - On Report Audit screen, add Environment and Application filters
    • [REL-8610] - Auto-complete for Application and Environment filters
    • [REL-8679] - Adding links from tasks to deliveries
    • [REL-8715] - Activity logs screen for Release Delivery
    • [REL-8716] - Permissions for Release Delivery transitions and tracked items
    • [REL-8840] - Allow users to generate report even if email ID is not configured
    • [REL-8880] - Create report name based on submitted date
    • [REL-8903] - Notify the user when their report jobs get aborted
    • [REL-8909] - Report Management - use full name for Username and improve smaller resolution displays
    • [REL-8930] - Clean up UI for precondition and failure handler permissions
    • [REL-8986] - Upgrade Improvement when existing installation exists
    • [REL-9005] - Permissions: let anyone who can view a task comment on it
    • [REL-9010] - Allow user to edit preconditions or failure handlers with 'release#edit_task'
    • [REL-9036] - Audit Report - resolve Delivery Pattern IDs to title
    • [REL-9072] - Allow access to classes defined in Groovy scripts on JVM 11
    • [REL-9158] - Added support for multilines in text variables

    Improvements

    • [REL-8662] - Improved error description when password is not set for "Run automated tasks as user"

    API changes

    • [REL-8979] - 'Download single-release Audit Report (Excel)' function exposed in public API
    • [REL-8980] - Expose Activity Logs to public API
    • [REL-8981] - Add public API endpoint to get TaskReportingRecords per Task/Release

    Bug fixes

    • [REL-3018] - Changing duration on active task if the end time is set should not trigger error
    • [REL-3060] - Fix issue with tasks failing if Password variable is empty when starting a task that uses it
    • [REL-6741] - Sanitize usernames for internal users
    • [REL-7873] - Prevent values from being deleted unless the mouse cursor is directly on the X icon
    • [REL-8029] - In scripts, checkboxes of boolean type cannot be selected
    • [REL-8312] - Prevent information exposure when making Python OS library calls
    • [REL-8553] - Folder drop-down option to start a release from a template was not working for non-admin users
    • [REL-8581] - Template folder name was not being parsed correctly in the Release Audit Report
    • [REL-8584] - ReleaseActorCache caches wrong releases causing release to fail on build
    • [REL-8585] - Always display fullname of users in audit report, when available
    • [REL-8589] - Server needs to reject requests for extra filename check for plugin manager
    • [REL-8634] - Unable to move a phase while running a release if one or more completed phase is hidden
    • [REL-8644] - Creating a release through the "Create Release" task ignores an "Abort on failure" flag in a child template
    • [REL-8645] - Creating a new role on the UI does not cause every role to be updated
    • [REL-8652] - Audit report name now displays correctly in email sent to user
    • [REL-8677] - Fixed missing user icons in XL Release table view for assignee
    • [REL-8710] - Phase titles in a manual task now update correctly when the task is reopened
    • [REL-8713] - Resolved database error that prevented dashboard tiles from being displayed in some circumstances
    • [REL-8754] - Templates exported from the UI using a Releasefile defining a synthetic enum property are now correctly stored and can be imported back to the UI
    • [REL-8837] - Errors when importing a Groovy file
    • [REL-8864] - Gate task now correctly search for releases in archived databases
    • [REL-8877] - Permissions are no longer lost when a new principal is added to a role
    • [REL-8882] - Resolved a service installation failure
    • [REL-8899] - Roles can now be created even if a team already has that name
    • [REL-8910] - Generate correct audit logs for "Roles" and "Teams & Permissions"
    • [REL-8917] - Resolved error when creating a variable via a script that happened if the valueprovider.id was not "null"
    • [REL-8953] - Fixed exception when running Groovy script tasks which use Deployment Facets
    • [REL-9006] - In the Custom Script Task, resolved issue where the Output property remembers the property name when the task type is changed
    • [REL-9009] - The ${user} variable for assignee in the Welcome! template now resolves correctly
    • [REL-9038] - Corrected date format in the Audit Report when rendered in Excel in Input/Output property values
    • [REL-9042] - Variables used in tasks not being correctly resolved when phase restarts
    • [REL-9094] - Trigger management page now correctly displays configuration items defined in folders
    • [REL-9131] - Prevented users from creating lock task with release#edit_task permission
    • [REL-9136] - Correctly resolve username value for access logs
    • [REL-9146] - Enforce Strict Transport Security (HSTS) in response header
    • [REL-9152] - Alert customers that use cluster set that haproxy.cfg should be changed
    • [REL-9220] - Groovy template import ignores non-head list and set property values

    Digital.ai Release 9.5.1 release notes

    Improvements

    • [REL-9245] - Release overviews slow to load when opening the screen
    • [REL-9291] - Reorder Software Delivery drop-down menu

    Bug fixes

    • [REL-8511] - Opening a task dialog on a release with many dependencies takes too long
    • [REL-9052] - Variables with empty names should not be allowed
    • [REL-9091] - Absolute paths should not be printed in logs for global storage
    • [REL-9169] - Fix search on configuration screens (at a folder and global settings level)
    • [REL-9231] - Notifications should be sent asynchronously
    • [REL-9232] - GateTask can't resolve dependency inside a parallel group with failing CustomScriptTask
    • [REL-9236] - XLR Upgrade to 9.5 taking too long to complete
    • [REL-9255] - Incorrect start date and end date for linked releases on delivery screen
    • [REL-9286] - Client upgrading from XLR 8.0.2 and 9.0.6, repo certificate not working
    • [REL-9315] - Missing team "Assigned to" value when release is in Table view

    Digital.ai Release 9.5.2 release notes

    Bug fixes

    • [REL-8298] - Fix getRole(String roleName) in RolesApi
    • [REL-9209] - Changes in role permissions are not applied on save
    • [REL-9211] - Add UI validation on transition title
    • [REL-9260] - Edit Blackout Period task permission not correctly applying permissions
    • [REL-9298] - Changes to default variables on template are not reflected in release tasks
    • [REL-9300] - Disable event handler for DevOps as Code to improve performance
    • [REL-9386] - Set proper scheduledStartDate and plannedDuration through DevOps as Code yaml document
    • [REL-9388] - Make default sorting of patterns consistent in all tabs
    • [REL-9474] - Restart phase fails if sequential group is on planned state

    Digital.ai Release 9.5.3 release notes

    Bug fixes

    • [REL-6754] - Prevent potential clickjacking attacks
    • [REL-7707] - Permissions not being correctly applied by the task API
    • [REL-8390] - Risk profile is not copied from template to release
    • [REL-9172] - Creating a release from a template with read-only permissions allows a release to be created in an inaccessible folder
    • [REL-9233] - Audit Report broken if the range contains corrupted releases
    • [REL-9244] - Security context being overridden for Value Provider
    • [REL-9385] - Interaction for copying templates and patterns is inconsistent
    • [REL-9414] - Release statistics dashboard as-code yaml spec should use folder path instead of folderId
    • [REL-9507] - xlrelease.UserInputTask variable reference does not get re-linked to release variable when task is copied via API into a running release
    • [REL-9542] - GroovyScript task loses the user from "Run automated tasks as user"
    • [REL-9566] - "Pattern" label disappears when changing delivery screens
    • [REL-9569] - Random PermissionDeniedException in releases
    • [REL-9575] - Release report filtering gives inconsistent results
    • [REL-9597] - Silently ignore NotFoundException for facet upgrade
    • [REL-9685] - Colors of completed releases are not getting updated in the group
    • [REL-9706] - Gate task completes without triggering next task when status is "Waiting"
    • [REL-9738] - Special characters in usernames prevent users from being saved
    • [REL-9747] - ReleaseActorCache does not evict on InterruptedException
    • [REL-9749] - Gate tasks getting stuck while dependencies are completed
    • [REL-9795] - Encrypt secret values in script tasks
    • [REL-9816] - Update spring-security library
    • [REL-9847] - Add validation for delivery description property

    Digital.ai Release 9.5.4 release notes

    Improvements

    • [REL-10081] - Improved number of activity log inserts when updating teams on the folder page

    Bug fixes

    • [REL-10032] - The task after "User input task" picks the old release variable value
    • [REL-10049] - Script task - global and folder variables are captured inconsistently before task starts
    • [REL-10069] - Users in Upper Case can't complete a task if it is assigned to the user in lower case
    • [REL-10156] - Release can't be created in different target folder if the template contains a task with an attachment
    • [REL-3892] - Cannot complete tasks in advance when release is in Failed or Failing state
    • [REL-4101] - Release description is blank if release is started from a trigger
    • [REL-6704] - Restarting a Phase does not persist the edited values of a Task
    • [REL-7022] - In Table view, task titles are truncated after variable
    • [REL-8590] - Different processes for adding an unknow user for Watchers and Assignees
    • [REL-8735] - Jira workflow (jira xlr add-on) is not able to start release because optional release variables are deemed required by XLR server
    • [REL-8969] - UI defect when cursor move out of description windows.
    • [REL-9305] - Users Can No Longer Drag Tasks Around in a Sequential Group Task
    • [REL-9351] - Importing a Template Generated via REST API Returns Error
    • [REL-9467] - Core-notification task type CC To BCC will not use full input field during adding an email address
    • [REL-9692] - Completed deliveries appear as overdue
    • [REL-9846] - ZipException when HttpRequest.py hits 404 with no content.
    • [REL-9850] - "Duplicate stage" exception when quickly adding stages
    • [REL-9867] - Folder Variables failing when used as a value provider for a list box
    • [REL-9877] - Create Release Task: UI for locked task broken
    • [REL-9885] - Release audit reports: input properties of script tasks not in excel sheet
    • [REL-9896] - Disable checkbox if user does not have required permission to edit task
    • [REL-9897] - User can’t see Assigned to fields when they have ‘All task permissions’
    • [REL-9901] - Server error for long folder name
    • [REL-9911] - Not needed padding on watchers list on task
    • [REL-9925] - Removing a task name should not be permitted
    • [REL-9951] - Variable in phase title not resolved unless user has edit release permission
    • [REL-9959] - Can't navigate on months first time you click on navigator

    Digital.ai Release 9.5.5 release notes

    New features

    • [REL-8498] - Script_output.log file under Attachment is not attached when task is Aborted

    Improvements

    • [REL-9917] - Blank Item fields make the audit report's Activity Logs tab hard to read

    Bug fixes

    • [ENG-1046] - Team name is not trimmed through API calls
    • [ENG-1398] - [UI] Template Id from variable in Create Release Task not loading
    • [ENG-1400] - Negative integer variable
    • [ENG-1461] - XLRelease980TeamsTrimName Upgrader is inconsistent with MSSQL older versions
    • [ENG-1543] - Permission Error not showing for Create Release Task for Template field
    • [ENG-1771] - Remove zone index from IPv6
    • [ENG-1772] - Create release button can be clicked multiple times
    • [ENG-1781] - StuckGateActor shouldn't complete GateTasks that have no dependencies or conditions
    • [ENG-1782] - Tasks stays in progress if attachment limit exception is thrown
    • [ENG-1822] - Back-porting : How we can pass value for key-value map and list type variables in yaml while creating release through XL CLI
    • [ENG-1823] - Value provider values are not displayed properly on first load
    • [ENG-1948] - The task modal title gets overflow for the skipped, locked and completed task
    • [ENG-1958] - Duplicate comments in TaskExecutionEvents
    • [ENG-2070] - Script logs are not visible in attachments after aborting a task
    • [ENG-2119] - Unable to test git repository that does not have branch called 'master'
    • [ENG-2191] - Overdue tasks don't show up in tableview
    • [ENG-2199] - Audit report job thread keeps on running in background on abort
    • [ENG-2235] - Browser console error on adding a new dashboard tile
    • [ENG-2249] - Increase length of the shortened task title
    • [ENG-2325] - Restart phase doesn't use the latest content of the task
    • [ENG-541] - Typo in XL Release documentation
    • [ENG-544] - XLR: Color picker for phases is misaligned
    • [ENG-552] - Allow Value provider scripts execution inside the security sandbox
    • [ENG-661] - Fix encryption for senderPassword field in Notification Task
    • [ENG-706] - Can not delete empty user added by mistake in Watchers and XLR gives error
    • [REL-10160] - Watchers list is adding wrong watcher along with true one.
    • [REL-10173] - Fix duplication of release variables
    • [REL-10201] - XL Release recreates deleted user
    • [REL-10309] - Variable used in markdown description or title resolved after reload only
    • [REL-10313] - No trim happens on checking duplicating name in several places including environment and application
    • [REL-10314] - When a validation error happens in Environment creation form, you have to reload otherwise there is no going forward
    • [REL-10350] - Folder Variable value is not being passed to Input Task
    • [REL-10351] - Team name is treated as case-sensitive which creates problem in assigning task to a team through script.
    • [REL-10376] - release.url is not working in script task
    • [REL-10377] - Delivery pattern: Save button doesn't get disabled in edit mode
    • [REL-10409] - Wrong color for time field on task modal
    • [REL-10421] - Groovy template import unable to extract some kinds of zip files
    • [REL-10422] - Handling backslashes in variable interpolation correctly
    • [REL-10430] - Column length too small in XLR_DEPENDENCIES
    • [REL-10434] - While generating yaml for a template, release dashboard definition for other templates in that folder also gets included.
    • [REL-10435] - Comma in parameter is encoded in URL
    • [REL-10459] - Empty string in key-value variables makes groovy export unusable
    • [REL-7981] - No "Active task assigned" notification sent to team when a task is assigned without task owner
    • [REL-9676] - Variables in the template's description are resolved if the template is created from an External Script task
    • [REL-9878] - Resolve the role name to a global role only when calling rolesApi.getRole(roleName)
    • [REL-9904] - User can click on 'Add to group' without permission

    Digital.ai Release 9.5.6 release notes

    New features

    • [ENG-2312] - Avoid additional copy of OverthereFile on placeholders replacement
    • [ENG-2434] - Replace Jettison JSONObject with Jackson ObjectMapper when leniently loading Release JSON
    • [ENG-2669] - Extend support package with usage statistics report
    • [ENG-3813] - Reduce number of teams/roles/permissions reads during task execution
    • [ENG-3852] - Change default value to false for Stuck gate detector
    • [REL-10477] - Reduced the number of release read counts when restarting a phase

    Improvements

    • [ENG-2934] - Add ability for asc/desc sort when searching releases
    • [ENG-2962] - Add Role id as extension to GET release call [ReleaseApi]

    Bug fixes

    • [ENG-1530] - Tags are not properly displayed when multiple lines of tags are assigned to release.
    • [ENG-2456] - Update summaries checkbox is not working for Jira Update Issues task
    • [ENG-2457] - Unable to create jira issue for EPIC issue type
    • [ENG-2490] - Unable to update release with duration set
    • [ENG-2627] - Fix spring security extension import for OIDC Plugin
    • [ENG-2751] - CompleteTask message to actor ignored because of GC
    • [ENG-2803] - Environment reservation does not show selected applications if it contains a note
    • [ENG-2889] - Fix Inconsistent behaviour for releaseApi.restartPhase(release, True) Jython API call
    • [ENG-2918] - Add proper permission check to delete the configuration
    • [ENG-3026] - Tooltip component not wrapping the long character word
    • [ENG-3029] - Jira check issue task status is not updated from "in progress"
    • [ENG-3072] - Issue with Release archiving
    • [ENG-3806] - Broken delivery properties screen for long pattern name
    • [ENG-3807] - Notifications are not sent to LDAP groups
    • [ENG-3822] - HTTP 400 error while exporting release audit report
    • [ENG-3855] - Use UTF-8 on Jython HttpRequest
    • [ENG-3950] - Releases that are FAILURE_HANDLER_IN_PROGRESS are not recovered
    • [ENG-4024] - Fix searchReleases public API
    • [ENG-4260] - Watcher predictive text field not working
    • [ENG-4280] - FI-464 Template owner dictates release owner when release started from template
    • [REL-10447] - Date variables inconsistency around milliseconds
    • [REL-9869] - Make sure tracked items names are case insensitive in UI / tasks

    Digital.ai Release 9.5.7 release notes

    New features

    • [ENG-5089] - Changed default value to true for gate actor

    Improvements

    • [ENG-4816] - HttpRequest.py: Added option to disable certificate handshake

    Bug fixes

    • [ENG-1723] - Fixed: Discrepancy found while adding Jira Subtask type in XLR for input 'Issue Type Name'
    • [ENG-4959] - Fixed: MSSQL - deadlocks errors on deliveries