Releases: kaj/rsass
Release 0.13.0
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(..)
andmax(...)
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
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
- 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
- PR #56: The url function is special.
Handleurl(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 thecalc
,element
,env
,expression
,var
, andprogid:...
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
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
, andunquote
functions. - The
random
function ignores units. - An empty unquoted string behaves like null.
- Fix some issues with string offsets in
str_slice
andstr_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
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
- 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 asrgba
with four args. - Use alpha properly when mixing colors.
- Handle both
alpha
andopacity
css function fallback. - Implement the
grayscale
function. - Support three arguments to
rgba
function.
- Handle alpha percentetges in
- 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
andnth
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.
- Implement the
- 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 andrand
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
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
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
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).