Problem/Motivation

In #2886904: display: block for details/summary hides drop arrows in Firefox (normalize.css update), we have a situation where normalize.css a third-party CSS library that we use, has a new major version that fixes an important bug in Firefox. The library is included as part of Classy, which means that updating it could disrupt themes extending from Classy. So, the question is how we could update the library as part of the continuous upgrade path, possibly in a way that deprecated the old version.

Proposed resolution

Discuss how we should update the library. Some possibilities:

  1. Implement some sort of formal library versioning.
  2. Informally add like a normalize7 library and deprecate the old one.
  3. Add the updated library to core and rename the old version, but use alter hook (or something along those lines) to alter in the old version for Classy (and possibly stable).
  4. Or even have new base themes that like slightly_less_stable or even_more_classy that provide most of the BC that the stable base themes do, except that they track the latest versions of vendor libraries and include CSS and template changes only for bugfixes.

Remaining tasks

  • Discuss!
  • Track down any existing policy issues related to further evolving our theme layer BC and relate them as well.

Comments

xjm created an issue. See original summary.

xjm’s picture

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.0-alpha1 will be released the week of January 17, 2018, which means new developments and disruptive changes should now be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

davidhernandez’s picture

I have been dreaming about getting 1 for a very long time. Yes, please.

2 is dumb but what we'd probably have to do if this is needed in short order.

3 would have to include Stable I think. This would technically still be a break for themes using Stable and core's normalize would it not?. This is kind of a grey area. Normalize isn't in Stable's current override because it doesnt come from Drupal.

4 was part of the original plan that has yet to come to fruition. We assumed at some point we would have to make additional base themes when there were accumulations of changes so we'd have like Stable 2 and Classy 2, but I don't want to venture down that road for something small and singular.

P.S. if we had something like small core and the themes were included as part of a build script, like with composer, we can just rely on their own versioning.

Version: 8.6.x-dev » 8.7.x-dev

Drupal 8.6.0-alpha1 will be released the week of July 16, 2018, which means new developments and disruptive changes should now be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.7.x-dev » 8.8.x-dev

Drupal 8.7.0-alpha1 will be released the week of March 11, 2019, which means new developments and disruptive changes should now be targeted against the 8.8.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.8.x-dev » 8.9.x-dev

Drupal 8.8.0-alpha1 will be released the week of October 14th, 2019, which means new developments and disruptive changes should now be targeted against the 8.9.x-dev branch. (Any changes to 8.9.x will also be committed to 9.0.x in preparation for Drupal 9’s release, but some changes like significant feature additions will be deferred to 9.1.x.). For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 8.9.x-dev » 9.1.x-dev

Drupal 8.9.0-beta1 was released on March 20, 2020. 8.9.x is the final, long-term support (LTS) minor release of Drupal 8, which means new developments and disruptive changes should now be targeted against the 9.1.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

markconroy’s picture

Component: Classy theme » theme system

Moving this to the theme system queue for further discussion, if needed.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

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.