Problem/Motivation

Track the steps needed to deprecate extension Stable 9. See Remove a core extension and move it to a contributed project of the deprecation policy.

The removal of extension Stable 9 was approved in #3512287: [policy, no patch] Deprecate Stable9 and move to contrib.

Remaining tasks

  1. Begin finding someone to maintain the contrib version of the extension. smustgrave has offered to do this
  2. Add the extension to the list of the Upcoming Deprecations.
  3. Move integrations implemented by other modules to the extension.
    Create child issues or child meta issues, as needed, to address the following points. Not all points will apply to all extensions.
    • Move non-migration tests to the extension. Being done in the deprecation issue
    • Move Help Topics to the extension.
    • For a theme, move theme-specific integration to the theme.
    • Remove the extension from one or more profiles.
    • Remove references to the extension from database dumps.
    • Remove templates from the extension’s markup.
  4. Do a thorough search of core for any remaining references to the extension. If references are found, outside of the extension, then create issues to remove the references.
  5. Create the contrib project with a stable release, before the alpha version of the major release. Follow the process in Create the contrib project with a stable release for creating the sub tree split.
  6. Deprecate the core extension. #3567667: Deprecate Stable9
  7. Open an issue, 'Ensure that Stable 9 does not get special core treatment'#3567860: Ensure that Stable 9 does not get special core treatment
  8. Update the Deprecated and obsolete extensions

Issue fork drupal-3560200

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

    Comments

    quietone created an issue. See original summary.

    quietone’s picture

    quietone’s picture

    Issue summary: View changes
    quietone’s picture

    Status: Postponed » Active

    The policy issue has all the sign-offs and is now RTBC

    quietone’s picture

    Issue summary: View changes
    quietone’s picture

    Issue summary: View changes
    quietone’s picture

    Did a search to find usages

    $git grep -l stable9 | grep -v core/themes/stable9
    core/.prettierignore
    core/.prettierignore
    core/.stylelintrc.json
    core/modules/big_pipe/tests/themes/big_pipe_test_theme/big_pipe_test_theme.info.yml
    core/modules/block/tests/modules/block_test/themes/block_test_special_chars_theme/block_test_special_chars_theme.info.yml
    core/modules/block/tests/modules/block_test/themes/block_test_theme/block_test_theme.info.yml
    core/modules/block/tests/src/Functional/BlockUiTest.php
    core/modules/ckeditor5/tests/src/FunctionalJavascript/MediaPreviewTest.php
    core/modules/config_translation/tests/themes/config_translation_test_theme/config_translation_test_theme.info.yml
    core/modules/help/tests/themes/help_topics_test_theme/help_topics_test_theme.info.yml
    core/modules/node/tests/src/Functional/NodeDisplayConfigurableTest.php
    core/modules/node/tests/src/Functional/NodeRssCacheTest.php
    core/modules/system/tests/src/Functional/System/ThemeTest.php
    core/modules/system/tests/src/FunctionalJavascript/OffCanvasTestBase.php
    core/modules/system/tests/themes/test_core_semver/test_core_semver.info.yml
    core/modules/system/tests/themes/test_invalid_core_semver/test_invalid_core_semver.info.yml
    core/modules/system/tests/themes/test_invalid_region/test_invalid_region.info.yml
    core/modules/system/tests/themes/test_theme/test_theme.info.yml
    core/modules/system/tests/themes/test_theme_having_veery_long_name_which_is_too_long/test_theme_having_veery_long_name_which_is_too_long.info.yml
    core/modules/system/tests/themes/test_theme_settings_features/test_theme_settings_features.info.yml
    core/modules/system/tests/themes/test_theme_twig_registry_loader/test_theme_twig_registry_loader.info.yml
    core/modules/update/tests/themes/update_test_base_theme/update_test_base_theme.info.yml
    core/modules/user/tests/themes/user_test_theme/user_test_theme.info.yml
    core/modules/views/tests/src/Functional/Plugin/MiniPagerTest.php
    core/modules/views/tests/src/Functional/Plugin/PagerTest.php
    core/modules/views/tests/src/Functional/Plugin/StyleSummaryTest.php
    core/modules/views/tests/src/Kernel/Plugin/DisplayPageTest.php
    core/modules/views/tests/themes/views_test_checkboxes_theme/views_test_checkboxes_theme.info.yml
    core/modules/views/tests/themes/views_test_theme/views_test_theme.info.yml
    core/profiles/tests/testing_config_import/testing_config_import_theme/testing_config_import_theme.info.yml
    core/tests/Drupal/FunctionalJavascriptTests/Ajax/AjaxTest.php
    core/tests/Drupal/KernelTests/Core/Asset/ResolvedLibraryDefinitionsFilesMatchTest.php
    core/tests/Drupal/KernelTests/Core/Theme/Stable9LibraryOverrideTest.php
    core/tests/Drupal/KernelTests/Core/Theme/Stable9TemplateOverrideTest.php
    core/tests/Drupal/Tests/Core/Extension/ModuleRequiredByThemesUninstallValidatorTest.php
    core/tests/fixtures/test_stable/test_stable.info.yml
    core/themes/starterkit_theme/starterkit_theme.info.yml

    Version: 11.x-dev » main

    Drupal core is now using the main branch as the primary development branch. New developments and disruptive changes should now be targeted to the main branch.

    Read more in the announcement.

    andypost’s picture

    I bet it blocked on nobody wanna maintain it so it will stay in core

    catch’s picture

    If no-one steps up to maintain it in contrib, then I'd suggest we mark it obsolete in core - it would mean sites updating to 12.x might need to update their themes for some new markup/CSS.

    andypost’s picture

    deprecation is ready for review #3567667: Deprecate Stable9

    quietone’s picture

    $ git grep -l stable9 | grep -v core/themes/stable9
    core/.prettierignore
    core/.stylelintrc.json
    core/tests/Drupal/KernelTests/Core/Theme/Stable9LibraryOverrideTest.php
    core/tests/Drupal/KernelTests/Core/Theme/Stable9TemplateOverrideTest.php

    The first two can be done on removal. The later two are being done in the deprecation issue. They should have been done separately but making an exception this time for expediency and it is only 2 tests.

    quietone’s picture

    Issue summary: View changes
    andypost’s picture

    Looks there's no willing to maintain it in contrib, what's next steps could be for removal as it's deprecated?

    smustgrave’s picture

    With regards to no volunteers I’d be happy to volunteer. I ended up joining classy after removal to do a d11 release. Only mention to show I got experience managing one of these themes

    quietone’s picture

    Issue summary: View changes

    @smustgrave, thanks!

    smustgrave’s picture

    I can get the contrib started in the morning if no objections

    andypost’s picture

    Thank you moving it forward

    quietone’s picture

    Issue summary: View changes
    $ git grep -i stable9 | grep -v core/themes
    core/.phpstan-baseline.php:     'path' => __DIR__ . '/themes/stable9/tests/Kernel/Stable9LibraryOverrideTest.php',
    core/.prettierignore:themes/stable9/css/core/assets/vendor/**/*.css
    core/.stylelintrc.json:    "themes/stable9/css/core/assets/vendor/**/*.css"
    core/MAINTAINERS.txt:Stable9

    These will be done in the removal issue

    smustgrave has agreed to be a maintainer for the contrib module. That will be create in due course, I understand he is on holiday now.

    quietone’s picture

    Issue summary: View changes
    drumm’s picture

    I do not recommend making releases for the stable9 project, or any project being moved out of core, until #3579778: Removed modules should be included as a replace in composer.json is resolved.

    xjm’s picture

    @drumm We're at a point in the release cycle where we need to complete these steps as soon as possible or we'll be stuck maintaining the technical debt of these legacy modules and themes for an extra two years. If #3579778: Removed modules should be included as a replace in composer.json is all agreed and committable within the next week or so, then I'm fine with waiting for it to land first. If it's going to be much longer than that, however, that essentially makes #3579778: Removed modules should be included as a replace in composer.json an additional Drupal 12 beta1 blocker.

    It might help us to understand what the costs of doing it "the old way" are so we can decide whether to deal with it for this one last major, and then pursue #3579778: Removed modules should be included as a replace in composer.json as a blocker for Drupal 13 module and theme removals instead.

    Thanks!

    smustgrave’s picture

    drumm’s picture

    See the related issues for #3579778: Removed modules should be included as a replace in composer.json for side effects of continuing to do deprecations the same way. Site owners need to do workarounds of both core & the ban contrib module both providing drupal/ban. For ban, this was worse because other modules depended on drupal/ban, so additional workarounds were needed.

    This isn’t a hard blocker, but it would be good to fix these in general, so removals from core go more smoothly for site owners.

    smustgrave’s picture

    So should I not make a release for stable9? It's fully good to be deprecated and removed.

    smustgrave’s picture

    Just wanted to follow up if I should make a stable9 release?

    smustgrave’s picture

    Status: Active » Needs review
    quietone’s picture

    Status: Needs review » Fixed

    ll the tasks here are complete. There is child issue that is not, which is for infrastructure to do. #3567860: Ensure that Stable 9 does not get special core treatment

    I have unpostponed that issue and changed the priority to Major.

    Now that this issue is closed, review the contribution record.

    As a contributor, attribute any organization that helped you, or if you volunteered your own time.

    Maintainers, credit people who helped resolve this issue.

    Status: Fixed » Closed (fixed)

    Automatically closed - issue fixed for 2 weeks with no activity.