Skip to content

Release 0.27.0

Compare
Choose a tag to compare
@kaj kaj released this 17 Jan 21:18
· 215 commits to main since this release

Released 2023-01-17.
See also https://rasmus.krats.se/2023/rsass027.en
Progress: 4604 of 6925 tests passed.

  • Changed repo structure to a monorepo (PR #164).
    • The commandline interface now lives in the separate crate rsass-cli.
    • The test updater also have a separate crate, but not intended for
      publication.
    • Tests are restructured to fail faster for simple things, while
      macos and windows testing is added to the github action (appveyor
      is removed).
  • Added macros (PR #163, #165).
    • The workspace now includes a rsass-macros crate that can be used to
      compile sass to css strings at compile time in rust crates.
  • Changed numeric handing (mainly conversions to/from f64) to match
    improvements in how dart-sass handles numerics. This is mainly done by
    removing some special cases as dart-sass and rust now agrees on more of
    those.
  • Added new variables $epsilon, $max-safe-integer, $min-safe-integer,
    $max-number, and $min-number in sass:math, matching recent dart-sass
    additions.
  • Added new split() function in sass:string module.
  • Changed the span type used in parsing to a local type that borrows a
    SourceFile instead of nom_locate dependency (PR #158).
  • Changed the type SourceFile to be reference counted, so cloned
    SourceFile objects share the same actual data (PR #158).
  • Moved the SourcePos type into the input module and converted it from
    keeping a copy of the relevant line to keeping a range with a (reference
    counted) SourceFile (PR #158).
  • Changed css creation from just writing to a text buffer to building
    a tree representation of the css (and serialize it to text as a
    final step) (PR #159).
  • Changed BinOp value in both sass and css from a tuple variant with
    boxed values to a single boxed struct variant.
  • Improved value checking; Report an error if trying to output invalid
    css values in some cases. Also, arithmetic involving colors that
    used to be calculated is now correctly invalid (PR #161).
  • Changed css::Item::AtRule to wrap the new type css::AtRule.
  • More varaints of Invalid, slightly fewer stringy errors.
  • Changed handling of hue arguments to color functions, to allow
    different angle units, matching updates in sass-spec.
  • Minor correctness improvent in the calc function handling.
  • Clippy now takes MSRV from Cargo.toml. Slightly more recent lints allowed.
  • Updated clap to 4.0 for the command-line interface.
  • Updated sass-spec test suite to 2023-01-06.

Thanks to @Wicpar for the initial macros implementation.