UNPKG

19.9 kBMarkdownView Raw
1# Change Log
2This project adheres to [Semantic Versioning](http://semver.org/).
3
4## 7.0.24
5* Fix TypeScript definition (by Keith Cirkel).
6
7## 7.0.23
8* Update `Processor#version`.
9
10## 7.0.22
11* Add funding link for `npm fund`.
12
13## 7.0.21
14* Revert passing `nodes` property to node constructor.
15
16## 7.0.20
17* Allow to pass PostCSS’s nodes in `nodes` property to node constructor.
18
19## 7.0.19
20* Fix passing `nodes` property to node constructor.
21
22## 7.0.18
23* Fix TypeScript type definitions (by Jan Buschtöns).
24
25## 7.0.17
26* Fix TypeScript type definitions (by Bob Matcuk and Jan Buschtöns).
27
28## 7.0.16
29* Revert Custom Properties fix until PostCSS 8.0.
30
31## 7.0.15
32* Fix Custom Properties support (by Ivan Solovev).
33
34## 7.0.14
35* Fix tokenizer for `postcss-less` (by Matt Lyons).
36
37## 7.0.13
38* Fix parsing regression in 7.0.12 for comments between property and value.
39
40## 7.0.12
41* Fix parsing broken CSS with two words in declaration property.
42
43## 7.0.11
44* Fix source maps on declaration semicolon (by Niklas Mischkulnig).
45
46## 7.0.10
47* Fix source maps (by Niklas Mischkulnig).
48
49## 7.0.9
50* Increase stringifing performance for non-raws AST.
51
52## 7.0.8
53* Fix TypeScript definitions (by Ankur Oberoi).
54* Use `support-colors` 6.0.
55
56## 7.0.7
57* Extend `Error` in `CssSyntaxError`.
58
59## 7.0.6
60* Fix parsing files with BOM (by Veniamin Krol).
61
62## 7.0.5
63* Reduce npm package size (by Gilad Peleg).
64
65## 7.0.4
66* Fix safe parser regression.
67
68## 7.0.3
69* Fix tokenizer extendability (by Andrew Powell).
70* Reduce npm package size.
71
72## 7.0.2
73* Fix warning text (by Rui Pedro M Lima).
74
75## 7.0.1
76* Fix JSDoc (by Steven Lambert).
77
78## 7.0 “President Amy”
79* Remove Node.js 9 and Node.js 4 support.
80* Remove IE and “dead” browsers support for client-side Babel transpiling.
81* Add CSS position on error happened inside `walk()` (by Nikhil Gaba).
82* Add `LazyResult#finally` (by Igor Kamyshev).
83* Add warning on calling PostCSS without plugins and syntax options.
84* Reduce client-side size.
85
86## 6.0.23
87* Fix parsing nested at-rules without semicolon, params, and spaces.
88* Fix docs (by Kevin Schiffer and Pat Cavit).
89
90## 6.0.22
91* Fix `Node#prev` and `Node#next` on missed parent.
92
93## 6.0.21
94* Rename Chinese docs to fix `yarnpkg.com` issue.
95
96## 6.0.20
97* Better error message on `null` as input CSS.
98
99## 6.0.19
100* Fix TypeScript definitions for source maps (by Oleh Kuchuk).
101* Fix `source` field in TypeScript definitions (by Sylvain Pollet-Villard).
102
103## 6.0.18
104* Use primitive object in TypeScript definitions (by Sylvain Pollet-Villard).
105
106## 6.0.17
107* Fix parsing comment in selector between word tokens (by Oleh Kuchuk).
108
109## 6.0.16
110* Fix warning text (by Michael Keller).
111
112## 6.0.15
113* Add warning about missed `from` option on `process().then()` call.
114* Add IE 10 support.
115
116## 6.0.14
117* Fix TypeScript definitions (by Jed Mao).
118
119## 6.0.13
120* Fix TypeScript definitions for case of multiple PostCSS versions
121 in `node_modules` (by Chris Eppstein).
122* Use `source-map` 0.6.
123
124## 6.0.12
125* Don’t copy `*` hack to declaration indent.
126
127## 6.0.11
128* Add upper case `!IMPORTANT` support.
129
130## 6.0.10
131* Reduce PostCSS size in webpack bundle.
132
133## 6.0.9
134* Improve error message for plugin with old PostCSS (by Igor Adamenko).
135
136## 6.0.8
137* Fix Node.js 4.2.2 support.
138
139## 6.0.7
140* Fix base64 decoding for old Node.js and browser.
141
142## 6.0.6
143* Fix `end` position in at-rule without semicolon (by Oleh Kuchuk).
144
145## 6.0.5
146* Move Babel config from `package.json` for `node_modules` compiling cases.
147
148## 6.0.4
149* Fix parsing `;;` after rules.
150* Use Chalk 2.0.
151
152## 6.0.3
153* Fix escape sequences parsing (by Oleh Kuchuk).
154* Added ability to force disable colors with an environment variable.
155* Improved color detection of some terminal apps.
156
157## 6.0.2
158* Keep `raws.before` on moving `Root` children to new `Root`.
159
160## 6.0.1
161* Fix parser extensibility to use it in Safe Parser.
162
163## 6.0 “Marquis Orias”
164* Remove node.js 0.12 support.
165* Remove deprecated method from PostCSS 4.
166* Insert methods remove child from previous parent, instead of closing.
167* Insert methods and cloning doesn’t clean `raws` anymore.
168* Methods `moveTo`, `moveAfter`, `moveBefore` were deprecated.
169* Options was changed in `Plugin#process(css, processOptions, pluginOptions)`.
170* Add stream parser to reduce memory usage (by Oleh Kuchuk).
171* Add `before()`/`after()` shortcuts for `node.parent.insertBefore(node, x)`.
172* Add `Rule#raws.ownSemicolon` for semicolon after templates for `@apply`.
173* Use `babel-preset-env` to compile npm package.
174* Remove `js-base64` from dependencies (by Roman Dvornov).
175* Fix error message on single `:` in CSS.
176* Move tests to Jest.
177* Clean up test (by Gabriel Kalani).
178
179## 5.2.18
180* Fix TypeScript definitions for case of multiple PostCSS versions
181 in `node_modules` (by Chris Eppstein).
182
183## 5.2.17
184* Add `postcss-sass` suggestion to syntax error on `.sass` input.
185
186## 5.2.16
187* Better error on wrong argument in node constructor.
188
189## 5.2.15
190* Fix TypeScript definitions (by bumbleblym).
191
192## 5.2.14
193* Fix browser bundle building in webpack (by janschoenherr).
194
195## 5.2.13
196* Do not add comment to important raws.
197* Fix JSDoc (by Dmitry Semigradsky).
198
199## 5.2.12
200* Fix typo in deprecation message (by Garet McKinley).
201
202## 5.2.11
203* Fix TypeScript definitions (by Jed Mao).
204
205## 5.2.10
206* Fix TypeScript definitions (by Jed Mao).
207
208## 5.2.9
209* Update TypeScript definitions (by Jed Mao).
210
211## 5.2.8
212* Fix error message (by Ben Briggs).
213
214## 5.2.7
215* Better error message on syntax object in plugins list.
216
217## 5.2.6
218* Fix `postcss.vendor` for values with spaces (by 刘祺).
219
220## 5.2.5
221* Better error message on unclosed string (by Ben Briggs).
222
223## 5.2.4
224* Improve terminal CSS syntax highlight (by Simon Lydell).
225
226## 5.2.3
227* Better color highlight in syntax error code frame.
228* Fix color highlight support in old systems.
229
230## 5.2.2
231* Update `Processor#version`.
232
233## 5.2.1
234* Fix source map path for CSS without `from` option (by Michele Locati).
235
236## 5.2 “Duke Vapula”
237* Add syntax highlight to code frame in syntax error (by Andrey Popp).
238* Use Babel code frame style and size in syntax error.
239* Add `[` and `]` tokens to parse `[attr=;] {}` correctly.
240* Add `ignoreErrors` options to tokenizer (by Andrey Popp).
241* Fix error position on tab indent (by Simon Lydell).
242
243## 5.1.2
244* Suggests SCSS/Less parsers on parse errors depends on file extension.
245
246## 5.1.1
247* Fix TypeScript definitions (by Efremov Alexey).
248
249## 5.1 “King and President Zagan”
250* Add URI in source map support (by Mark Finger).
251* Add `map.from` option (by Mark Finger).
252* Add `<no source>` mappings for nodes without source (by Bogdan Chadkin).
253* Add function value support to `map.prev` option (by Chris Montoro).
254* Add declaration value type check in shortcut creating (by 刘祺).
255* `Result#warn` now returns new created warning.
256* Don’t call plugin creator in `postcss.plugin` call.
257* Add source maps to PostCSS ES5 build.
258* Add JSDoc to PostCSS classes.
259* Clean npm package from unnecessary docs.
260
261## 5.0.21
262* Fix support with input source mao with `utf8` encoding name.
263
264## 5.0.20
265* Fix between raw value parsing (by David Clark).
266* Update TypeScript definitions (by Jed Mao).
267* Clean fake node.source after `append(string)`.
268
269## 5.0.19
270* Fix indent-based syntaxes support.
271
272## 5.0.18
273* Parse new lines according W3C CSS syntax specification.
274
275## 5.0.17
276* Fix options argument in `Node#warn` (by Ben Briggs).
277* Fix TypeScript definitions (by Jed Mao).
278
279## 5.0.16
280* Fix CSS syntax error position on unclosed quotes.
281
282## 5.0.15
283* Fix `Node#clone()` on `null` value somewhere in node.
284
285## 5.0.14
286* Allow to use PostCSS in webpack bundle without JSON loader.
287
288## 5.0.13
289* Fix `index` and `word` options in `Warning#toString` (by Bogdan Chadkin).
290* Fix input source content loading in errors.
291* Fix map options on using `LazyResult` as input CSS.
292* 100% test coverage.
293* Use Babel 6.
294
295## 5.0.12
296* Allow passing a previous map with no mappings (by Andreas Lind).
297
298## 5.0.11
299* Increase plugins performance by 1.5 times.
300
301## 5.0.10
302* Fix warning from nodes without source.
303
304## 5.0.9
305* Fix source map type detection (by @asan).
306
307## 5.0.8
308* Fixed a missed step in `5.0.7` that caused the module to be published as
309 ES6 code.
310
311## 5.0.7
312* PostCSS now requires that node 0.12 is installed via the engines property
313 in package.json (by Howard Zuo).
314
315## 5.0.6
316* Fix parsing nested at-rule without semicolon (by Matt Drake).
317* Trim `Declaration#value` (by Bogdan Chadkin).
318
319## 5.0.5
320* Fix multi-tokens property parsing (by Matt Drake).
321
322## 5.0.4
323* Fix start position in `Root#source`.
324* Fix source map annotation, when CSS uses `\r\n` (by Mohammad Younes).
325
326## 5.0.3
327* Fix `url()` parsing.
328* Fix using `selectors` in `Rule` constructor.
329* Add start source to `Root` node.
330
331## 5.0.2
332* Fix `remove(index)` to be compatible with 4.x plugin.
333
334## 5.0.1
335* Fix PostCSS 4.x plugins compatibility.
336* Fix type definition loading (by Jed Mao).
337
338## 5.0 “President Valac”
339* Remove `safe` option. Move Safe Parser to separate project.
340* `Node#toString` does not include `before` for root nodes.
341* Remove plugin returning `Root` API.
342* Remove Promise polyfill for node.js 0.10.
343* Deprecate `eachInside`, `eachDecl`, `eachRule`, `eachAtRule` and `eachComment`
344 in favor of `walk`, `walkDecls`, `walkRules`, `walkAtRules` and `walkComments`
345 (by Jed Mao).
346* Deprecate `Container#remove` and `Node#removeSelf`
347 in favor of `Container#removeChild` and `Node#remove` (by Ben Briggs).
348* Deprecate `Node#replace` in favor of `replaceWith` (by Ben Briggs).
349* Deprecate raw properties in favor of `Node#raws` object.
350* Deprecate `Node#style` in favor of `raw`.
351* Deprecate `CssSyntaxError#generated` in favor of `input`.
352* Deprecate `Node#cleanStyles` in favor of `cleanRaws`.
353* Deprecate `Root#prevMap` in favor of `Root.source.input.map`.
354* Add `syntax`, `parser` and `stringifier` options for Custom Syntaxes.
355* Add stringifier option to `Node#toString`.
356* Add `Result#content` alias for non-CSS syntaxes.
357* Add `plugin.process(css)` shortcut to every plugin function (by Ben Briggs).
358* Add multiple nodes support to insert methods (by Jonathan Neal).
359* Add `Node#warn` shortcut (by Ben Briggs).
360* Add `word` and `index` options to errors and warnings (by David Clark).
361* Add `line`, `column` properties to `Warning`.
362* Use `supports-color` library to detect color support in error output.
363* Add type definitions for TypeScript plugin developers (by Jed Mao).
364* `Rule#selectors` setter detects separators.
365* Add `postcss.stringify` method.
366* Throw descriptive errors for incorrectly formatted plugins.
367* Add docs to npm release.
368* Fix `url()` parsing.
369* Fix Windows support (by Jed Mao).
370
371## 4.1.16
372* Fix errors without stack trace.
373
374## 4.1.15
375* Allow asynchronous plugins to change processor plugins list (by Ben Briggs).
376
377## 4.1.14
378* Fix for plugins packs defined by `postcss.plugin`.
379
380## 4.1.13
381* Fix input inlined source maps with UTF-8 encoding.
382
383## 4.1.12
384* Update Promise polyfill.
385
386## 4.1.11
387* Fix error message on wrong plugin format.
388
389## 4.1.10
390* Fix Promise behavior on sync plugin errors.
391* Automatically fill `plugin` field in `CssSyntaxError`.
392* Fix warning message (by Ben Briggs).
393
394## 4.1.9
395* Speed up `node.clone()`.
396
397## 4.1.8
398* Accepts `Processor` instance in `postcss()` constructor too.
399
400## 4.1.7
401* Speed up `postcss.list` (by Bogdan Chadkin).
402
403## 4.1.6
404* Fix Promise behavior on parsing error.
405
406## 4.1.5
407* Parse at-words in declaration values.
408
409## 4.1.4
410* Fix Promise polyfill dependency (by Anton Yakushev and Matija Marohnić).
411
412## 4.1.3
413* Add Promise polyfill for node.js 0.10 and IE.
414
415## 4.1.2
416* List helpers can be accessed independently `var space = postcss.list.space`.
417
418## 4.1.1
419* Show deprecated message only once.
420
421## 4.1 “Marquis Andras”
422* Asynchronous plugin support.
423* Add warnings from plugins and `Result#messages`.
424* Add `postcss.plugin()` to create plugins with a standard API.
425* Insert nodes by CSS string.
426* Show version warning message on error from an outdated plugin.
427* Send `Result` instance to plugins as the second argument.
428* Add `CssSyntaxError#plugin`.
429* Add `CssSyntaxError#showSourceCode()`.
430* Add `postcss.list` and `postcss.vendor` aliases.
431* Add `Processor#version`.
432* Parse wrong closing bracket.
433* Parse `!important` statement with spaces and comments inside (by Ben Briggs).
434* Throw an error on declaration without `prop` or `value` (by Philip Peterson).
435* Fix source map mappings position.
436* Add indexed source map support.
437* Always set `error.generated`.
438* Clean all source map annotation comments.
439
440## 4.0.6
441* Remove `babel` from released package dependencies (by Andres Suarez).
442
443## 4.0.5
444* Fix error message on double colon in declaration.
445
446## 4.0.4
447* Fix indent detection in some rare cases.
448
449## 4.0.3
450* Faster API with 6to5 Loose mode.
451* Fix indexed source maps support.
452
453## 4.0.2
454* Do not copy IE hacks to code style.
455
456## 4.0.1
457* Add `source.input` to `Root` too.
458
459## 4.0 “Duke Flauros”
460* Rename `Container#childs` to `nodes`.
461* Rename `PostCSS#processors` to `plugins`.
462* Add `Node#replaceValues()` method.
463* Add `Node#moveTo()`, `moveBefore()` and `moveAfter()` methods.
464* Add `Node#cloneBefore()` and `cloneAfter()` shortcuts.
465* Add `Node#next()`, `prev()` and `root()` shortcuts.
466* Add `Node#replaceWith()` method.
467* Add `Node#error()` method.
468* Add `Container#removeAll()` method.
469* Add filter argument to `eachDecl()` and `eachAtRule()`.
470* Add `Node#source.input` and move `source.file` or `source.id` to `input`.
471* Change code indent, when node was moved.
472* Better fix code style on `Rule`, `AtRule` and `Comment` nodes changes.
473* Allow to create rules and at-rules by hash shortcut in append methods.
474* Add class name to CSS syntax error output.
475
476## 3.0.7
477* Fix IE filter parsing with multiple commands.
478* Safer way to consume PostCSS object as plugin (by Maxime Thirouin).
479
480## 3.0.6
481* Fix missing semicolon when comment comes after last declaration.
482* Fix Safe Mode declaration parsing on unclosed blocks.
483
484## 3.0.5
485* Fix parser to support difficult cases with backslash escape and brackets.
486* Add `CssSyntaxError#stack` (by Maxime Thirouin).
487
488## 3.0.4
489* Fix Safe Mode on unknown word before declaration.
490
491## 3.0.3
492* Increase tokenizer speed (by Roman Dvornov).
493
494## 3.0.2
495* Fix empty comment parsing.
496* Fix `Root#normalize` in some inserts.
497
498## 3.0.1
499* Fix Rhino JS runtime support.
500* Typo in deprecated warning (by Maxime Thirouin).
501
502## 3.0 “Marquis Andrealphus”
503* New parser, which become the fastest ever CSS parser written in JavaScript.
504* Parser can now parse declarations and rules in one parent (like in `@page`)
505 and nested declarations for plugins like `postcss-nested`.
506* Child nodes array is now in `childs` property, instead of `decls` and `rules`.
507* `map.inline` and `map.sourcesContent` options are now `true` by default.
508* Fix iterators (`each`, `insertAfter`) on children array changes.
509* Use previous source map to show origin source of CSS syntax error.
510* Use 6to5 ES6 compiler, instead of ES6 Transpiler.
511* Use code style for manually added rules from existing rules.
512* Use `from` option from previous source map `file` field.
513* Set `to` value to `from` if `to` option is missing.
514* Use better node source name when missing `from` option.
515* Show a syntax error when `;` is missed between declarations.
516* Allow to pass `PostCSS` instance or list of plugins to `use()` method.
517* Allow to pass `Result` instance to `process()` method.
518* Trim Unicode BOM on source maps parsing.
519* Parse at-rules without spaces like `@import"file"`.
520* Better previous `sourceMappingURL` annotation comment cleaning.
521* Do not remove previous `sourceMappingURL` comment on `map.annotation: false`.
522* Parse nameless at-rules in Safe Mode.
523* Fix source map generation for nodes without source.
524* Fix next child `before` if `Root` first child got removed.
525
526## 2.2.6
527* Fix map generation for nodes without source (by Josiah Savary).
528
529## 2.2.5
530* Fix source map with BOM marker support (by Mohammad Younes).
531* Fix source map paths (by Mohammad Younes).
532
533## 2.2.4
534* Fix `prepend()` on empty `Root`.
535
536## 2.2.3
537* Allow to use object shortcut in `use()` with functions like `autoprefixer`.
538
539## 2.2.2
540* Add shortcut to set processors in `use()` via object with `.postcss` property.
541
542## 2.2.1
543* Send `opts` from `Processor#process(css, opts)` to processors.
544
545## 2.2 “Marquis Cimeies”
546* Use GNU style syntax error messages.
547* Add `Node#replace` method.
548* Add `CssSyntaxError#reason` property.
549
550## 2.1.2
551* Fix UTF-8 support in inline source map.
552* Fix source map `sourcesContent` if there is no `from` and `to` options.
553
554## 2.1.1
555* Allow to miss `to` and `from` options for inline source maps.
556* Add `Node#source.id` if file name is unknown.
557* Better detect splitter between rules in CSS concatenation tools.
558* Automatically clone node in insert methods.
559
560## 2.1 “King Amdusias”
561* Change Traceur ES6 compiler to ES6 Transpiler.
562* Show broken CSS line in syntax error.
563
564## 2.0 “King Belial”
565* Project was rewritten from CoffeeScript to ES6.
566* Add Safe Mode to works with live input or with hacks from legacy code.
567* More safer parser to pass all hacks from Browserhacks.com.
568* Use real properties instead of magic getter/setter for raw properties.
569
570## 1.0 “Marquis Decarabia”
571* Save previous source map for each node to support CSS concatenation
572 with multiple previous maps.
573* Add `map.sourcesContent` option to add origin content to `sourcesContent`
574 inside map.
575* Allow to set different place of output map in annotation comment.
576* Allow to use arrays and `Root` in `Container#append` and same methods.
577* Add `Root#prevMap` with information about previous map.
578* Allow to use latest PostCSS from GitHub by npm.
579* `Result` now is lazy and it will generate output CSS only if you use `css`
580 or `map` property.
581* Use separated `map.prev` option to set previous map.
582* Rename `inlineMap` option to `map.inline`.
583* Rename `mapAnnotation` option to `map.annotation`.
584* `Result#map` now return `SourceMapGenerator` object, instead of string.
585* Run previous map autodetect only if input CSS contains annotation comment.
586* Add `map: 'inline'` shortcut for `map: { inline: true }` option.
587* `Node#source.file` now will contains absolute path.
588* Clean `Declaration#between` style on node clone.
589
590## 0.3.5
591* Allow to use `Root` or `Result` as first argument in `process()`.
592* Save parsed AST to `Result#root`.
593
594## 0.3.4
595* Better space symbol detect to read UTF-8 BOM correctly.
596
597## 0.3.3
598* Remove source map hacks by using new Mozilla’s `source-map` (by Simon Lydell).
599
600## 0.3.2
601* Add URI encoding support for inline source maps.
602
603## 0.3.1
604* Fix relative paths from previous source map.
605* Safer space split in `Rule#selectors` (by Simon Lydell).
606
607## 0.3 “Prince Seere”
608* Add `Comment` node for comments between declarations or rules.
609* Add source map annotation comment to output CSS.
610* Allow to inline source map to annotation comment by data:uri.
611* Fix source maps on Windows.
612* Fix source maps for subdirectory (by Dmitry Nikitenko and Simon Lydell).
613* Autodetect previous source map.
614* Add `first` and `last` shortcuts to container nodes.
615* Parse `!important` to separated property in `Declaration`.
616* Allow to break iteration by returning `false`.
617* Copy code style to new nodes.
618* Add `eachInside` method to recursively iterate all nodes.
619* Add `selectors` shortcut to get selectors array.
620* Add `toResult` method to `Rule` to simplify work with several input files.
621* Clean declaration’s `value`, rule’s `selector` and at-rule’s `params`
622 by storing spaces in `between` property.
623
624## 0.2 “Duke Dantalion”
625* Add source map support.
626* Add shortcuts to create nodes.
627* Method `process()` now returns object with `css` and `map` keys.
628* Origin CSS file option was renamed from `file` to `from`.
629* Rename `Node#remove()` method to `removeSelf()` to fix name conflict.
630* Node source was moved to `source` property with origin file
631 and node end position.
632* You can set own CSS generate function.
633
634## 0.1 “Count Andromalius”
635* Initial release.