Support library-specific CSS aggregates

Created on 31 December 2025, 20 days ago

Problem/Motivation

Similar to [PP-1] Allow setting aggregation groups for js files in library definitions Postponed , but that issue is js-specific and also blocked on two bugs that are js-specific.

There are some CSS libraries that consist of multiple files (so worth aggregating) and either loaded on every page (or only loaded on very specific pages like one admin page, less interesting but worth thinking about).

The global theme library is the most obvious one.

We can add a library key like 'dedicated aggregate', and when we build CSS groups etc. put that library into a single aggregate, with a differently constructed URL that only contains the library, no delta, not the other libraries on the page. Most of the logic is already in the MR on [PP-1] Allow setting aggregation groups for js files in library definitions Postponed and should mostly need adapting.

This will maximise browser and CDN cache hit rates, because regardless of whatever other libraries on the page, not only the aggregate file path itself, but also the query arguments will be identical.

Once we've done this issue, we'll be able to add 📌 Use early hints for CSS Active on top - because we can then construct the specific URL for an aggregate that we know will be loaded on a page - before the entire page is built and all #attached are processed.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

Introduced terminology

API changes

Data model changes

Release notes snippet

📌 Task
Status

Active

Version

11.0 🔥

Component

asset library system

Created by

🇬🇧United Kingdom catch

Live updates comments and jobs are added and updated live.
  • Performance

    It affects performance. It is often combined with the Needs profiling tag.

Sign in to follow issues

Merge Requests

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • Pipeline finished with Failed
    20 days ago
    Total: 462s
    #698378
  • Pipeline finished with Failed
    20 days ago
    Total: 721s
    #698390
  • Pipeline finished with Failed
    20 days ago
    Total: 186s
    #698446
  • Pipeline finished with Failed
    20 days ago
    Total: 833s
    #698449
  • Pipeline finished with Failed
    20 days ago
    Total: 847s
    #698460
  • Pipeline finished with Failed
    20 days ago
    Total: 196s
    #698703
  • Pipeline finished with Failed
    20 days ago
    Total: 259s
    #698734
  • Pipeline finished with Success
    20 days ago
    Total: 2342s
    #698815
  • Pipeline finished with Failed
    18 days ago
    Total: 106s
    #700269
  • Pipeline finished with Canceled
    18 days ago
    Total: 228s
    #700281
  • Pipeline finished with Success
    18 days ago
    #700283
  • Pipeline finished with Canceled
    11 days ago
    Total: 323s
    #707392
  • Pipeline finished with Failed
    11 days ago
    Total: 666s
    #707397
  • Pipeline finished with Failed
    11 days ago
    #707405
  • Pipeline finished with Failed
    11 days ago
    Total: 839s
    #707460
  • Pipeline finished with Success
    10 days ago
    Total: 9552s
    #707537
  • Pipeline finished with Failed
    10 days ago
    Total: 723s
    #707661
  • Pipeline finished with Success
    10 days ago
    Total: 984s
    #707713
  • Pipeline finished with Failed
    10 days ago
    Total: 793s
    #707861
  • Pipeline finished with Success
    10 days ago
    Total: 1442s
    #707913
  • Pipeline finished with Failed
    10 days ago
    Total: 1277s
    #707930
  • Pipeline finished with Success
    10 days ago
    Total: 841s
    #708259
  • Merge request !14303Draft: Support unique_js_aggregate → (Closed) created by catch
  • Pipeline finished with Success
    9 days ago
    Total: 576s
    #709049
  • Pipeline finished with Failed
    9 days ago
    Total: 808s
    #709232
  • Pipeline finished with Failed
    8 days ago
    Total: 867s
    #709887
  • Pipeline finished with Success
    8 days ago
    Total: 955s
    #709901
  • Pipeline finished with Failed
    8 days ago
    Total: 779s
    #709977
  • Pipeline finished with Failed
    8 days ago
    Total: 826s
    #710541
  • Pipeline finished with Success
    7 days ago
    Total: 873s
    #710563
  • Pipeline finished with Failed
    1 day ago
    Total: 532s
    #718592
  • Pipeline finished with Success
    1 day ago
    #718610
  • Pipeline finished with Failed
    about 17 hours ago
    Total: 575s
    #719181
  • Pipeline finished with Success
    about 9 hours ago
    Total: 378s
    #719648
Production build 0.71.5 2024