Skip to content

Releases: kaj/rsass

Release 0.13.0

19 Apr 14:41
@kaj kaj
Compare
Choose a tag to compare

Progress: 1634 of 3502 tests passed in libsass compatiblilty mode.

  • output::Format wraps an output::Style and a precision. The global precision setting is removed.
  • Value and other structs no longer implents Display, instead the provid a format method, that takes an output format and provides a Display implementation.
  • The compile_value rust function now takes a format argument.
  • Issue #42 (partial): The min(..) and max(...) functions are handled as plain css functions when valid, while still handling them as sass functions when nessecary.
  • PR #69, fixing #68: Avoid exponential complexity on parenthesis.
  • Allow comments in @function bodies.
  • PR #67 from @connorskees: Refactor and fix printing of numbers
  • When defining multiple variables, having more names than values is allowed. The extra names get null values.
  • Convert som panics / unwraps to properly handled errors.
  • There was massive restructuring in the test suite, so almost all tests moved around. I moved remaining tests to build a single test program for the suite rather than several for different directories in the suite (this also means more tests are included in the conversion).
  • Fix check_spec stats calculation.

Thanks to @connorskees for code contributions and bug reports.

Tested with rustc 1.42.0 (b8cedc004 2020-03-09), 1.40.0 (73528e339 2019-12-16), 1.38.0 (625451e37 2019-09-23), 1.36.0 (a53f9df32 2019-07-03), 1.43.0-beta.6 (062dea094 2020-04-18), and 1.44.0-nightly (52fa23add 2020-04-18).

Release 0.12.2

23 Feb 12:22
@kaj kaj
Compare
Choose a tag to compare

Progress: 3583 of 5101 tests passed in libsass compatibility mode. (The progress here was accidentally miscalculated, including libsass skips in the number of passed tests).

  • Fix #63 and #64: Handle DOS-style newlines
  • Use structopt rather than raw clap for the CLI.
  • Sass function str_slice require integer indexes.
  • Some cleanup, some of it suggested by clippy.
  • Removed link to no-longer working graphical progress bar in docs.

Thanks to @connorskees for bug reports.

Tested with rustc 1.41.0 (5e1a79984 2020-01-27), 1.40.0 (73528e339 2019-12-16), 1.38.0 (625451e37 2019-09-23), 1.36.0 (a53f9df32 2019-07-03), 1.42.0-beta.3 (86f329b41 2020-02-07), and 1.43.0-nightly (436494b8f 2020-02-22).

Release 0.12.0

25 Dec 10:50
@kaj kaj
Compare
Choose a tag to compare
  • Issue #54: Add a LICENSE file.
  • PR #57: Allow channel string in rgba()
  • Issue #58: Let ructe::Error implement std::error::Error.
  • Issue #59: Improve @import and media rules.
  • Implement @error and @warn directives.
  • Improve string unquoting, including multi-position numerical escapes.
  • Improve at-rule parsing.
  • Fix strange operator handling.
  • Implement modulo operator.
  • Fix line breaks in comments.
  • Handle bad argument to random() function.
  • Update test suite to e9e219bdf (2019-12-19).
  • Some refactorig and clean-up.

Thanks to @emielbeinema, @maxbrunsfeld, and @Boiethios for contributed code and suggestios.

Tested with rustc 1.40.0 (73528e339 2019-12-16), 1.38.0 (625451e37 2019-09-23), 1.36.0 (a53f9df32 2019-07-03), 1.34.2 (6c2484dc3 2019-05-13), 1.41.0-beta.1 (eb3f7c2d3 2019-12-17), and 1.42.0-nightly (a9c1c04e9 2019-12-24).

Release 0.11.2

25 Dec 10:49
@kaj kaj
Compare
Choose a tag to compare
  • PR #56: The url function is special.
    Handle url(foo) as simply a string if possible. Sometimes, such as `url("foo" + $bar), it must be a function returning a string instead. Partially adresses #42. Fixes #41.
  • PR #55: Implement raw css functions.
    Handles the calc, element, env, expression, var, and progid:... special functions. Partially adresses #42. Fixes #53.
  • Issue #50: Make tests more readable.
  • Improve error handling in selector fns.
    Avoid a panic in some error conditions.
  • Update test suite (to fcd6bd6c0, 2019-09-24).
  • Update bytecount to 0.6.0.
  • Some internal refactoring.

Thanks to @glebm and @nic-harley for reports and suggestions.

Release 0.11.0

16 Jul 21:33
@kaj kaj
Compare
Choose a tag to compare

Sass-spec reports 1507 of 2865 tests passed in libsass compatibility mode.

  • Update nom to version 5.0.
  • A string can start with a # without being a color.
  • Correct parameter name for unit, unitless, quote, and unquote functions.
  • The random function ignores units.
  • An empty unquoted string behaves like null.
  • Fix some issues with string offsets in str_slice and str_insert.
  • The quote function can use single quotes when needed.
  • Return an error rather than panicing on some invalid scss.
  • Some test updates and fixes in spectest.

Tested with rustc 1.36.0 (a53f9df32 2019-07-03), 1.34.2 (6c2484dc3 2019-05-13), 1.32.0 (9fda7c223 2019-01-16), 1.37.0-beta.3 (2ba6de7e2 2019-07-12), and 1.38.0-nightly (4b65a86eb 2019-07-15).

Release 0.10.2

06 Jul 23:25
@kaj kaj
Compare
Choose a tag to compare

Sass-spec reports 1472 of 2802 tests passed in libsass compatibility mode.

  • Update progress number in readme and documentation, since I forgot in 0.10.0.

Release 0.10.0

06 Jul 23:11
@kaj kaj
Compare
Choose a tag to compare
  • PR #51: Impove string parsing/escaping.
  • Issue #46, PR #47: Report file position of parse errors, and improve the parser to have errors reported in a more specific position.
  • Improve error handling in functions, calling a function can yield an error. Partially solves #41: The unsupported call will now yield an error rather than hang rsass.
  • Command-line changes:
    • Support -I argument for include path.
    • Use lower-case -v for version (expected by the test runner).
  • Some color function improvements:
    • Handle alpha percentetges in rgba.
    • The rgb function can be used as rgba with four args.
    • Use alpha properly when mixing colors.
    • Handle both alpha and opacity css function fallback.
    • Implement the grayscale function.
    • Support three arguments to rgba function.
  • Some list function improvements:
    • inspect shows parens for empty list, and spells out "null" for a null value.
    • Join gets better at selecting wether result should be comma or space separated.
    • The length function treats a null as an empty list.
    • Handle singleton in index and nth functions.
  • More function improvements:
    • Implement the unique_id function.
    • Check that indexes are sane in str_slice function.
    • Skip null args even if not last when evaluating a function to a function call.
    • Implement equality check for builtin functions.
  • Error, not panic, on unknown mixin.
  • Allow modifiers on attribute selectors.
  • Color names are caseless.
  • Improve handling of url imports.
  • Update deunicode to 1.0 and rand to 0.7.0.
  • Allow interpolation in namespacerule.
  • Allow ";" after body block.
  • Lots of test suite updates, including support for .hrx tests in spectest. Target libsass compatibility in testing.

I don't really know if I should target libsass or dart-sass compatibility, but libsass seems to be closer to my current implementation, so target that at least for now.

Thanks to @maxbrunsfeld and @glebm for code and suggestions.

Tested with rustc 1.36.0 (a53f9df32 2019-07-03), 1.34.2 (6c2484dc3 2019-05-13), 1.32.0 (9fda7c223 2019-01-16), 1.37.0-beta.1 (178aa6611 2019-07-04), and 1.38.0-nightly (481068a70 2019-07-05).

Release 0.9.8

10 Feb 18:33
@kaj kaj
Compare
Choose a tag to compare

Sass-spec reports 1645 of 3440 tests for sass 3.6 passed.

  • Improve support for transparent.
  • PR #45 from @glebm: Automatically update passing / failing tests
    Hardkoded skiplists in spectest.rs is cleared apart for tests where rsass panics.
  • Issue 43: Normalize newlines in tests.
  • PR #44 from @glebm: Update to Rust 2018 Edition, Rust v1.31.0+
  • Issue #39, PR #40 from @glebm: Parser CallArgs: Allow trailing spacelike sans ","
  • Issue #32: Make the selectors module pub.
  • Issue #34, PR #35 from @glebm: Accessing an undefined variable is an error.
  • Allow input starting with UTF-8 U+FEFF BOM.
  • Target sass spec version 3.6.

Thanks to contributors @glebm, @maxbrunsfeld and @sunjay for code and suggestions.

Tested with rustc 1.32.0 (9fda7c223 2019-01-16), 1.31.0 (abe02cefd 2018-12-04), 1.33.0-beta.6 (b203178b6 2019-02-05), and 1.34.0-nightly (3315728c0 2019-02-09).

Release 0.9.6

09 Jan 21:43
@kaj kaj
Compare
Choose a tag to compare

A default run of sass-spec found 1680 of 3635 tests passing.

  • Issues #26, #30; PR #29 from @tw1t611; Add fr unit.
  • Refactor and document the Number type used inside value types.
  • Allow trailing comma in sass function definitions.
  • The sass length function now correctly returns one for single (non-list) values.
  • Fix a bug in color function parameter handling.
  • Add libsass and parser to auto-testing setup.
  • Update rand to 0.6.1.

Tested with 1.31.1 (b6c32da9b 2018-12-18), 1.30.1 (1433507eb 2018-11-07), 1.29.0 (aa3ca1994 2018-09-11), 1.28.0 (9634041f0 2018-07-30), 1.27.2 (58cc626de 2018-07-18), 1.26.2 (594fb253c 2018-06-01), 1.32.0-beta.12 (2bde39b8e 2019-01-05), and 1.33.0-nightly (d22fa2d87 2019-01-08)

Release 0.9.4

23 Sep 21:46
@kaj kaj
Compare
Choose a tag to compare

A default run of sass-spec found 1672 of 3483 tests passing.

  • Allow unicode variable names.
  • Implement the precision argument.
  • Implement hex colors with alpha.
  • More flexible call_args; allow whitespace before separating commas,
    and allow a comma trailing the last argument.
  • Test infrastructure: a program spectest now converts selected tests from
    sass-spec to integration tests, to facilitate keeping tests up-to-date.

Tested with rust 1.29.0 (aa3ca1994 2018-09-11), 1.28.0 (9634041f0 2018-07-30), 1.27.2 (58cc626de 2018-07-18), 1.26.2 (594fb253c 2018-06-01), 1.25.0 (84203cac6 2018-03-25), 1.30.0-beta.7 (0ebb25088 2018-09-22), and 1.30.0-nightly (4591a245c 2018-09-22).