Release Manual 9.8.x
Upgrade instructions
The Digital.ai 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.8.0
Release 9.8.0 is a short-term support (STS) version that will be supported until superseded by the next STS or long-term support (LTS) version. For more information, refer to Short-term support/Long-term support policy.
Feature highlights
These are the main features of the 9.8 release:
- Revamped release calendar
- Vertical tabs in folders
- Live Dashboard Tiles
- Dashboard auto-refresh
- Trigger logs & dry run
- Delivery APIs
- As-code support for Folder and Global variables
- SCM support for Bitbucket Server / Generic Git
- Audit report: added task description
- Improved OIDC Authentication
...and much more improvements and bug fixes.
Digital.ai Release 9.8.0 new features breakdown
Revamped release calendar
The calendar release overview has been redesigned from the ground up to be better readable and more scalable.
New features, among others:
- Sleek timeline view
- Expanded release view includes tasks
- Filtering by task tags
- Export calendar as Excel
- Dependency drawer
- Blackout period
- Week View
- Risk filter
- Enhanced progress bar for releases
Vertical tabs in folders
In perhaps the most visually striking change, folder tabs are moved to a vertical menu on the left for better usability.
Live dashboard tiles
Three new global dashboard tiles that report on running releases:
- Active releases
- Active releases by status
- Active releases by risk
Previously, dashboard tiles only reported on archived releases. These new tiles now report on releases that are still active.
Dashboard auto-refresh
Dashboard contents can now be automatically refreshed. Great for wall-mounted performance monitors!
Trigger logs & dry run
The date a trigger was last run is now displayed.
A new Activity logs subpage is available that shows all trigger updates, lifecycle changes (enable/disable) and trigger executions. Deep-links to releases that are created. Webhook based triggers also capture the HTTP event which triggered therelease.
A cleanup job will remove all the surplus events from the database, by default every 6 hours. This can be configured in the xl-release.conf
property file.
xl.features.webhooks.retention-policy.schedule
The Trigger dry run feature allows you to test a webhook trigger on a dummy event to check its correctness. This will not create a release or be shown in the activity logs.
Delivery APIs
Public APIs for Delivery and Delivery patterns are now available.
As-code support for Folder and Global variables
Folder and global variables now exported as part of folder and globalconfiguration, featuring new folderVariables
and globalVariables
elements. Template variables are kept as before. There are no dedicated CLI options to export variables, just use the -c
or --configurations
option.
SCM support for Bitbucket Server / Generic Git
This release adds support for Bitbucket Server and any generic Git as SCM provider. Contrary to existing SCM connections this one is implemented as a generic Git connection.
In essense this will work with any remote git repository and will clone the remote repository locally. In cluster mode, this means each node will have its own clone of the repository. You can configure the directory that the repositories will be saved by setting the following property in xl-release.conf
:
xl.scm.workdir-path ${xl.repository.workDir}/scm_repos
Task Description in Audit report
The task description is now included in the Audit report.
Improved OpenID Connect (OIDC) authentication
OpenId Connect (OIDC) authentication integration now comes with a lot of new security enhancements. nonce
parameter has been added now to prevent replay attacks. Also, Proof Key for Code Exchange (PKCE) support has been added.
keyRetrievalSchedule
is not required anymore. Customer can safely remove this from their xl-release.conf
file.
A new postLogoutRedirectUri
has been added for post-logout URL which will replace post_logout_redirect_uri
query parameter. If you have added post_logout_redirect_uri
query parameter in your redirectUri
uri, remove query parameter and set it as postLogoutRedirectUri
.
xl {
security {
auth {
providers {
oidc {
...
logoutUri="https://oidc.example.com/auth/realms/xl-release/protocol/openid-connect/logout"
redirectUri="https://xl-release.example.com/oidc-login"
postLogoutRedirectUri="https://xl-release.example.com/oidc-login"
}
}
}
}
}
Customers can now customise ID Token signature algorithm using new idTokenJWSAlg
parameter as described below. The default algorithm for signature verification is RS256
.
xl {
security {
auth {
providers {
oidc {
...
idTokenJWSAlg="<The ID token signature verification algorithm>"
}
}
}
}
}
Below JSON Web Algorithms (JWA) are currently supported:
Value | Digital Signature or MAC Algorithm |
---|---|
RS256 | RSASSA-PKCS1-v1_5 using SHA-256 |
RS384 | RSASSA-PKCS1-v1_5 using SHA-384 |
RS512 | RSASSA-PKCS1-v1_5 using SHA-512 |
ES256 | ECDSA using P-256 and SHA-256 |
ES384 | ECDSA using P-384 and SHA-384 |
ES512 | ECDSA using P-521 and SHA-512 |
PS256 | RSASSA-PSS using SHA-256 and MGF1 with SHA-256 |
PS384 | RSASSA-PSS using SHA-384 and MGF1 with SHA-384 |
PS512 | RSASSA-PSS using SHA-512 and MGF1 with SHA-512 |
HS256 | HMAC using SHA-256 |
HS384 | HMAC using SHA-384 |
HS512 | HMAC using SHA-512 |
Note: For MAC based algorithms such as HS256
, HS384
or HS512
, the clientSecret
corresponding to the clientId
is used as the symmetric key for signature verification.
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.8.0 release notes
New features
- [ENG-1026] - Tile for live "releases by status"
- [ENG-1027] - Implement generic tile auto-refresh functionality
- [ENG-1029] - Implement deep linking for live releases by status tiles
- [ENG-1031] - Live tiles: Implement generic filtering criteria on live tiles
- [ENG-1045] - [FR] Add Task Description to CoC report
- [ENG-1403] - Triggers: Show trigger change logs
- [ENG-1408] - Triggers: Show trigger execution logs
- [ENG-1409] - Triggers: Show last run indicator on triggers page
- [ENG-1481] - [FI-185] XLR doesn't fetch any build status(by using variable) for failed jenkins job
- [ENG-1500] - Remove deprecated spring-security-oauth library
- [ENG-1501] - Add nonce to prevent replay attacks in OpenID Connect
- [ENG-1502] - Add PKCE Support for OpenID Connect
- [ENG-1503] - Add configuration to select id token signature algorithm with OpenID Connect
- [ENG-1508] - Live tiles: Redo the "Releases by status" tile
- [ENG-1509] - Live tiles: Implement "Releases by risk" tile
- [ENG-1510] - Live tiles: Implement "Releases list" tile
- [ENG-1513] - Triggers: Rework the navigation concept of triggers
- [ENG-1552] - Version Control for Release using on-prem bitbucket
- [ENG-1651] - Live tiles: Feedback improvements
- [ENG-1661] - JSON webhooks: 9.8 improvements bucket
- [ENG-1780] - Add 'date' query to the timeline URL
- [ENG-1789] - JSON webhooks: Execution logs feedback
- [ENG-1895] - Improve new folder explorer navigational concepts
- [ENG-2078] - Resolve folder and global string variables in polling based release triggers
- [ENG-219] - When a task is scheduled to deploy an application, it should wait for the scheduled deployment time
- [ENG-2231] - Event based triggers do create log entries when events are ignored
- [ENG-825] - [FR] XLR - Provide the ability to assign locked tasks
- [ENG-826] - As-code support for Folder and Global variables
- [ENG-834] - Release Delivery: Make the DeliveryApi public
- [ENG-852] - DELIVERIES TAB : Show Stage Name (in progress) in the Delivery Overview Screen.
- [ENG-853] - Delivery Pattern : Add a button to create new stages in between
- [ENG-855] - Pattern : Unique name (Show the Folder where the Pattern already exist)
- [ENG-856] - Show tracked item name on Linked Releases pop-up
- [ENG-858] - New task type: Find delivery by tracked items
- [ENG-859] - XLR - Delivery folder not shown in the deliveries view
- [REL-10137] - [folder explorer] Create selected folder component
- [REL-10287] - Implement feature toggle for due soon and overdue notifications
- [REL-10441] - Case sensitivity issues on environments
- [REL-8498] - Script_output.log file under Attachment is not attached when task is Aborted
- [REL-8851] - [COMPONENT] Release progress bar
Improvements
- [ENG-1446] - Resizable track item column in deliveries
- [ENG-1597] - Add link to created release on trigger activity logs
- [ENG-1744] - Keep keystore and truststore configuration when ssl and mutualssl flag value are toggled off
- [ENG-1774] - Use startedFromTaskId to show a relation with relationship-plugin
- [ENG-857] - Reduce width of stage details
- [REL-9788] - Sometimes tasks cannot be completed because XLR is responding slow
Bug fixes
- [ENG-1025] - [XL-CLI] generating dashboards with filters exports templateId
- [ENG-1036] - Update third party component with known vulnerabilities
- [ENG-1040] - [xlr-as-code] List box variable value can be default set to element which is not part of that list
- [ENG-1046] - Team name is not trimmed through API calls
- [ENG-1374] - Security fixes for docker images
- [ENG-1384] - XLR: Make StuckGateDetectorActor configurable
- [ENG-1398] - [UI] Template Id from variable in Create Release Task not loading
- [ENG-1400] - Negative integer variable
- [ENG-1440] - TriggerTitle Upgrader on 9.0 is not compatible with 9.7
- [ENG-1441] - Variables in XL Release triggers are overwritten when template variable is updated
- [ENG-1461] - XLRelease980TeamsTrimName Upgrader is inconsistent with MSSQL older versions
- [ENG-1543] - Permission Error not showing for Create Release Task for Template field
- [ENG-1588] - GUI Bug: team not visible while adding to trigger: manage trigger permission under teams and permissions
- [ENG-1674] - Fix depth parameter on FolderApi
- [ENG-1677] - Jira Task : Create Issue is getting failed while creating EPIC issue type.
- [ENG-1679] - Jira--> Updated issues Task: Update sumaries checkbbox is not working as expected
- [ENG-1707] - Fix closing brackets for html code in AngularJS Code
- [ENG-1734] - The "Created By" column in Audit Report shows incorrect data
- [ENG-1742] - Fix broken rrule dependency
- [ENG-1747] - Fix table component on task access screen
- [ENG-1771] - Remove zone index from IPv6
- [ENG-1772] - Create release button can be clicked multiple times
- [ENG-1773] - XL-CLI generates templates when only permissions are requested
- [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-1794] - Wrong modal title when deleting comment
- [ENG-1813] - Restart message after installing a plugin does not appear
- [ENG-1823] - Value provider values are not displayed properly on first load
- [ENG-1858] - Use read_committed transaction for H2
- [ENG-1948] - The task modal title gets overflow for the skipped, locked and completed task
- [ENG-2070] - Script logs are not visible in attachments after aborting a task
- [ENG-2110] - Filter's clear icon (X) is positioned incorrectly on the Triggers tab
- [ENG-2119] - Unable to test git repository that does not have branch called 'master'
- [ENG-2147] - New template variables are not visible on edit trigger page
- [ENG-2160] - Phase name showing Missing Value in Release Audit Report(Excel).
- [ENG-2191] - Overdue tasks don't show up in tableview
- [ENG-2193] - Inconsistency in character limit check in the description of the triggers
- [ENG-2199] - Audit report job thread keeps on running in background on abort
- [ENG-2218] - Phase name goes out of text box in table view
- [ENG-2235] - Browser console error on adding a new dashboard tile
- [ENG-2249] - Increase length of the shortened task title
- [ENG-669] - Inherit Teams and permissions from parent folder shows correct permissions only when clicked on Save
- [ENG-721] - Test button in New Git: Repository in shared configuration remains disabled when the Authentication method is changed
- [ENG-786] - Tags field on the release properties page does not have full width
- [ENG-813] - Patch Jython library
- [REL-10116] - [UI] Principal is shown added in in role on UI, after addRole modal dialog changes are canceled
- [REL-10285] - On ESC keypress, both task modal and comment delete modal are closed.
- [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-10403] - Unable to assign permissions to teams having one character long names
- [REL-10409] - Wrong color for time field on task modal
- [REL-10422] - Handling backslashes in variable interpolation correctly
- [REL-10430] - Column length too small in XLR_DEPENDENCIES
- [REL-10433] - Dashboard name/title is not exported in yaml for custom dashboards while exporting dashboard through XL CLI
- [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-9904] - User can click on 'Add to group' without permission