5f4eb6f24c0322eb3eed569b07ef4b7b2fda944949ffeabcc6635dd6b9f24d63749c7eac41c3cd47ce8fc8cf4c3ab258fe01e95405ece42f8fd98cefdceb92 15 KB

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