grass/CHANGELOG.md
2020-07-04 14:38:12 -04:00

2.5 KiB

0.9.3

  • fix parsing bugs for empty bracketed lists
  • partially implement inverse units
  • remove all remaining todo!()s from binary and unary ops
  • parse keywords case sensitively
  • various optimizations that make bulma about 6x faster to compile

0.9.2

  • implement builtin functions min and max
  • bugfixes for @extend and selector-unify
  • allow @content to take arguments
  • bugfixes for @content, for example it will no longer infinitely recurse for chained mixins
  • better support queries in @media
  • bugfixes for @media
  • add support for splats, e.g. rgba([1, 2, 3, 4]...)
  • resolve a number of parsing bugs for @for, variable declarations, selectors, and maps
  • completely rewrite how styles are evaluated, allowing short circuiting of values like false and unit(foo) and if(true, foo, unit(foo)

0.9.1

This release is largely focused on @extend, but it also resolves some regressions resulting from the new parser.

  • implement @extend
  • properly document new API
  • MVP implementation of @supports
  • fix regression in which @at-root would panic when placed after a ruleset
  • fix regression related to @mixin and @function scoping when combined with outer, local variables
  • remove most remaining unwraps that could result in a panic

0.9.0

This release is focused on setting up the groundwork for implementing @extend as well as being able to compile Bootstrap.

  • implement all builtin selector functions
    • selector-append
    • selector-extend
    • selector-nest
    • selector-parse
    • selector-replace
    • selector-unify
    • simple-selectors
    • is-superselector
  • implement builtin function content-exists
  • allow @import, @warn, and @debug in all contexts, such as inside @mixin
  • refactor control flow evaluation, resolving some issues blocking Bootstrap

Breaking Changes

  • remove the StyleSheet struct in favor of freestanding functions, from_string and from_path

0.8.3

This release is largely focused on performance and robustness

  • implement smallint optimization for numbers, making some benchmarks 50% faster
  • remove bimap as a dependency for storing named colors in favor of an ad hoc, more specialized data structure
  • remove dozens of panics on malformed input
  • use beef::Cow instead of std::borrow::Cow
  • increase code coverage to 80%

0.8.2

This release contains significant (>10x) improvements for WASM speed. Performance is now comparable to libsass bindings with node-sass as well as dart-sass with dart2js. It is, however, roughly 4x slower than native grass.