Skip to content

Releases: postcss/postcss

8.3.2

11 Jun 02:57
@ai ai
8.3.2
Compare
Choose a tag to compare
  • Update changelog.

7.0.36

11 Jun 02:54
@ai ai
7.0.36
Compare
Choose a tag to compare
  • Backport ReDoS vulnerabilities from PostCSS 8.

8.3.1

09 Jun 23:37
@ai ai
8.3.1
Compare
Choose a tag to compare
  • Fixed false positives PostCSS does nothing warning on syntax option.

8.3 “Duke Murmur”

21 May 03:40
@ai ai
8.3.0
Compare
Choose a tag to compare

Duke Murmur seal

PostCSS 8.3 improved source map parsing performance, added Node#assign() shortcut, and experimental Document node to AST.

Thanks to Sponsors

This release was possible thanks to our community.

Sponsored by Tailwind CSS Sponsored by ThemeIsle

If your company wants to support the sustainability of front-end infrastructure or wants to give some love to PostCSS, you can join our supporters by:

Source Map Performance

Because PostCSS needs synchronous API, we can’t move from the old `source-map 0.6 to 0.7 (many other open-source projects too).

@7rulnik forked source-map 0.6 to source-map-js and back-ported performance improvements from 0.7. In 8.3 we switched from source-map to this source-map-js fork.

You map see 4x performance improvements in parsing map from processing step before PostCSS (for instance, Sass).

Document Nodes

Thanks to @gucong3000, PostCSS already parse CSS from HTML and JS files (CSS-in-JS templates and objects).

But his plugin need big updates. @hudochenkov from stylelint team decided to create new parsers for styles inside CSS-in-JS, HTML, and Markdown.

He suggested adding new Document node type to PostCSS AST to keep multiple Root nodes inside and JS/HTML/Markdown code blocks between these style blocks.

const document = htmlParser(
  '<html><style>a{color:black}</style><style>b{z-index:2}</style>'
)
document.type          //=> 'document'
document.nodes.length  //=> 2
document.nodes[0].type //=> 'root'

This is an experimental feature. Some aspects of this node could change within minor or patch version releases.

Node#assign() Shortcut

The creator of famous postcss-preset-env and many other PostCSS tools, @jonathantneal suggested a nice shortcut to change multiple properties in the node:

decl.assign({ prop: 'word-wrap', value: 'break-word' })

8.2.15

10 May 19:57
@ai ai
8.2.15
Compare
Choose a tag to compare
  • Fixed list type definitions (by @n19htz).

8.2.14

05 May 19:43
@ai ai
8.2.14
Compare
Choose a tag to compare
  • Removed source-map from client-side bundle (by @barak007).

8.2.13

26 Apr 12:25
@ai ai
8.2.13
Compare
Choose a tag to compare
  • Fixed ReDoS vulnerabilities in source map parsing (by @yetingli).

8.2.12

22 Apr 15:54
@ai ai
8.2.12
Compare
Choose a tag to compare
  • Fixed package.json exports.

8.2.11

22 Apr 15:33
@ai ai
8.2.11
Compare
Choose a tag to compare
  • Fixed DEP0148 warning in Node.js 16.
  • Fixed docs (by @semiromid).

8.2.10

11 Apr 16:38
@ai ai
8.2.10
Compare
Choose a tag to compare
  • Fixed ReDoS vulnerabilities in source map parsing.
  • Fixed webpack 5 support (by @barak007).
  • Fixed docs (by @roelandmoors).