Releases: less/less.js
Releases · less/less.js
v4.2.0
- #3811 add support for container queries (@puckowski)
- #3761 fix faulty source map generation with variables in selectors, fixes #3567 (@pgoldberg)
- #3700 parsing variables fail when there is no trailing semicolon (@b-kelly)
- #3719 modify
this
pointer so that it is not empty. (@lumburr) - #3649 fixes #2991 empty
@media
queries generated when compiling less file with (reference) to bootstrap (@MoonCoral)
v4.1.3
- #3673 Feat: add support for case-insensitive attribute selectors (#3673) (@iChenLei)
- #3710 Feat: add
disablePluginRule
flag for render() options (#3710) (@broofa @edhgoose) - #3656 Fix #3655 for param tag is null (#3658) (@langren1353)
- #3658 Fix #3646 forcefully change unsupported input to strings (#3658) (@gzb1128)
- #3668 Fix change keyword plugin and import regexp (#3668) (@iChenLei)
- #3613 Fix #3591: refactor debugInfo from class to function (#3613) (@drdevlin)
- #3716 Fix https failures on macOS (#3716) (@joeyparrish)
v4.1.2
v4.1.1
v4.1.0
Mixin parentheses requirement removed
This was maybe too big a change without some kind of deprecation or conversion.
So for this version, this works again:
.mixin;
v4.0.0
This release has 2 breaking changes:
Parentheses required for mixin calls
This aligns it with syntax for calling detached rulesets.
Example
.mixin() {}
.mixin; // error in 4.0
Parens-division now the default math setting
Parentheses are required (by default) around division-like expressions, to force math evaluation.
Example:
@ratio_large: 16;
@ratio_small: 9;
/** The following will produce `device-aspect-ratio: 1.77777778` by default in 3.x */
@media all and (device-aspect-ratio: @ratio_large / @ratio_small) {
.body { max-width: 800px; }
}
Produces:
@media all and (device-aspect-ratio: 16 / 9) {
.body {
max-width: 800px;
}
}
You can, of course, get old math behavior. See: http://lesscss.org/usage/#less-options-math
What's New
- min() / max() functions can pass-through if it cannot be evaluated in Less
- isdefined() can be used to test if variables are defined (e.g.
isdefined(@unknown)
) - New rgb color syntax supported (e.g.
rgb(0 128 255 / 50%)
)
v2.7.2
2.5.1
2.5.0
- supports the scoped
@plugin
directive to load function plugins - All directives are bubbled (e.g. supports), not just media
- Performance improvements to the parser - should help non-chrome browsers with very large less files to be a lot quicker.
- the image size function respects include paths like other file functions
- colour functions take a relative argument that applies percentages relatively instead of absolutely
- include paths now allows : as a separator on windows (recognising and not splitting drive names by the backslash)
@import (css)
does not pull the directive above comments- Fix for import statements without quotes sometimes causing issues
- replace supports dimensions and colours
- the browser field is set in the package.json for use with browserify
- another fix to support paths being passed as a string instead of an array
- detached rulesets can be used as default arguments
- Fix a lot of false warnings about extends
- errors written to stderr more consistently
- consistently keep units if strict units is off
- Better support for comments in function all arguments
2.4.0
- Support for plugins that pre-process (to add libraries silently etc.)
- Empty sourcemaps now work
- Extract and Length functions now ignore comments in a list (more work to come to fix the general problem)
- fragment urls are treated absolute since they refer to the html document
- Extends on a selector joined with
&
now work better - Nested mixins work better with !important (regression in 2.3.0)
- The promise dependency is now actually optional (introduced in 2.0.0)
- Files with just
\r
newlines now process ok (regression in 2.0.0) - When strict units is off and the unit is 1/x, (e.g. 1 / 12px) the unit output is x, previously nothing (regression in 2.0.0)