Release Manual 7.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.

    XL Release 7.5.7

    XL Release 7.5.7 release notes

    Improvements

    • [REL-7593] - Added icon to JIRA tasks

    Bug fixes

    • [REL-6543] - JIRA not updated with comment when status changed to closed
    • [REL-7014] - Global variables disappear when restarting phase
    • [REL-7017] - Script output logged in work directory not cleaned even after release is completed/archived
    • [REL-7066] - favicon.ico error when using OIDC authentication
    • [REL-7177] - Groovy script failing when calling a template with title "ReleaseTest"
    • [REL-7535] - JavaScript injection using variables in markdown description
    • [REL-7669] - Phase is completed even with planned task(s) after a parallel group with no task is completed
    • [REL-7767] - Improve variable value change logging for activity log
    • [REL-7780] - Watchers not found when a task is moved to a group task

    XL Release 7.5.6

    XL Release 7.5.6 release notes

    New features

    • [REL-7440] - Ability to customize HikariCP configurations
    • [REL-7457] - Additional HikariCP settings for cluster membership connection pool

    Bug fixes

    • [REL-6436] - MSSQL could not archive releases (The DELETE statement conflicted with the REFERENCE constraint)
    • [REL-6760] - XL Release removes all opening and closing XML tags
    • [REL-6830] - MSSQL Deadlock when release trigger is fired
    • [REL-7302] - RFC-7235 Compliance Issue
    • [REL-7427] - OIDC plugin missing license check for APIs
    • [REL-7475] - Missing attachments for pre 7.5 releases in folders

    XL Release 7.5.5

    XL Release 7.5.5 release notes

    Bug fixes

    • [REL-6661] - Changing a task type to CustomScriptTask generates wrong id for Python script
    • [REL-6701] - XlrPasswordEncryptingCiConverter tries to extract releaseId from configurationId
    • [REL-6703] - Releases can't be archived because ClassCastException javax.json.JsonValueImpl cannot be cast to javax.json.JsonString

    XL Release 7.5.4

    XL Release 7.5.4 release notes

    Bug fixes

    • [REL-6490] - "Could not find dependency" warnings when skipping a gate task with variable dependency
    • [REL-6495] - Cannot process actor message because dependency update fails
    • [REL-6537] - Jenkins plugin can't handle empty json responses from Jenkins

    XL Release 7.5.3

    XL Release 7.5.3 new features

    Server-side restrictions on file upload

    In XL-Release 7.5.3, server-side restrictions are in place on file types and the size of files that can be uploaded. A server-side implementation of virus protection, and content validation based on the uploaded file content and MIME type, have also been added. This functionality ensures that executables cannot be uploaded, and also prevents denial of service attacks from disk space exhaustion.

    XL Release 7.5.3 release notes

    New features

    • [REL-6184] - Restrict file upload

    Improvements

    • [REL-6152] - Fix MS SQL deadlock
    • [REL-6271] - Load only direct releases from dependencies
    • [REL-6274] - Use batch updates for XLRelease750ReportingSchemaUpgrade
    • [REL-6421] - MSSQL: Change indexed column from varchar to nvarchar

    Bug fixes

    • [REL-4586] - Support Git Repository with Proxy in XLR
    • [REL-6260] - none.get errors occuring on tempate import and template search
    • [REL-6283] - [MSSQL] SQL statements with LIKE and square brackets must be escaped
    • [REL-6285] - RESTEASY002005: Failed executing POST /deployment/validate
    • [REL-6291] - Move task between containers is broken for Task groups
    • [REL-6383] - File content validation corrupts the uploaded file
    • [REL-6408] - Links are not deleted when task is deleted

    XL Release 7.5.2

    XL Release 7.5.2 release notes

    Improvements

    • [REL-6154] - Make reporting max pool size configurable

    Bug fixes

    • [REL-6141] - Use UTF-8 when serializing releases/templates

    XL Release 7.5.1

    XL Release 7.5.1 release notes

    Improvements

    • [REL-6102] - Resolved deadlocks in XLR_TASKS table on MSQL

    Bug fixes

    • [REL-5710] - XL Release JIRA Update Issue task posts the comment even after task failure
    • [REL-5892] - Plugin tiles don't appear to render legends properly
    • [REL-5926] - Release gets corrupted when duplicating a task group
    • [REL-6039] - Solving shared configuration refs when importing or exporting templates in XL Release 7.5
    • [REL-6041] - urllib2 from jython does not work with https connections
    • [REL-6092] - Error when starting release that depends on archived release

    XL Release 7.5.0

    XL Release 7.5.0 is a long-term support (LTS) version that will be supported until one year later it is superseded by the next long-term support (LTS) version. In contrast to short-term-support (STS) versions, LTS versions do receive maintenance releases. For more information, refer to Short-term support/Long-term support policy.

    XL Release 7.5.0 new features

    Replaced the JackRabbit repository with an SQL repository

    In XL Release 7.5.0, the existing JackRabbit (JCR) repository was changed with SQL tables on a relational database. The purpose of this important update to the repository technology is to improve the overall performance and the scalability of XL Release. This also allows you to have more concurrent user on each XL Release server instance and faster throughput per user request. For more information, refer to Configure the XL Release SQL repository in a database. For upgrading to XL Release version 7.5.0, refer to Upgrade to XL Release 7.5.

    Supported databases:

    • Oracle
    • PostgreSQL
    • SQL Server
    • DB2
    • MySQL

    Supports active/active mode

    XL Release can be set up in a cluster with all nodes serving requests. This allows for a greater number of user to be supported. For more information, see Configure Cluster mode

    Added risk profiles and global risk threshold

    In XL Release version 7.5.0, you can apply risk profiles to your templates and releases to determine when a release is at risk or requires attention. You can create or edit risk profiles to assign different values to the risk assessors. The global risk threshold are a set of values that determine when a release is marked as Attention Needed or At Risk based on the risk score of the release. The global risk threshold is used for every risk profile. For more information, refer to Configure risk profile settings.

    Revamped Reports Dashboard

    A fresh new design for the release dashboard helps users find the most valuable release information at a glance

    Added inline script editor

    As of XL Release version 7.5.0, you can edit various scripts in the XL Release UI. This allows you to type the script you want to use in the Script field of a Jython Sccript task or a Groovy Script task.

    Updated flag icons

    The flag icons associated with the states of tasks and releases have been updated across the XL Release UI.

    Implemented a default session timeout

    In XL Release version 7.5.0, the client.session.timeout.minutes was set to 20 minutes for the default installation. This ensures that the XL Release user session times out. For more information, refer to Configure the XL Release timeout.

    XL Release 7.5 boosts the scalability and performance of XL Release significantly, provides customizable risk profiles and comes with many other exciting features.

    Bulk operations on releases and tasks

    Users can now conduct bulk operations on multiple tasks and releases at once, saving time and improving accuracy

    New bundled plugin: OpenShift

    Integrate with RedHat's OpenShift container platform with newly added tasks.

    XL Release 7.5.0 upgrade notes

    Different filtering for My Tasks screen

    The My Tasks screen has been heavily optimized for performance. In order to do so, some functionality has changed.

    • The filter option 'Assigned to others' has been replaced by 'Assigned to anybody'. The difference is that tasks assigned to you (the currently logged in user) are also included in this option.
    • Search no longer applies to variable values in task or release titles and to full user names of assignees.

    CRaSH tool no longer bundled

    The CRaSH debug tool is no longer available since its only purpose was to debug the JackRabbit repository.

    RepositoryService removed - plugins may need to be updated

    The internal API end point RepositoryService that gave direct access to the JackRabbit repository is no longer available.

    Plugins that use this API need to be rewritten or updated. Please use the latest version of all plugins, since it may already have been updated for you. If you need assistance in upgrading your plugins to not use the RepositoryService, please contact the XebiaLabs support team.

    DeployitEventListener no longer supported

    Java plugins that depend on the repository event mechanism will no longer work.

    The @DeployitEventListener construct relied on direct events of the JackRabbit repository layer and will no longer receive events.

    Please contact the XebiaLabs support team if you have such a plugin.

    Changed the team IDs

    During the migration process, the IDs of the teams of releases and folders will be changed. If you have any scripts with hardcoded team IDs, you must change them. All the IDs will become longer, for example: the team ID Applications/Release40169020/Team361023169 might become Applications/Release40169020/Team1512564451143641640.

    Security configuration changes

    In XL Release 7.5.0, the class JcrAuthenticationProvider was renamed to XlAuthenticationProviderdue to the removal of Jackrabbit. If you have a custom security configuration, such as LDAP, and you have a reference to class JcrAuthenticationProvider, ensure that you update your configuration XML file. For an example, refer to Configure LDAP security for XL Release.

    Changed value for ReportServiceCache

    The ReportServiceCache was updated and the report results are now cached for 5 minutes.

    Troubleshooting the upgrade

    Changes in archiving database

    When XL Release 7.5.0 starts for the first time with an existing archiving database, it will run some database scripts there. If you have configured the embedded Apache Derby database as archive, you may get the following error:

    XL Release Startup failed: Use of 'BOOLEAN' requires database to be upgraded from version 10.5 to version 10.7 or later.
    

    To solve it you need to add an option upgrade=true to the JDBC URL of the archiving database. You can do that in the XL_RELEASE_HOME/conf/xl-release.conf file:

    xl {
        reporting {
            db-url="jdbc:derby:archive/db;create=true;upgrade=true"
            db-driver-classname="org.apache.derby.jdbc.AutoloadedDriver"
            db-username=""
            db-password=""
        }
    }
    

    After adding the option try starting XL Release again.

    Removed public key rotation from the OIDC plugin

    As of XL Release 7.5.0, the publicKey has been removed from the configuration of the OIDC Authentication plugin. This has been replaced with keyRetrievalUri. To obtain the signing keys from the Identity provider, XL Release checks the keyRetrievalUri endpoint periodically. For more information, refer to Configure OpenID Connect(OIDC) Authentication for XL Release.

    Contact XebiaLabs Support if you have hotfixes

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

    XL Release 7.5.0 release notes

    New features

    • [REL-4846] - Add reference check when deleting Shared Configuration with SQL backend
    • [REL-4867] - Shared configuration in SQL
    • [REL-4869] - Global variables in SQL
    • [REL-5125] - Support EBCDIC encoding for Remote tasks
    • [REL-5191] - Bulk selection of tasks using Shift key
    • [REL-5206] - Autocompletion of release tags
    • [REL-5219] - Support H2 as repository database
    • [REL-5221] - Support PostgreSQL as repository database
    • [REL-5223] - Support MSSQL as repository database
    • [REL-5224] - Support DB2 as repository database
    • [REL-5228] - Create default risk profile on global level
    • [REL-5290] - Inline script editor
    • [REL-5310] - Update flag icons to support color blind users
    • [REL-5339] - Make sure xlr-xld-plugin plugin works in SQL mode
    • [REL-5362] - Risk threshold on global level
    • [REL-5364] - Allow enable/disable of each risk assessor
    • [REL-5372] - Allow creation of different risk profiles
    • [REL-5373] - Apply risk profile on release
    • [REL-5384] - Permissions for changing global risk threshold and risk score
    • [REL-5398] - Change risk profile after release is started
    • [REL-5412] - Auto-discovery for active/active
    • [REL-5431] - "Copy" risk profile creates a copy
    • [REL-5432] - Risk index search and sort
    • [REL-5433] - Allow deleting risk profile
    • [REL-5435] - Create task table to index tasks
    • [REL-5437] - Global settings in SQL
    • [REL-5438] - Find usages of RepositoryService in external plugins, alert authors and suggest alternatives
    • [REL-5441] - Upgrade liquibase
    • [REL-5444] - Add an OpenShift Create Resource task
    • [REL-5445] - Add an OpenShift Delete Resource task
    • [REL-5452] - Initializers and upgraders in SQL
    • [REL-5460] - Calendar in SQL
    • [REL-5470] - License service in SQL
    • [REL-5474] - Removed Jackrabbit repository
    • [REL-5478] - UserService in SQL
    • [REL-5496] - Export reports as a pdf file
    • [REL-5498] - Select all releases for bulk operation
    • [REL-5505] - Set a default session timeout of 20 minutes
    • [REL-5507] - Task efficiency tile improvements
    • [REL-5508] - Time spent tile
    • [REL-5509] - Release efficiency tile
    • [REL-5518] - Support Migrator from XLR 7.0 to 7.5
    • [REL-5555] - Restore behavior of moving completed releases completely into archive
    • [REL-5578] - Support key rotation for XLR SSO
    • [REL-5582] - Add task to trigger a build in OpenShift
    • [REL-5593] - Allow releases with task group nesting > 8 in XLR 7.5.0
    • [REL-5611] - Add task to tag an image
    • [REL-5645] - Reports dashboard: Number of releases tile
    • [REL-5662] - Top 10 longest releases tile
    • [REL-5663] - Top 10 longest phases tile
    • [REL-5664] - Top 10 longest tasks tile
    • [REL-5665] - Average release duration tile
    • [REL-5668] - Add a task to trigger a deployment
    • [REL-5702] - Feedback on migrator
    • [REL-5708] - Warning while updating risk profile
    • [REL-5714] - Investigate downing strategy for active/active
    • [REL-5722] - Optimize release flow $digest cycle
    • [REL-5763] - Introduce mechanism to globally disable risk calculations

    Improvements

    • [REL-4018] - Set JSESSIONID to be "HttpOnly"
    • [REL-4305] - Do not log PermissionDenied requests with a stack trace
    • [REL-4604] - Force JSESSION to be "secure"
    • [REL-5030] - Change Jenkins build task not to set output properties when failing and check tile behavior
    • [REL-5149] - Task bulk action button order
    • [REL-5276] - Bulk selection of nested tasks
    • [REL-5483] - Public API for risk customization
    • [REL-5594] - TemplateApi.start should validate if the releaseID passed is a template or release
    • [REL-5599] - Improve Trigger logging
    • [REL-5601] - Highlight keywords in view mode of script tasks
    • [REL-5630] - Make sure fetching all tags will be limited to 500 so that it won't cause performance issues

    API changes

    • [REL-5332] - Add resume=true parameter option for restart phase call

    Bug fixes

    • [REL-3528] - Trigger disappears from Template when Variable is deleted
    • [REL-5111] - Notifications are sent out with names missing
    • [REL-5193] - Users are not visible on task modal in assignment menu
    • [REL-5400] - Jython docs not being generated in XLR 7.2.x and up
    • [REL-5459] - Context menu should hide when focus shifted to another component on UI
    • [REL-5468] - Cannot get possible values from task variables in create release task
    • [REL-5497] - K8s plugin for XLR leaves behind tmp files
    • [REL-5502] - Ace editor intellisense for method description do not show when user navigates top on the list from bottom
    • [REL-5521] - Could not resolve placeholder 'ldap.password' in value "${ldap.password}"
    • [REL-5579] - Task fails to execute on some automated releases
    • [REL-5603] - Activity Logs Screen shifted right , shows white left margin
    • [REL-5616] - Invoking /server/shutdown api call doesn't shut down the server properly
    • [REL-5634] - UI improvement for tags list
    • [REL-5636] - tags in the list of suggestion are not sorted correctly
    • [REL-5646] - On Master : Risk profile loader is coming at the right of the screen
    • [REL-5670] - Cannot edit recipients on notification settings page
    • [REL-5671] - API should throw invalid ID exception when passing wrong risk id
    • [REL-5682] - /api/v1/risks/releaseId/Risk api is not showing correct score on UI , XHR response shows correct value
    • [REL-5684] - Release owner value is not updating Release admin value in teams and permissions
    • [REL-5686] - XL release logs shows WARNING when calling new risk api
    • [REL-5704] - XLR add-task REST API ignores position in Parallel/Sequential groups
    • [REL-5736] - Add missing jython docs for ReleaseFilters