Skip to content

Releases: glenn2223/vscode-live-sass-compiler

v5.5.1

11 Jul 16:20
84738b5
Compare
Choose a tag to compare

5.5.1 - 2022-07-11

Fixed

  • Can now create required output directories when using savePathReplacementPairs - Closes: #200

v5.5.0

09 Jul 22:23
f37ef74
Compare
Choose a tag to compare

5.5.0 - 2022-07-09

Added

  • liveSassCompile.settings.format[].savePathReplacementPairs - Closes #189
  • You can now apply savePath and then key replacement (savePathReplacementPairs) to get to your desired save location - Closes #184, #187,

Deprecated

  • The new method for replacing segments in the save path is savePathReplacementPairs
    • liveSassCompile.settings.format[].savePathSegmentKeys
    • liveSassCompile.settings.format[].savePathReplaceSegmentsWith
  • When SASS v2 is released these settings will be removed, adding deprecation warning now so it can be implemented sooner
    • liveSassCompile.settings.format[].linefeed
    • liveSassCompile.settings.format[].indentType
    • liveSassCompile.settings.format[].indentWidth

Fixed

  • Stopped output if not watching and working on a single SASS file
  • The status bar now only updates once when working on many files. This means that the result shows the overall outcome, rather than the status of the last file

Updated

  • sass from 1.51.10 to 1.53.0
    • Preserve location of trailing loud comments (/* ... */) instead of pushing the comment to the next line
    • Add support for calling var() with an empty second argument, such as var(--side, )
    • Fix a bug where meta.load-css() would sometimes resolve relative URLs incorrectly when called from a mixin using the legacy JS API
    • Other changes (nothing user facing)
  • Various dev dependency updates (nothing user facing)

v5.4.0

19 May 16:52
44f67b9
Compare
Choose a tag to compare

5.4.0 - 2022-05-19

Added

  • New liveSassCompile.settings.rootIsWorkspace setting
    • Treat a leading slash in imports as relative to the workspace, not the drive root
  • New liveSassCompile.settings.showAnnouncements setting
    • Toggle whether or not to show announcements when a new version is installed
  • Reference a node module with a leading tilde ~
    • Instead of trailing back to your node modules folder you can now reference one directly with ~myModule or ~/myModule

Changes

  • When running the liveSass.command.createIssue command, the issue title reflects whether a known error occurred or not
  • Details the under the bonnet workings - Closes #176
  • Simplified read me
  • Documented new settings
  • Added our open source commitment

Updated

  • autoprefixer from 10.4.4 to 10.4.7
    • Fixed print-color-adjust support
    • Other changes (nothing user facing)
  • postcss from 8.4.12 to 8.4.14
    • Other changes (nothing user facing)
  • sass from 1.49.10 to 1.51.0
    • @extend now treats :where() the same as :is()
    • Potentially breaking change: Change the order of maps returned by map.deep-merge() to match those returned by map.merge(). All keys that appeared in the first map will now be listed first in the same order they appeared in that map, followed by any new keys added from the second map.
    • Other changes (nothing user facing)
  • Various dev dependency updates (nothing user facing)

v5.3.1

31 Mar 11:21
908bd80
Compare
Choose a tag to compare

5.3.1 - 2022-03-31

Updated

  • autoprefixer from 10.4.2 to 10.4.4
    • Other changes (nothing user facing)
  • postcss from 8.4.5 to 8.4.12
    • Various changes (nothing user facing)
  • sass from 1.49.8 to 1.49.10
    • Quiet deps mode now silences compiler warnings in mixins and functions that are defined in dependencies even if they're invoked from application stylesheets.
    • In expanded mode, Sass will now emit colors using rgb(), rbga(), hsl(), and hsla() function notation if they were defined using the corresponding notation. As per our browser support policy, this change was only done once 95% of browsers were confirmed to support this output format, and so is not considered a breaking change.
      Note that this output format is intended for human readability and not for interoperability with other tools. As always, Sass targets the CSS specification, and any tool that consumes Sass's output should parse all colors that are supported by the CSS spec.
    • Fix a bug in which a color written using the four- or eight-digit hex format could be emitted as a hex color rather than a format with higher browser compatibility.
    • Calculations are no longer simplified within supports declarations
    • Various changes (nothing user facing)
  • Various dev dependency updates (nothing user facing)

Other

  • Tweaked the publish action to allow easier publishing

v5.3.0

13 Mar 00:27
6fbe56a
Compare
Choose a tag to compare

5.3.0 - 2022-03-13

Fixed

  • Stopped outputting a workspace warning when saving a none SASS file - Closes #160

Added

  • Made changes for easier migration from the original extension - Closes #159
    • Re-added showOutputWindow as a deprecated setting. Then when false is provided it only outputs at Warning and above
    • Allowed null in the autoprefixer setting. This works the same as providing false

Other

  • Document changes to reflect the changes made in this release
  • Showed correct message for disabling autoprefix setting (was null, supposed to be false)

v5.2.0

21 Feb 23:17
724fac8
Compare
Choose a tag to compare

5.2.0 - 2022-02-21

Added

  • @warn and @debug lines, as well as other SASS warnings, are now shown in the output window - Closes #89
  • You can now specify the files/folders to treat as partials using the new liveSassCompile.settings.partialsList setting - Closes #143

Changes

  • Updated docs to reflect new setting and also included previous changes in the FAQ
  • Further logging in a function at Trace level

Fixed

  • Stopped returning false negatives when checking if a file should trigger compilation thanks to a bump to fdir - Closes #145
  • Use actual saved file rather that finding active file (helps with Live Share compatibility) - Partial fix for #151
  • Workspace loop numbering outputs the correct figure
  • Update broken reference link in settings documentation - thanks @dawidmachon
  • Source maps would add duplicates, mostly with incorrect paths - Fixes #135
  • Extension checks are no longer case sensitive (i.e. .Sass will now match) - Fixes #137
  • Valid save paths in the liveSassCompile.settings.formats setting no longer throws a warning - Fixes #139
  • No longer outputs error if the css generated is an empty string - Fixes #140

Updated

  • autoprefixer from 10.3.7 to 10.4.2
    • Added :autofill support
    • Fixed ::file-selector-button data
    • Fixed missed -webkit- prefix for width: stretch
  • fdir from 5.1.0 to 5.2.0
    • Fixed a critical issue with async crawling that caused the crawler to return early
    • Other changes (nothing user facing)
  • picomatch from 2.3.0 to 2.3.1
    • Fixes bug when a pattern containing an expression after the closing parenthesis (/!(*.d).{ts,tsx}) was incorrectly converted to regexp
    • Other changes (nothing user facing)
  • postcss from 8.3.9 to 8.4.5
    • Various changes (nothing user facing)
  • sass from 1.37.5 to 1.49.8
    • Potentially breaking bug fix: Change the default value of the separator parameter for new SassArgumentList() to ',' rather than null. This matches the API specification.
    • Potentially breaking bug fix: Properly parse custom properties in @supports conditions. Note that this means that SassScript expressions on the right-hand side of custom property @supports queries now need to be interpolated, as per https://sass-lang.com/d/css-vars.
    • Potentially breaking bug fix: Fix a bug where inspect() was not properly printing nested, empty, bracketed lists.
    • In expanded mode, emit characters in Unicode private-use areas as escape sequences rather than literal characters.
    • Fix a bug where quotes would be omitted for an attribute selector whose value was a single backslash.
    • Properly consider numbers that begin with . as "plain CSS" for the purposes of parsing plain-CSS min() and max() functions.
    • Allow if to be used as an unquoted string.
    • Properly parse backslash escapes within url() expressions.
    • Fix a couple bugs where @extends could be marked as unsatisfied when multiple identical @extends extended selectors across @use rules.
    • Add a charset option that controls whether or not Sass emits a @charset/BOM for non-ASCII stylesheets.
    • min() and max() expressions are once again parsed as calculations as long as they contain only syntax that's allowed in calculation expressions. To avoid the backwards-compatibility issues that were present in 1.40.0, they now allow unitless numbers to be mixed with numbers with units just like the global min() and max() functions. Similarly, + and - operations within min() and max() functions allow unitless numbers to be mixed with numbers with units.
    • Fix a bug where Sass variables and function calls in calculations weren't being resolved correctly if there was a parenthesized interpolation elsewhere in the file.
    • Add support for the logger option. This takes an object that can define warn or debug methods to add custom handling for messages emitted by the Sass compiler. See the JS API docs for details.
      Please note: this will now print warnings for any divisions using /, please use the new math.div(100, 20) function or calc(100 / 20)
    • Improve the error message when the default namespace of a @use rule is not a valid identifier.
    • Improve performance
    • Fix a bug where calculations with different operators were incorrectly considered equal.
    • Properly parse attribute selectors with empty namespaces.
    • Various changes (nothing user facing)
  • Various dev dependency updates (nothing user facing)

v5.2.0-rc.1

25 Jan 22:49
Compare
Choose a tag to compare
v5.2.0-rc.1 Pre-release
Pre-release

5.2.0-rc.1 - 2022-01-25

Added

  • @warn and @debug lines, as well as other SASS warnings, are now shown in the output window - Closes #89
  • You can now specify the files/folders to treat as partials using the new liveSassCompile.settings.partialsList setting - Closes #143

Changes

  • Updated docs to reflect new setting and also included previous changes in the FAQ
  • Further logging in a function at Trace level

Fixed

  • Stopped returning false negatives when checking if a file should trigger compilation thanks to a bump to fdir - Closes #145
    • Awaiting confirmation of fix
  • Workspace loop numbering outputs the correct figure
  • Update broken reference link in settings documentation - thanks @dawidmachon
  • Source maps would add duplicates, mostly with incorrect paths - Fixes #135
  • Extension checks are no longer case sensitive (i.e. .Sass will now match) - Fixes #137
  • Valid save paths in the liveSassCompile.settings.formats setting no longer throws a warning - Fixes #139
  • No longer outputs error if the css generated is an empty string - Fixes #140

Updated

  • autoprefixer from 10.3.7 to 10.4.2
    • Added :autofill support
    • Fixed ::file-selector-button data
    • Fixed missed -webkit- prefix for width: stretch
  • fdir from 5.1.0 to 5.2.0
    • Fixed a critical issue with async crawling that caused the crawler to return early
    • Other changes (nothing user facing)
  • picomatch from 2.3.0 to 2.3.1
    • Fixes bug when a pattern containing an expression after the closing parenthesis (/!(*.d).{ts,tsx}) was incorrectly converted to regexp
    • Other changes (nothing user facing)
  • postcss from 8.3.9 to 8.4.5
    • Various changes (nothing user facing)
  • sass from 1.37.5 to 1.49.0
    • Potentially breaking bug fix: Change the default value of the separator parameter for new SassArgumentList() to ',' rather than null. This matches the API specification.
    • Potentially breaking bug fix: Properly parse custom properties in @supports conditions. Note that this means that SassScript expressions on the right-hand side of custom property @supports queries now need to be interpolated, as per https://sass-lang.com/d/css-vars.
    • Potentially breaking bug fix: Fix a bug where inspect() was not properly printing nested, empty, bracketed lists.
    • In expanded mode, emit characters in Unicode private-use areas as escape sequences rather than literal characters.
    • Fix a bug where quotes would be omitted for an attribute selector whose value was a single backslash.
    • Properly consider numbers that begin with . as "plain CSS" for the purposes of parsing plain-CSS min() and max() functions.
    • Allow if to be used as an unquoted string.
    • Properly parse backslash escapes within url() expressions.
    • Fix a couple bugs where @extends could be marked as unsatisfied when multiple identical @extends extended selectors across @use rules.
    • Add a charset option that controls whether or not Sass emits a @charset/BOM for non-ASCII stylesheets.
    • min() and max() expressions are once again parsed as calculations as long as they contain only syntax that's allowed in calculation expressions. To avoid the backwards-compatibility issues that were present in 1.40.0, they now allow unitless numbers to be mixed with numbers with units just like the global min() and max() functions. Similarly, + and - operations within min() and max() functions allow unitless numbers to be mixed with numbers with units.
    • Fix a bug where Sass variables and function calls in calculations weren't being resolved correctly if there was a parenthesized interpolation elsewhere in the file.
    • Add support for the logger option. This takes an object that can define warn or debug methods to add custom handling for messages emitted by the Sass compiler. See the JS API docs for details.
      Please note: this will now print warnings for any divisions using /, please use the new math.div(100, 20) function or calc(100 / 20)
    • Improve the error message when the default namespace of a @use rule is not a valid identifier.
    • Improve performance
    • Fix a bug where calculations with different operators were incorrectly considered equal.
    • Properly parse attribute selectors with empty namespaces.
    • Various changes (nothing user facing)
  • Various dev dependency updates (nothing user facing)

v5.1.1

11 Oct 21:48
5c31939
Compare
Choose a tag to compare

5.1.1 - 2021-10-11

Fixed

  • Implemented strict checks to reduce chances of unhandled errors - Closes #128

Updated

  • postcss from 8.3.6 to 8.3.9
    • Replaced colorette with picocolors
    • Other changes (nothing user facing)
  • autoprefixer from 10.3.1 to 10.3.7
    • Fixed ::file-selector-button support
    • Fixed stretch value in latest Firefox
    • Reduced package size
    • Replaced colorette with picocolors
    • Other changes (nothing user facing)
  • Various dev dependency updates (nothing user facing)

v5.1.0

06 Aug 21:11
0cd110c
Compare
Choose a tag to compare

5.1.0 - 2021-08-06

Fixed

  • The UI description for showOutputWindowOn was stating the default is Warning when, in fact, it is Information
  • File searching is no longer case sensitive - it is still accent sensitive
  • Stopped outputting Watching... twice when compilation happens on watching
  • A single file - that is a window without a workspace - would error and not compile
  • Change detected - {DateTime} is now output when showOutputOn is set to "Information". This better reflects the functionality of the original extension

Added

  • New settings to support all other SASS output formatting options - Closes #82
    The new settings are:
    • liveSassCompile.settings.formats.linefeed - control the line terminator used
    • liveSassCompile.settings.formats.indentType - control whether indents are spaces or tabs
    • liveSassCompile.settings.formats.indentWidth - control the width of the indentation
  • New commands to change the showOutputOn from the command pallete - Closes #63
    Having these commands in the pallete also means that key combos can be set for each
    The new commands are:
    • liveSass.command.showOutputOn.trace
    • liveSass.command.showOutputOn.debug
    • liveSass.command.showOutputOn.information
    • liveSass.command.showOutputOn.warning
    • liveSass.command.showOutputOn.error
    • liveSass.command.showOutputOn.none

Changes

  • Added more and adjusted some logging messages (primarily to Trace levels)
  • A lot of documentation tweaks
  • Some linting tweaks (nothing user facing)

Updated

  • sass from 1.32.12 to 1.37.5
    • Potentially breaking bug fix: Properly throw an error for Unicode ranges that have too many ?s after hexadecimal digits, such as U+12345??
    • Potentially breaking bug fix: Fixed a bug where certain local variable declarations nested within multiple @if statements would incorrectly override a global variable. It's unlikely that any real stylesheets were relying on this bug, but if so they can simply add !global to the variable declaration to preserve the old behaviour
    • Fix an edge case where @extend wouldn't affect a selector within a pseudo-selector such as :is() that itself extended other selectors
    • Fix a couple bugs that could prevent some members from being found in certain files that use a mix of imports and the module system.
    • Fix incorrect recommendation for migrating division expressions that reference namespace variables.
    • Potentially breaking bug fix: Null values in @use and @forward configurations no longer override the !default variable, matching the behaviour of the equivalent code using @import.
    • Use the proper parameter names in error messages about string.slice
    • Deprecate the use of / for division. The new math.div() function should be used instead. See this page for details.
    • Add a list.slash() function that returns a slash-separated list.
    • Potentially breaking bug fix: The heuristics around when potentially slash-separated numbers are converted to slash-free numbers—for example, when 1/2 will be printed as 0.5 rather than 1/2—have been slightly expanded. Previously, a number would be made slash-free if it was passed as an argument to a user-defined function, but not to a built-in function. Now it will be made slash-free in both cases. This is a behavioural change, but it's unlikely to affect any real-world stylesheets.
    • :is() now behaves identically to :matches().
    • Fix a bug where non-integer numbers that were very close to integer values would be incorrectly formatted in CSS.
    • Fix a bug where very small number and very large negative numbers would be incorrectly formatted in CSS.
    • Fix the URL for the @-moz-document deprecation message.
    • Fix a bug with @for loops nested inside property declarations.`
    • Fix a couple bugs that could prevent some members from being found in certain files that use a mix of imports and the module system.
    • Fix incorrect recommendation for migrating division expressions that reference namespace variables
    • Fix a bug where the quiet dependency flag didn't silence warnings in some stylesheets loaded using @import
    • Other changes (nothing user facing)
  • autoprefixer from 10.2.5 to 10.3.1
    • Added ::file-selector-button support
    • Fixed adding wrong prefixes to content
    • Fixed “no prefixes needed” warning
  • postcss from 8.2.14 to 8.3.6
    • Fixed column in missed semicolon error
    • Source map performance improvements
    • Fixed broken AST detection
    • Other changes (nothing user facing)
  • fdir from 5.0.0 to 5.1.0
    • Performance & memory usage has also been greatly improved due to the many internal refactoring
    • Other changes (nothing user facing)
  • picomatch from 2.2.3 to 2.3.0
    • Fixes bug where file names with two dots were not being matched consistently with negation extglobs containing a star
  • Various dev dependency updates (nothing user facing)

v5.1.0-rc.4

17 Jul 21:07
Compare
Choose a tag to compare
v5.1.0-rc.4 Pre-release
Pre-release

5.1.0-rc.4 - 2021-07-17

Fixed

  • liveSassCompile.settings.formats was not allowing different settings between workspace folders (#108)