Skip to content

Latest commit

 

History

History
459 lines (325 loc) · 16.2 KB

CHANGELOG.md

File metadata and controls

459 lines (325 loc) · 16.2 KB

Changelog

Legend:

👹 — be afraid of this change because it breaks the way things worked before.
⭐ — some new thing has been added.
🍏 — some bad thing has been fixed.

30.03.2020, version 4.3.0

⭐ Added support for interpolation of custom properties in Sass. 🍏 Updated minimist version to 1.2.5. 🍏 Updated playground link to https.

22.03.2019, version 4.2.4

⭐ Renamed prepublish script to prepublishOnly.
⭐ Updated link to playground.
🍏 Fixed badges.
🍏 Fixed content guard in node.contains().

28.09.2017, version 4.2.3

🍏 Fixed parsing of empty url() in Sass and SCSS.

30.08.2017, version 4.2.2

🍏 Fixed parsing of /deep/ in CSS, LESS, Sass and SCSS.

29.08.2017, version 4.2.1

🍏 Fixed parsing of pseudo-element in CSS, LESS, Sass and SCSS.

29.08.2017, version 4.2.0

⭐ Add support for custom property syntax in CSS, Sass and SCSS.
⭐ Add support for deep combinator syntax in CSS, LESS, Sass and SCSS.
⭐ Add support for alternative descendant >> syntax in CSS, LESS, Sass and SCSS.
⭐ Add support for ::slotted() syntax in CSS, LESS, Sass and SCSS.
🍏 Fixed parsing of non-lowercase keyframes at-rule in CSS, LESS, Sass and SCSS.
🍏 Fixed parsing of multiline selectors within keyframes in Sass.
🍏 Fixed parsing of !important within maps in Sass and SCSS.
🍏 Fixed parsing of ... following a function in Sass and SCSS.

23.08.2017, version 4.1.1

⭐ Unified codebase style across syntaxes.
🍏 Fixed parsing of URLs in Sass and SCSS.
🍏 Fixed parsing of placeholders in Sass and SCSS.
🍏 Fixed parsing of interpolated values within type selectors in Sass and SCSS.
🍏 Fixed parsing of spacing within pseudo class arguments in all syntaxes.
🍏 Fixed parsing of parent selectors within parentheses in Sass and SCSS.
⭐ Abstracted attribute tests for CSS, LESS, Sass and SCSS.
🍏 Fixed parsing of pseudo classes within keyframes in Sass and SCSS.
🍏 Fixed parsing of dimensions in LESS.

20.11.2016, version 4.0.3

🍏 Fixed parsing of interpolations inside URI nodes in SCSS and Sass.

18.11.2016, version 4.0.2

🍏 Fixed parsing of trailing newlines.

18.11.2016, version 4.0.1

👹 Removed postinstall script.

17.11.2016, version 4.0.0

👹 Dropped support for Node < 4.
👹 Brought back postinstall script that should allow installing from GitHub.
👹 Made multiline comments in Sass consistent with other syntaxes by removing closing */ from node's content.
👹 Implemented new node type, universalSelector, which represents *. See docs for more details. :green_apple: Fixed parsing of comments in Sass.
🍏 Fixed parsing of keyframes inside includes in Sass.
🍏 Fixed parsing of flags in arguments in Sass and SCSS.
🍏 Fixed parsing of multiple declarations within arguments in SCSS and Sass.
🍏 Improved parsing of interpolations in SCSS and Sass.
🍏 Adjust parsing priority of declarations & atrule in Less.

22.10.2016, version 3.4.7

🍏 Included forgotten test for #226.
🍏 Fixed issue when !important was not parsed as function argument.

22.10.2016, version 3.4.6

🍏 Changed parsing of ident nodes which fixed issue with asterisks being parsed as idents instead of operators.
🍏 Fixed capitalisation in Changelog.

20.10.2016, version 3.4.5

🍏 Change parser to strip DOS newlines from comments.
⭐ Add links to README.md.

12.08.2016, version 3.4.4

🍏 Fixed parsing of numbers following interpolation in class selectors in Sass and SCSS.

08.08.2016, version 3.4.3

🍏 Fixed parsing of unicode ranges.

04.08.2016, version 3.4.2

🍏 Disable Google Closure Compiler due to some errors in parsing.

27.07.2016, version 3.4.1

⭐ Added publich script.
🍏 Fixed post-refactor error in Node#last method.

27.07.2016, version 3.4.0

⭐ Added unicode-range and urange node types in CSS, Less, Sass and SCSS.
🍏 Fixed parsing of trailing interpolation in compound selector in Sass and SCSS.
🍏 Fix parsing of hyphens after interpolation with parentSelectors in Sass and SCSS.
🍏 Added ESLint and moved linters to a separate script.
🍏 Fixed incorrect dimension wrap of unicode-ranges in CSS, Sass and SCSS.
🍏 Fixed parsing of hyphens in interpolated idents in Sass and SCSS.
🍏 Added compilation of JS using Google Closure.

01.07.2016, version 3.3.6

🍏 Fixed parsing of nth selector without numbers before n.

21.06.2016, version 3.3.5

🍏 Fixed issue with content at-rule and keyframes in Sass and SCSS.
🍏 Fixed namespace attribute selector in CSS, Sass and SCSS.
🍏 Fixed issue with modulo operator in values in Sass.
🍏 Fixed usage of @content with keyframes in Sass and SCSS.
🍏 Fixed namespace attribute selector issue in CSS, Sass and SCSS.
🍏 Fixed parsing of interpolations in pseudo-classes in Sass and SCSS.
🍏 Fixed interpolated percentage keyframe selector issue in Sass and SCSS.
🍏 Updated Travis config to not include environment variables.

18.05.2016, version 3.3.4

🍏 Fixed mistake from @3.3.2 version when parent selector was "correctly" parsed as property instead of value.

18.05.2016, version 3.3.3

🍏 Fixed prepublish script to build lib.

18.05.2016, version 3.3.2

⭐ Added AppVeyor badge.
🍏 Fixed build file to glue multiple syntaxes into one file.
🍏 Fixed parsing of functions inside urls in Sass.
🍏 Fixed parsing of mulitple keyframe selectors in CSS, Sass and SCSS.
🍏 Fixed parsing of parent selector as property in Sass and SCSS.
🍏 Fixed parsing of parent selector inside interpolations in Sass and SCSS.

29.04.2016, version 3.3.1

⭐ Added config for AppVeyor to run automated tests on Windows.
🍏 Fix installation for Windows.

28.04.2016, version 3.3.0

⭐ Added browser support. build.sh now build a script that can be used in browsers.

28.04.2016, version 3.2.7

🍏 Fixed typos and example in documentation.
🍏 Fixed parsing of functions inside urls in SCSS.
🍏 Fixed parsing of selectors starting with combinators in Sass, SCSS and Less.
🍏 Fixed incorrect CRLF line numbers.
🍏 Fixed parsing of extends that sometimes were incorrectly parsed as atrules.

07.02.2016, version 3.2.6

🍏 Fixed the issue with installation of the package with npm@3.

07.02.2016, version 3.2.5

🍏 Fixed parsing of nested multiline selectors group.

07.02.2016, version 3.2.4

⭐ Added support for !global in Sass.

07.02.2016, version 3.2.3

⭐ Modified npm test to remove .DS_Store files before running tests.
⭐ Updated Travis config to use Node@5.0.
⭐ Updated Travis config to include compiler info.
⭐ Made it possible to build files if module is installed from github.
🍏 Fixed parsing of interpolation content in Sass and SCSS.
🍏 Fixed parsing of interpolation as part of parent selector extension in Sass and SCSS.
🍏 Fixed issue with keyframeSelector in includes in SCSS.

17.01.2016, version 3.2.2

🍏 Made ParsingError#message property writeable.

19.10.2015, version 3.2.1

Parsing rules

🍏 Fixed the issue when selectors inside extends were not wrapped in selector nodes in Sass and SCSS.
🍏 Fixed parsing of multiple selectors in extends in Sass and SCSS.

19.10.2015, version 3.2.0

Node types

⭐ Added new node type: parentSelectorExtension.

Parsing rules

🍏 Fixed parsing of parent selectors with extensions, like &__element or &--modifier.

19.10.2015, version 3.1.1

Parsing rules

🍏 Fixed parsing of selectors starting or ending with a combinator in Less, Sass and SCSS.

18.10.2015, version 3.1.0

CLI

🍏 Fixed passing a --context argument.
🍏 Fixed printing of a simplified tree.

Node types

⭐ Added new node type: keyframesSelector.

Parsing rules

🍏 Fixed parsing of keyframes in all syntaxes.

18.10.2015, version 3.0.3

Parsing rules

🍏 Fixed parsing of spaces inside interpolations in Sass and SCSS.

18.10.2015, version 3.0.2

Parsing rules

🍏 Fixed the issue when operators were parsed as idents inside parentheses in Sass and SCSS.

18.10.2015, version 3.0.1

Parsing rules

🍏 Fixed parsing of parent selectors in SCSS and Less.
🍏 Fixed parsing of placeholders inside selectors in SCSS.

18.10.2015, version 3.0.0

CLI

👹 Made cli process stdin only if - argument is passed.
⭐ Added help message.

API

👹 Renamed parseTree.remove to parseTree.removeChild().
👹 Unwraped callback parameters for traverse... methods.
👹 Made first(), last() and get() methods return null if no child nodes were found.
👹 Made node.length return a number of child nodes.
👹 Renamed rule to context.
⭐ Made parseTree.removeChild() return a removed node.
⭐ Added traverseBy... methods to all nodes, not only root ones.
⭐ Added support for specifying a tab size in spaces.

Parsing rules

🍏 Fixed parsing of single-line comments after url token.
🍏 Fixed parsing of interpolations inside id selectors in Less.
🍏 Fixed parsing of selectors according to spec.
🍏 Fixed parsing of placeholders as selectors in SCSS.

Misc

⭐ Added Travis badge to Readme page.
⭐ Added init script to build sources.
⭐ Added commit message template.

05.10.2015, version 3.0.0-beta

CLI

⭐ Added --simple flag for printing a simplified tree structure.
🍏 CLI now prints parse tree to stdout.

API

👹 Parse tree is now represented as objects, not arrays.
👹 Renamed gonzales.srcToAST() to gonzales.parse(). See Readme.
👹 Renamed gonzales.astToSrc() to parseTree.toString(). See Readme.
👹 Renamed gonzales.astToString() to parseTree.toJson(). See Readme.
⭐ Added information about column number to nodes.
⭐ Added information about end position to nodes.
🍏 Made empty strings to be parsed as empty nodes.

Node types

👹 In Sass renamed interpolatedVariable to interpolation.
👹 Separated include and extend nodes.
👹 Replaced filter with declaration.
👹 Replaced braces with brackets and parentheses.
👹 Replaced atrulers with block.
👹 Renamed nthSelector to pseudoClass.
👹 Renamed atrules, atruler and atruleb to atrule.
👹 Renamed functionBody to arguments.
👹 Renamed functionExpression to expression.
👹 Renamed attrib to attributeSelector.
👹 Renamed attrselector to attributeMatch.
👹 Renamed commentSL to singlelineComment.
👹 Renamed commentML to multilineComment.
👹 Renamed declDelim to declarationDelimiter.
👹 Renamed delim to delimiter.
👹 Renamed propertyDelim to propertyDelimiter.
👹 Renamed pseudoc to pseudoClass.
👹 Renamed pseudoe to pseudoElement.
👹 Renamed s to space.
👹 Renamed shash to color.
👹 Renamed vhash to id.
👹 Removed atrulerq, unary and unknown.
⭐ Added attributeFlags.
⭐ Added attributeName.
⭐ Added attributeValue.
⭐ Added conditionalStatement.
⭐ Added namePrefix.
⭐ Added namespacePrefix.
⭐ Added namespaceSeparator.
⭐ Added typeSelector.

Parsing rules

👹 Spaces that separate two nodes are now put between those nodes in parse tree.
⭐ Added support for extend nodes in Less.
⭐ Added support for equality and inequality signs in Sass and SCSS.
⭐ Added support for /deep/ combinator.
⭐ Added support for !optional and !global in Sass and SCSS.
🍏 Fixed parsing of interpolations in Sass and SCSS.
🍏 Fixed parsing of arguments in Sass, SCSS and Less.
🍏 Fixed parsing of declaration delimiters in Sass.
🍏 Fixed the issue when pseudo-classes were parsed like declarations.
🍏 Fixed parsing of selectors on multiple lines in Sass.
🍏 Fixed parsing of percent sign as operator in SCSS.
🍏 Fixed parsing of pseudo-elements as selectors in Sass.

Misc

⭐ Added Babel to build source files.
⭐ Used mocha for tests.
⭐ Added helper scripts.
⭐ Added Travis config.
🚀 Improved tests structure.
🚀 Separated log and test scripts.
🚀 Improved error messages.
🚀 Removed benchmark tests.
🚀 Moved source files from lib to src directory.
🚀 Made package availbale for install from GitHub.

29.12.2013, version 2.0.2

  • Sass includes can have both arguments list and content block, i.e. @include nani() { color: tomato } is valid syntax.

18.11.2013, version 2.0.1

  • Bring back lost whitespaces and comments

11.11.2013, version 2.0.0

  • Support preprocessors: Sass (both SCSS and indented syntax), LESS.
  • New node types:
    • arguments (less and sass only)
    • commentML
    • commentSL (less and sass only)
    • condition (sass only)
    • default (sass only)
    • escapedString (less only)
    • include (less and sass only)
    • loop (sass only)
    • mixin (less and sass only)
    • parentselector (less and sass only)
    • placeholder (sass only)
    • propertyDelim
    • variable (less and sass only)
    • varialeList (less and sass only)
  • Rename methods:
    • srcToCSSP -> cssToAST
    • csspToSrc -> astToCSS
    • csspToTree -> astToTree
  • Pass all arguments as one object:
    • gonzales.cssToAST({css: a, syntax: b, rule: c, needInfo: d})
    • gonzales.astToCSS({ast: ast, syntax: syntax})
  • Remove built files from VCS
  • Move test command from make to npm
  • Build files before running tests
  • Divide tests into groups according to syntax
  • Add script to test one specific css string
  • Add token's index number to info object

11.02.2013, version 1.0.7

  • Identifiers like _0 are identifiers now.
  • Throw error instead of console.error: css/csso#109

25.11.2012, version 1.0.6

  • Typo fix (global variable leak): css/csso#110
  • Attribute selectors extended by |.
  • not(..) pseudo-class special support: css/csso#111

28.10.2012, version 1.0.5

11.10.2012, version 1.0.4

10.10.2012, version 1.0.3

08.10.2012, version 1.0.2

  • CSSO issue (filter + important breaks csso v1.3.1): css/csso#87

08.10.2012, version 1.0.1

  • CSSO issue ("filter" IE property breaks CSSO v1.3.0): css/csso#86

03.10.2012, version 1.0.0

  • First revision.