Skip to content
Snippets Groups Projects
Verified Commit 77b659b5 authored by Dave Long's avatar Dave Long
Browse files

Issue #3227518 by kunal.sachdev, quietone, tedbow, ravi.shankar, gisle,...

Issue #3227518 by kunal.sachdev, quietone, tedbow, ravi.shankar, gisle, phenaproxima: Never show a "Not supported!" version as "Recommended"
parent ee73d14d
No related branches found
No related tags found
28 merge requests!11131[10.4.x-only-DO-NOT-MERGE]: Issue ##2842525 Ajax attached to Views exposed filter form does not trigger callbacks,!9470[10.3.x-only-DO-NOT-MERGE]: #3331771 Fix file_get_contents(): Passing null to parameter,!8540Issue #3457061: Bootstrap Modal dialog Not closing after 10.3.0 Update,!8528Issue #3456871 by Tim Bozeman: Support NULL services,!8373Issue #3427374 by danflanagan8, Vighneshh: taxonomy_tid ViewsArgumentDefault...,!7526Expose roles in response,!3878Removed unused condition head title for views,!3818Issue #2140179: $entity->original gets stale between updates,!3742Issue #3328429: Create item list field formatter for displaying ordered and unordered lists,!3731Claro: role=button on status report items,!3651Issue #3347736: Create new SDC component for Olivero (header-search),!3531Issue #3336994: StringFormatter always displays links to entity even if the user in context does not have access,!3355Issue #3209129: Scrolling problems when adding a block via layout builder,!3154Fixes #2987987 - CSRF token validation broken on routes with optional parameters.,!3133core/modules/system/css/components/hidden.module.css,!2964Issue #2865710 : Dependencies from only one instance of a widget are used in display modes,!2812Issue #3312049: [Followup] Fix Drupal.Commenting.FunctionComment.MissingReturnType returns for NULL,!2794Issue #3100732: Allow specifying `meta` data on JSON:API objects,!2378Issue #2875033: Optimize joins and table selection in SQL entity query implementation,!2062Issue #3246454: Add weekly granularity to views date sort,!1105Issue #3025039: New non translatable field on translatable content throws error,!1073issue #3191727: Focus states on mobile second level navigation items fixed,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!877Issue #2708101: Default value for link text is not saved,!617Issue #3043725: Provide a Entity Handler for user cancelation,!579Issue #2230909: Simple decimals fail to pass validation,!560Move callback classRemove outside of the loop,!555Issue #3202493
Pipeline #148364 canceled
Showing with 713 additions and 24 deletions
<?xml version="1.0" encoding="utf-8"?>
<!--
This file contains release history for '8.0','8.1', '9.0' and '10.0'. All
releases except '8.0.' are supported.
-->
<project xmlns:dc="http://purl.org/dc/elements/1.1/">
<title>Drupal</title>
<short_name>drupal</short_name>
<dc:creator>Drupal</dc:creator>
<supported_branches>8.1.,9.0.,10.0.</supported_branches>
<project_status>published</project_status>
<link>http://example.com/project/drupal</link>
<terms>
<term><name>Projects</name><value>Drupal project</value></term>
</terms>
<releases>
<release>
<name>Drupal 10.0.0</name>
<version>10.0.0</version>
<status>published</status>
<release_link>http://example.com/drupal-10-0-0-release</release_link>
<download_link>http://example.com/drupal-10-0-0.tar.gz</download_link>
<date>1584195300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 9.0.0</name>
<version>9.0.0</version>
<status>published</status>
<release_link>http://example.com/drupal-9-0-0-release</release_link>
<download_link>http://example.com/drupal-9-0-0.tar.gz</download_link>
<date>1584195300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.1.0</name>
<version>8.1.0</version>
<status>published</status>
<release_link>http://example.com/drupal-8-1-0-release</release_link>
<download_link>http://example.com/drupal-8-1-0.tar.gz</download_link>
<date>1584195300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.1.0-beta1</name>
<version>8.1.0-beta1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-1-0-beta1-release</release_link>
<download_link>http://example.com/drupal-8-1-0-beta1.tar.gz</download_link>
<date>1581603300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.1.0-alpha1</name>
<version>8.1.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-1-0-alpha1-release</release_link>
<download_link>http://example.com/drupal-8-1-0-alpha1.tar.gz</download_link>
<date>1579011300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.3</name>
<version>8.0.3</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-3-release</release_link>
<download_link>http://example.com/drupal-8-0-3.tar.gz</download_link>
<date>1576419300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
<term><name>Release type</name><value>Unsupported</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.2</name>
<version>8.0.2</version>
<status>unpublished</status>
<release_link>http://example.com/drupal-8-0-2-release</release_link>
<download_link>http://example.com/drupal-8-0-2.tar.gz</download_link>
<date>1573827300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.1</name>
<version>8.0.1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-1-release</release_link>
<download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
<date>1571235300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.1-beta1</name>
<version>8.0.1-beta1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-1-beta1-release</release_link>
<download_link>http://example.com/drupal-8-0-1-beta1.tar.gz</download_link>
<date>1568643300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.1-alpha1</name>
<version>8.0.1-alpha1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-1-alpha1-release</release_link>
<download_link>http://example.com/drupal-8-0-1-alpha1.tar.gz</download_link>
<date>1566051300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.0</name>
<version>8.0.0</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-0-release</release_link>
<download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
<date>1563459300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.0-beta1</name>
<version>8.0.0-beta1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-0-beta1-release</release_link>
<download_link>http://example.com/drupal-8-0-0-beta1.tar.gz</download_link>
<date>1560867300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.0-alpha1</name>
<version>8.0.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
<download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
<date>1558275300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
</releases>
</project>
<?xml version="1.0" encoding="utf-8"?>
<!--
This file contains release history for '8.0' and '8.1'. Only '8.0' is
supported.
-->
<project xmlns:dc="http://purl.org/dc/elements/1.1/">
<title>Drupal</title>
<short_name>drupal</short_name>
<dc:creator>Drupal</dc:creator>
<supported_branches>8.0.</supported_branches>
<project_status>published</project_status>
<link>http://example.com/project/drupal</link>
<terms>
<term><name>Projects</name><value>Drupal project</value></term>
</terms>
<releases>
<release>
<name>Drupal 8.1.0</name>
<version>8.1.0</version>
<status>published</status>
<release_link>http://example.com/drupal-8-1-0-release</release_link>
<download_link>http://example.com/drupal-8-1-0.tar.gz</download_link>
<date>1250424581</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.1.0-beta1</name>
<version>8.1.0-beta1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-1-0-beta1-release</release_link>
<download_link>http://example.com/drupal-8-1-0-beta1.tar.gz</download_link>
<date>1250424581</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.1.0-alpha1</name>
<version>8.1.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-1-0-alpha1-release</release_link>
<download_link>http://example.com/drupal-8-1-0-alpha1.tar.gz</download_link>
<date>1250424581</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.3</name>
<version>8.0.3</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-3-release</release_link>
<download_link>http://example.com/drupal-8-0-3.tar.gz</download_link>
<date>1250424585</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.2</name>
<version>8.0.2</version>
<status>unpublished</status>
<release_link>http://example.com/drupal-8-0-2-release</release_link>
<download_link>http://example.com/drupal-8-0-2.tar.gz</download_link>
<date>1250424581</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.1</name>
<version>8.0.1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-1-release</release_link>
<download_link>http://example.com/drupal-8-0-1.tar.gz</download_link>
<date>1250424581</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.1-beta1</name>
<version>8.0.1-beta1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-1-beta1-release</release_link>
<download_link>http://example.com/drupal-8-0-1-beta1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.1-alpha1</name>
<version>8.0.1-alpha1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-1-alpha1-release</release_link>
<download_link>http://example.com/drupal-8-0-1-alpha1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.0</name>
<version>8.0.0</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-0-release</release_link>
<download_link>http://example.com/drupal-8-0-0.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.0-beta1</name>
<version>8.0.0-beta1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-0-beta1-release</release_link>
<download_link>http://example.com/drupal-8-0-0-beta1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Drupal 8.0.0-alpha1</name>
<version>8.0.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/drupal-8-0-0-alpha1-release</release_link>
<download_link>http://example.com/drupal-8-0-0-alpha1.tar.gz</download_link>
<date>1250424521</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
</releases>
</project>
<?xml version="1.0" encoding="utf-8"?>
<!--
This XML file is the exact same as the file drupal.1.xml except
This XML file is the exact same as the file drupal.1.0.xml except
'supported_branches' in this file does not contain the '8.0.' branch. Therefore,
all the releases that start with '8.0.' are in an unsupported branch.
-->
......
<?xml version="1.0" encoding="utf-8"?>
<!--
This file contains release history for '8.0','8.1', '9.0' and '10.0'. All
releases except '8.0.' are supported.
-->
<project xmlns:dc="http://purl.org/dc/elements/1.1/">
<title>Semver Test</title>
<short_name>semver_test</short_name>
<dc:creator>Drupal</dc:creator>
<supported_branches>8.1.,9.0.,10.0.</supported_branches>
<project_status>published</project_status>
<link>http://example.com/project/semver_test</link>
<terms>
<term><name>Projects</name><value>Semver Test project</value></term>
</terms>
<releases>
<release>
<name>Semver Test 10.0.0</name>
<version>10.0.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-10-0-0-release</release_link>
<download_link>http://example.com/semver_test-10-0-0.tar.gz</download_link>
<date>1584195300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 9.0.0</name>
<version>9.0.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-9-0-0-release</release_link>
<download_link>http://example.com/semver_test-9-0-0.tar.gz</download_link>
<date>1584195300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.1.0</name>
<version>8.1.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-1-0-release</release_link>
<download_link>http://example.com/semver_test-8-1-0.tar.gz</download_link>
<date>1584195300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.1.0-beta1</name>
<version>8.1.0-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-1-0-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-1-0-beta1.tar.gz</download_link>
<date>1581603300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.1.0-alpha1</name>
<version>8.1.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-1-0-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-1-0-alpha1.tar.gz</download_link>
<date>1579011300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.3</name>
<version>8.0.3</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-3-release</release_link>
<download_link>http://example.com/semver_test-8-0-3.tar.gz</download_link>
<date>1576419300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
<term><name>Release type</name><value>Unsupported</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.2</name>
<version>8.0.2</version>
<status>unpublished</status>
<release_link>http://example.com/semver_test-8-0-2-release</release_link>
<download_link>http://example.com/semver_test-8-0-2.tar.gz</download_link>
<date>1573827300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.1</name>
<version>8.0.1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-1-release</release_link>
<download_link>http://example.com/semver_test-8-0-1.tar.gz</download_link>
<date>1571235300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.1-beta1</name>
<version>8.0.1-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-1-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-0-1-beta1.tar.gz</download_link>
<date>1568643300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.1-alpha1</name>
<version>8.0.1-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-1-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-0-1-alpha1.tar.gz</download_link>
<date>1566051300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.0</name>
<version>8.0.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-0-release</release_link>
<download_link>http://example.com/semver_test-8-0-0.tar.gz</download_link>
<date>1563459300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.0-beta1</name>
<version>8.0.0-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-0-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-0-0-beta1.tar.gz</download_link>
<date>1560867300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.0-alpha1</name>
<version>8.0.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-0-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-0-0-alpha1.tar.gz</download_link>
<date>1558275300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
</releases>
</project>
<?xml version="1.0" encoding="utf-8"?>
<!--
This file contains release history for '8.0' and '8.1'. Only '8.0' is
supported.
-->
<project xmlns:dc="http://purl.org/dc/elements/1.1/">
<title>Semver Test</title>
<short_name>semver_test</short_name>
<dc:creator>Drupal</dc:creator>
<supported_branches>8.0.</supported_branches>
<project_status>published</project_status>
<link>http://example.com/project/semver_test</link>
<terms>
<term><name>Projects</name><value>Semver Test project</value></term>
</terms>
<releases>
<release>
<name>Semver Test 8.1.0</name>
<version>8.1.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-1-0-release</release_link>
<download_link>http://example.com/semver_test-8-1-0.tar.gz</download_link>
<date>1584195300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.1.0-beta1</name>
<version>8.1.0-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-1-0-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-1-0-beta1.tar.gz</download_link>
<date>1581603300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.1.0-alpha1</name>
<version>8.1.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-1-0-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-1-0-alpha1.tar.gz</download_link>
<date>1579011300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.3</name>
<version>8.0.3</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-3-release</release_link>
<download_link>http://example.com/semver_test-8-0-3.tar.gz</download_link>
<date>1576419300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.2</name>
<version>8.0.2</version>
<status>unpublished</status>
<release_link>http://example.com/semver_test-8-0-2-release</release_link>
<download_link>http://example.com/semver_test-8-0-2.tar.gz</download_link>
<date>1573827300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.1</name>
<version>8.0.1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-1-release</release_link>
<download_link>http://example.com/semver_test-8-0-1.tar.gz</download_link>
<date>1571235300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.1-beta1</name>
<version>8.0.1-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-1-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-0-1-beta1.tar.gz</download_link>
<date>1568643300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.1-alpha1</name>
<version>8.0.1-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-1-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-0-1-alpha1.tar.gz</download_link>
<date>1566051300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.0</name>
<version>8.0.0</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-0-release</release_link>
<download_link>http://example.com/semver_test-8-0-0.tar.gz</download_link>
<date>1563459300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.0-beta1</name>
<version>8.0.0-beta1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-0-beta1-release</release_link>
<download_link>http://example.com/semver_test-8-0-0-beta1.tar.gz</download_link>
<date>1560867300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
<release>
<name>Semver Test 8.0.0-alpha1</name>
<version>8.0.0-alpha1</version>
<status>published</status>
<release_link>http://example.com/semver_test-8-0-0-alpha1-release</release_link>
<download_link>http://example.com/semver_test-8-0-0-alpha1.tar.gz</download_link>
<date>1558275300</date>
<terms>
<term><name>Release type</name><value>New features</value></term>
<term><name>Release type</name><value>Bug fixes</value></term>
</terms>
</release>
</releases>
</project>
<?xml version="1.0" encoding="utf-8"?>
<!--
This XML file is the exact same as the file semver_test.1.xml except
This XML file is the exact same as the file semver_test.1.0.xml except
'supported_branches' in this file does not contain the '8.0.' branch. Therefore,
all the releases that start with '8.0.' are in an unsupported branch.
-->
......
......@@ -198,8 +198,12 @@ public function testRevokedRelease() {
* value:
* - [::$updateProject].8.1.0.xml
* 'supported_branches' is '8.0.,8.1.'.
* - [::$updateProject].8.1.0-supported.xml
* 'supported_branches' is '8.1.,9.0.,10.0.'
* - [::$updateProject].8.1.0-unsupported.xml
* 'supported_branches' is '8.1.'.
* 'supported_branches' is '8.0.'.
* - [::$updateProject].8.1.0-unsupported.xml
* 'supported_branches' is '8.1.'.
* They both have an '8.0.3' release that has the 'Release type' value of
* 'unsupported' and an '8.1.0' release that has the 'Release type' value of
* 'supported' and is the expected update.
......@@ -211,6 +215,22 @@ public function testUnsupportedRelease() {
$this->standardTests();
$this->confirmUnsupportedStatus('8.0.3', '8.1.0', 'Recommended version:');
}
// Test when the newest branch is unsupported and no update is available.
foreach (['8.1.0', '8.1.0-beta1'] as $version) {
$this->setProjectInstalledVersion($version);
$this->refreshUpdateStatus([$this->updateProject => '1.1-unsupported']);
$this->standardTests();
$this->confirmUnsupportedStatus($version);
}
// Test when the newest branch is supported.
$this->setProjectInstalledVersion('8.0.3');
$this->refreshUpdateStatus([$this->updateProject => '1.0-supported']);
$this->standardTests();
$this->confirmUnsupportedStatus('8.0.3', '8.1.0', 'Recommended version:');
$this->assertVersionUpdateLinks('Also available', '10.0.0');
$this->assertVersionUpdateLinks('Also available', '9.0.0', 1);
}
}
......@@ -169,9 +169,11 @@ protected function assertSecurityUpdates($project_path_part, array $expected_sec
* The label for the update.
* @param string $version
* The project version.
* @param int $index
* (optional) The index of the link.
*/
protected function assertVersionUpdateLinks($label, $version) {
$update_element = $this->findUpdateElementByLabel($label);
protected function assertVersionUpdateLinks($label, $version, int $index = 0) {
$update_element = $this->findUpdateElementByLabel($label, $index);
// In the release notes URL the periods are replaced with dashes.
$url_version = str_replace('.', '-', $version);
......@@ -207,21 +209,28 @@ protected function confirmRevokedStatus($revoked_version, $newer_version, $new_v
*
* @param string $unsupported_version
* The unsupported version that is currently installed.
* @param string $newer_version
* The expected newer version to recommend.
* @param string $new_version_label
* The expected label for the newer version (for example 'Recommended
* version:' or 'Also available:').
* @param string|null $newer_version
* (optional) The expected newer version to recommend.
* @param string|null $new_version_label
* (optional) The expected label for the newer version. For example
* 'Recommended version:' or 'Also available:'.
*/
protected function confirmUnsupportedStatus($unsupported_version, $newer_version, $new_version_label) {
protected function confirmUnsupportedStatus(string $unsupported_version, string $newer_version = NULL, string $new_version_label = NULL) {
$this->drupalGet('admin/reports/updates');
$this->clickLink('Check manually');
$this->checkForMetaRefresh();
$this->assertUpdateTableTextContains('Not supported!');
$this->assertUpdateTableTextContains($unsupported_version);
$this->assertUpdateTableElementContains('error.svg');
$this->assertUpdateTableTextContains('Release not supported: Your currently installed release is now unsupported, and is no longer available for download. Uninstalling everything included in this release or upgrading is strongly recommended!');
$this->assertVersionUpdateLinks($new_version_label, $newer_version);
if ($newer_version === NULL) {
$this->assertUpdateTableTextContains('Release not supported: Your currently installed release is now unsupported, is no longer available for download and no update is available. Uninstalling everything included in this release is strongly recommended!');
$this->assertUpdateTableTextNotContains('Recommended version');
}
else {
$this->assertNotEmpty($newer_version);
$this->assertUpdateTableTextContains('Release not supported: Your currently installed release is now unsupported, and is no longer available for download. Uninstalling everything included in this release or upgrading is strongly recommended!');
$this->assertVersionUpdateLinks($new_version_label, $newer_version);
}
}
/**
......@@ -279,15 +288,17 @@ protected function assertUpdateTableElementNotContains($text) {
* @param string $label
* The label for the update, for example "Recommended version:" or
* "Latest version:".
* @param int $index
* (optional) The index of the element.
*
* @return \Behat\Mink\Element\NodeElement
* The update element.
*/
protected function findUpdateElementByLabel($label) {
protected function findUpdateElementByLabel($label, int $index = 0) {
$update_elements = $this->getSession()->getPage()
->findAll('css', $this->updateTableLocator . " .project-update__version:contains(\"$label\")");
$this->assertCount(1, $update_elements);
return $update_elements[0];
$this->assertGreaterThanOrEqual($index, count($update_elements));
return $update_elements[$index];
}
}
......@@ -310,7 +310,7 @@ function update_calculate_project_update_status(&$project_data, $available) {
foreach ($supported_branches as $supported_branch) {
try {
$target_major = ExtensionVersion::createFromSupportBranch($supported_branch)->getMajorVersion();
break;
}
catch (UnexpectedValueException $exception) {
continue;
......@@ -356,7 +356,7 @@ function update_calculate_project_update_status(&$project_data, $available) {
$recommended_version_without_extra = '';
$recommended_release = NULL;
$release_is_supported = FALSE;
foreach ($available['releases'] as $version => $release_info) {
try {
$release = ProjectRelease::createFromArray($release_info);
......@@ -374,6 +374,9 @@ function update_calculate_project_update_status(&$project_data, $available) {
catch (UnexpectedValueException $exception) {
continue;
}
// This release is supported only if it is in a supported branch and is
// not unsupported.
$release_is_supported = $is_in_supported_branch($release->getVersion()) && !$release->isUnsupported();
// First, if this is the existing release, check a few conditions.
if ($project_data['existing_version'] === $version) {
if ($release->isInsecure()) {
......@@ -390,23 +393,28 @@ function update_calculate_project_update_status(&$project_data, $available) {
'data' => t('Your currently installed release has been revoked, and is no longer available for download. Uninstalling everything included in this release or upgrading is strongly recommended!'),
];
}
elseif ($release->isUnsupported()) {
elseif (!$release_is_supported) {
$project_data['status'] = UpdateManagerInterface::NOT_SUPPORTED;
if (empty($project_data['extra'])) {
$project_data['extra'] = [];
}
if (empty($project_data['recommended']) && empty($project_data['also'])) {
$unsupported_message = t('Your currently installed release is now unsupported, is no longer available for download and no update is available. Uninstalling everything included in this release is strongly recommended!');
}
else {
$unsupported_message = t('Your currently installed release is now unsupported, and is no longer available for download. Uninstalling everything included in this release or upgrading is strongly recommended!');
}
$project_data['extra'][] = [
'class' => ['release-not-supported'],
'label' => t('Release not supported'),
'data' => t('Your currently installed release is now unsupported, and is no longer available for download. Uninstalling everything included in this release or upgrading is strongly recommended!'),
'data' => $unsupported_message,
];
}
}
// Other than the currently installed release, ignore unpublished, insecure,
// or unsupported updates.
elseif (!$release->isPublished() ||
!$is_in_supported_branch($release->getVersion()) ||
$release->isUnsupported() ||
!$release_is_supported ||
$release->isInsecure()
) {
continue;
......@@ -464,7 +472,7 @@ function update_calculate_project_update_status(&$project_data, $available) {
// Look for the 'recommended' version if we haven't found it yet (see
// PHPDoc at the top of this function for the definition).
if (!isset($project_data['recommended'])
&& $release_major_version == $target_major) {
&& $release_major_version == $target_major && $release_is_supported) {
if ($recommended_version_without_extra !== $release_version_without_extra) {
$recommended_version_without_extra = $release_version_without_extra;
$recommended_release = $release_info;
......@@ -504,7 +512,7 @@ function update_calculate_project_update_status(&$project_data, $available) {
// If we were unable to find a recommended version, then make the latest
// version the recommended version if possible.
if (!isset($project_data['recommended']) && isset($project_data['latest_version'])) {
if (!isset($project_data['recommended']) && isset($project_data['latest_version']) && $release_is_supported) {
$project_data['recommended'] = $project_data['latest_version'];
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment