NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2831 most downloaded on npm
Leaner CSS
Last release today
03 Oct 2026
Release timing varies
gaps range from 8 days to 3 months
Most releases are documented
notes for 53 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
16 years old
165 releases · first in 2011
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.14 --tag alphaOr:
npm install less@alphaThis Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
One column per quarter.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.13 --tag alphaOr:
npm install less@alphaThis Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.12 --tag alphaOr:
npm install less@alphaThis Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.11 --tag alphaOr:
npm install less@alphaThis Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.10 --tag alphaOr:
npm install less@alphaThis Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.9 --tag alphaOr:
npm install less@alphaThis Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.8 --tag alphaOr:
npm install less@alphaThis Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.7 --tag alphaOr:
npm install less@alphaThis Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.6 --tag alphaOr:
npm install less@alphaThis Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.5 --tag alphaOr:
npm install less@alphaThis Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.4 --tag alphaOr:
npm install less@alphaThis Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.3 --tag alphaOr:
npm install less@alphaThis Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.2 --tag alphaOr:
npm install less@alphaThis Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
This Less 5 alpha is a Jess-powered compiler rewrite for early testing, not a drop-in Less 4.x replacement yet.
Highlights:
See CHANGELOG.md for the current supported surface and work-in-progress areas.
npm install less@5.0.0-alpha.1 --tag alpha
Or:
npm install less@alpha
Changes See CHANGELOG.md for details. Installation npm install less@4.9.1
## Changes See CHANGELOG.md for details. ## Installation `bash npm install less@4.9.0 `
## Changes See CHANGELOG.md for details. ## Installation `bash npm install less@4.8.1 `
## Changes See CHANGELOG.md for details. ## Installation `bash npm install less@4.8.0 `
@charset interpolation for removal in Less 5.x. Less 4 preserves the existing output while warning; migrate names to valid identifiers and use a static quoted @charset declaration. (@matthew-dean)## Changes See CHANGELOG.md for details. ## Installation `bash npm install less@4.7.0 `
## Changes See CHANGELOG.md for details. ## Installation `bash npm install less@4.6.7 `
## Changes See CHANGELOG.md for details. ## Installation `bash npm install less@4.6.6 `
## Changes See CHANGELOG.md for details. ## Installation `bash npm install less@4.6.5 `
not keyword silently ignored when used without parentheses in conditions (@Copilot)#### Tests - #4422 Add coverage for :is()/:matches()/:where() containing nested :has() selectors and comma-separated lists (@Copilot)
:is()/:matches()/:where() containing nested :has() selectors and comma-separated lists (@Copilot)## Changes See CHANGELOG.md for details. ## Installation `bash npm install less@4.6.3 `
Nothing published for this version
#### Maintenance - #4418 Fix publish script to skip stale version markers in squash merges (@matthew-dean) - #4419 Remove .claude directory and add to
#### Bug Fixes - #4417 Fix CJS compatibility, enriched npm README, ESM tests (@matthew-dean)
## Changes See CHANGELOG.md for details. ## Installation `bash npm install less@4.6.0 `
this binding, atrule parenting, mixin-call error propagation, container/media functionRegistry guard (@matthew-dean)Internal test refactor (#4378).
- #4357 Migrate Less test data to use valid CSS (@matthew-dean) - #4363 Fix [#4362] no spacing regression for function (@puckowski)
- #4342 Add support for CSS scroll state container queries (@puckowski) - #4349 Fix #4348 parse layer nesting syntax (@puckowski)
- #4337 Add support for layer at-rule (@puckowski) - #4340 Add support for import at-rule layer functionality (@puckowski) - #4346 Fix #4343 add color
#4319 Add deprecation warnings to Less output during parsing and new quiet flag (@matthew-dean) #4320 Update README.md to remove Lerna reference (@mat
https://github.com/less/less.js/pull/4290 Fix https://github.com/less/less.js/issues/4268 nested pseudo-selector parsing (@puckowski) https://github.c
https://github.com/less/less.js/pull/4290 Fix https://github.com/less/less.js/issues/4268 nested pseudo-selector parsing (@puckowski) https://github.com/less/less.js/pull/4291 Enhance Less.js test environment setup (#4291) (@iChenLei) https://github.com/less/less.js/pull/4295 Fix https://github.com/less/less.js/issues/4252 container queries created via mixin evaluating variables incorrectly (@puckowski) https://github.com/less/less.js/pull/4294 Fix https://github.com/less/less.js/issues/3737 allow blank variable declarationd (@puckowski) https://github.com/less/less.js/pull/4292 Fix https://github.com/less/less.js/issues/4258 variable interpolation after math (@puckowski) https://github.com/less/less.js/pull/4293 Fix https://github.com/less/less.js/issues/4264 strip line comment from expression (@puckowski) https://github.com/less/less.js/pull/4302 Fix https://github.com/less/less.js/issues/4301 at-rule declarations missing (@puckowski) https://github.com/less/less.js/pull/4309 Fix Node 23 CI (#4309) (@iChenLei)
- #4235 Fix container style queries extra space resolved (@puckowski)
- #3811 add support for container queries (@puckowski) - #3761 fix faulty source map generation with variables in selectors, fixes #3567 (@pgoldberg)
this pointer so that it is not empty. (@lumburr)@media queries generated when compiling less file with (reference) to bootstrap (@MoonCoral)- #3673 Feat: add support for case-insensitive attribute selectors (#3673) (@iChenLei) - #3710 Feat: add disablePluginRule flag for render() options (
disablePluginRule flag for render() options (#3710) (@broofa @edhgoose)- #3602 Fix currentFileInfo and index properties on nodes (#3602) (@bjpbakker) - #3626 Fix #3616 IfStatement requires double parentheses when dividing
- #3597 Fix expected response when there's a socket error (#3597) (@zxfrank) - #3589 Fixes #3586 (#3589) (@matthew-dean)
This was maybe too big a change without some kind of deprecation or conversion. So for this version, this works again: ` .mixin; `
This was maybe too big a change without some kind of deprecation or conversion. So for this version, this works again:
.mixin;
Nothing published for this version
Nothing published for this version
This release has 2 breaking changes:
This release has 2 breaking changes:
This aligns it with syntax for calling detached rulesets.
Example
.mixin() {}
.mixin; // error in 4.0
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
isdefined(@unknown))rgb(0 128 255 / 50%))- #3575 Fixes #3574 (#3575) (@matthew-dean)
Nothing published for this version
Nothing published for this version
- #3572 Fixes #3434 - memory / runtime improvements (#3572) (@matthew-dean) - #3550 Examples contain more valid CSS, to test with a new parser (#3550)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
- #3545 Release 3.12.2 (#3545) (@matthew-dean)
- #3544 Fixes #3533 (#3544) (@matthew-dean) - #3543 Fixes #3541 (#3543) (@matthew-dean)
Nothing published for this version
Nothing published for this version
- #3540 v3.12.0-RC.2 (#3540) (@matthew-dean) - #3532 Fixes #3371 Allow conditional evaluation of function args (#3532) (@matthew-dean) - #3531 Remove
- #3509 Fixes #3508 (#3509) (@matthew-dean)
- #3498 Remove tree caching in import manager (#3498) (@matthew-dean) - #3482 issue#3481 ignore missing debugInfo (#3482) (@5UtJAjiRWj1q) - #3494 Addi
- #3475 Fixes #3469 - Include tslib dependency (#3475) (@matthew-dean)
- #3468 3.11.0 (#3468) (@matthew-dean) - #3453 Import file with dots in file name (#3453) (@life777) - #3460 - Fixed replacer when visitor returns arr
Your coding agent can read these notes before it upgrades. Set up the MCP server →