85d07cf38e75a87cefab61621eabc095ab44f990b55b0aa832190d28c342873ca633e4c380b8e7f7b0db003a36a35f2d386c536152ef9d03e790ba6f58357b 18 KB

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