-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Comparing changes
Open a pull request
base repository: postcss/postcss
base: 8.5.26
head repository: postcss/postcss
compare: 8.5.28
- 17 commits
- 20 files changed
- 11 contributors
Commits on Aug 6, 2026
-
Do not terminate a hack-prefixed property before a comment (#2126)
* Do not terminate a hack-prefixed property before a comment A declaration is read as a custom property when the *first token* of the declaration starts with `--`, but the stringifier decided it from `prop`. The `*`/`_` hack prefix is moved out of `prop` into `raws.before` after that decision, so for `*--x:red` the parser builds a normal declaration -- whose value stops at the first comment -- while the stringifier saw a custom property and terminated it: postcss.parse('a{*--x:red/*c*/}').toString() // => 'a{*--x:red;/*c*/}', semicolon invented The same applies to any declaration with something other than spaces in `before`. Check `before` alongside `prop` so the two stay in sync: only a declaration that will re-parse as a custom property can swallow a following comment, and only that one needs the semicolon. * Shorten the comment --------- Co-authored-by: Jayesh <[email protected]>Configuration menu - View commit details
-
Copy full SHA for 8f37847 - Browse repository at this point
Copy the full SHA 8f37847View commit details
Commits on Aug 14, 2026
-
Keep empty values in the middle and at the start of list.comma() (#2134)
split() only pushed an item at a separator when it had collected some text, so an empty value was dropped unless it happened to be the last one. list.comma(',,') returned [''] instead of ['', '', '']. Whitespace hid the inconsistency: 'a, ,b' collects ' ', which is not empty, so it survives and is then trimmed to ''. That makes the result depend on the spacing rather than the number of commas: list.comma('a,,b') // ['a', 'b'] list.comma('a, ,b') // ['a', '', 'b'] Rule#selectors reads through list.comma, so 'a,,b' reported two selectors and assigning them back rewrote the rule as 'a,b'. The `last` flag already marks the separator as significant, which is what comma() passes and space() does not, so it is the right condition here too. Runs of whitespace still collapse for space().Configuration menu - View commit details
-
Copy full SHA for 27c8be3 - Browse repository at this point
Copy the full SHA 27c8be3View commit details -
Fix rule end offset when spaces precede its own semicolon (#2135)
Signed-off-by: maximilliangrand <[email protected]> Co-authored-by: maximilliangrand <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 55a4edf - Browse repository at this point
Copy the full SHA 55a4edfView commit details -
Configuration menu - View commit details
-
Copy full SHA for c3be75a - Browse repository at this point
Copy the full SHA c3be75aView commit details
Commits on Aug 15, 2026
-
Configuration menu - View commit details
-
Copy full SHA for d40227b - Browse repository at this point
Copy the full SHA d40227bView commit details
Commits on Aug 19, 2026
-
Drop whitespace-only values from list.space() (#2141)
list.split() tested current for emptiness before trimming it, so a chunk made only of whitespace that is not one of the separators survived the check and was pushed as an empty string. Trimming first makes the emptiness check see the value that actually gets pushed.
Configuration menu - View commit details
-
Copy full SHA for 3909f50 - Browse repository at this point
Copy the full SHA 3909f50View commit details
Commits on Aug 26, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 09a678f - Browse repository at this point
Copy the full SHA 09a678fView commit details -
Configuration menu - View commit details
-
Copy full SHA for e993739 - Browse repository at this point
Copy the full SHA e993739View commit details -
Configuration menu - View commit details
-
Copy full SHA for 508e997 - Browse repository at this point
Copy the full SHA 508e997View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d23bc3 - Browse repository at this point
Copy the full SHA 6d23bc3View commit details
Commits on Sep 3, 2026
-
Keep non-annotation comments when the processor has no plugins (#2150)
clearAnnotation() has two implementations. The AST one removes only a comment whose text starts with `# sourceMappingURL=`, and PreviousMap#loadAnnotation finds annotations by the same marker. The string one, which is the only path NoWorkResult can take, searched for `/*#` and removed every comment that began with it. So postcss().process(css) silently deleted `/*#region */` and `/*#endregion */` folding markers, and any other comment starting with `#`, while the same CSS through a processor with one no-op plugin kept them. It happens with `map` unset too, because NoWorkResult calls clearAnnotation() unconditionally. Searching for the whole `/*# sourceMappingURL=` marker lines the string path up with the other two and keeps the plain string scan. Co-authored-by: Dylan Pulver <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3e82edc - Browse repository at this point
Copy the full SHA 3e82edcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1dba938 - Browse repository at this point
Copy the full SHA 1dba938View commit details -
Configuration menu - View commit details
-
Copy full SHA for 62b1626 - Browse repository at this point
Copy the full SHA 62b1626View commit details -
Configuration menu - View commit details
-
Copy full SHA for ae40ca4 - Browse repository at this point
Copy the full SHA ae40ca4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5039fd7 - Browse repository at this point
Copy the full SHA 5039fd7View commit details -
Configuration menu - View commit details
-
Copy full SHA for f8fc252 - Browse repository at this point
Copy the full SHA f8fc252View commit details -
Configuration menu - View commit details
-
Copy full SHA for e544bff - Browse repository at this point
Copy the full SHA e544bffView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 8.5.26...8.5.28