Fixed:
- Less_Parser: Fix SetImportDirs() type hint to accept callable without string key (Timo Tijhof)
Added:
- Add support for CSS4
#RRGGBBAAcolors. (Hannah Okwelum) T403056 - Add support for native CSS color functions including with CSS variables. (Hannah Okwelum) T405815
Fixed:
- Fix "PHP Warning: Using null as the key parameter for array_key_exists" on PHP 8.5. (del72683) T410596
- Fix interpolation of string with number followed by underscore. (Timo Tijhof) Less.js #2462
- Fix "PHP Warning: Using null as an array offset" on PHP 8.5 in Less_Functions. (Hannah Okwelum) T411398
- Fix "PHP Warning: Using null as an array offset" on PHP 8.5 in Less_ImportVisitor. (Hannah Okwelum) T411400
- Fix "PHP Warning: ord(): Providing an empty string is deprecated" on PHP 8.5. (Hannah Okwelum) T411397
Added:
- Add support for Logical Functions
if()andboolean(). (Hannah Okwelum) T393383
Changed:
- Remove support for PHP 7.4 and 8.0. Raise requirement to PHP 8.1+. (James D. Forrester)
Fixed:
- Fix "PHP Warning: Undefined property $value" in
extract(). (Timo Tijhof) T391735
Added:
- Less_Parser: Add
cache_incrementaloption. Set this to false viaLess_Cacheto use the fast whole-output cache without the memory-intensive incremental cache. (Timo Tijhof)
Deprecated:
- Deprecate
Less_Cache::CheckCacheDir()as public method. This is called automatically. - Deprecate
Less_Cache::CleanCache()as public method. This is called automatically. - Deprecate
Less_Parser::SetCacheDir(). Set thecache_diroption, or useLess_Cache::SetCacheDir()instead.
Fixed:
- Fix ParseError on CSS variable when there is no trailing semicolon (Hannah Okwelum) T386077
- Support functions calls in CSS variable value after first comma (Hannah Okwelum) T386079
Fixed:
- Fix un-parenthesized nested operation via a variable (Hannah Okwelum) T386074
- Faster Less_Visitor_joinSelector by skipping Declaration blocks (ubermanu)
Added:
- Add support for BrianHenryIE/strauss codemod in Less_Visitor (Stefan Warnat)
Fixed:
- Fix "PHP Warning: Undefined array key currentUri" when using
@import (inline)(tck) T380641 - Fix "PHP Warning: Implicit conversion from float to int" on PHP 8.1 when using
hsv()(Peter Knut) - Less_Visitor: Faster class mapping in
visitObjby using inline cache (Thiemo Kreuz)
Fixed:
- Less_Functions: Fix "PHP Warning: Implicitly nullable parameter" on PHP 8.4 (Reedy) T376276
Fixed:
- Fix compiling of PHP-injected variables with false, null or empty string (Hannah Okwelum)
Added:
- Add support for property acessors (Piotr Miazga) T368408
- Increase parsing flexibility around at-rule blocks and custom properties (Piotr Miazga) T368408
- Add support for Namespaces and Accessors (Piotr Miazga) T368409
Fixed:
- Fix parse error when opacity is set to zero in
alpha()function (Hannah Okwelum) T371606
Added:
- Add support for Lessjs 3.5.0
calc()exception (Piotr Miazga) T367186 - Add support for CSS Grid syntax (Dringsim) T288498
- Add support for
\9escapes in CSS keyword (Dringsim) T288498 - Add Less_Parser "math" option, renamed from strictMath (Hannah Okwelum) T366445
Changed:
- Change Less_Parser "math" default from "always" to "parens-division" (Hannah Okwelum) T366445
- Change
Less_Version::less_versionto "3.13.3". This end compatibility support of Less.js 2.5.3. Less.php 5.0 and later will target Less.js 3.13.1 behaviour instead. (Piotr Miazga)
Removed:
- Remove
import_callbackLess_Parser option (Hannah Okwelum) - Remove backtick evaluation inside quoted strings (Bartosz Dziewoński)
- Remove
Less_Parser::AllParsedFiles()(Hannah Okwelum) - Remove Less_Parser->SetInput() public method, now private (Hannah Okwelum)
- Remove Less_Parser->CacheFile() public method, now private (Hannah Okwelum)
- Remove Less_Parser->UnsetInput() public method, now private (Hannah Okwelum)
- Remove Less_Parser->save() public method, now private (Hannah Okwelum)
Fixed:
- Update
Less_Version::versionand bumpLess_Version::cache_version(Timo Tijhof)
Added:
- Add
image-size()function, disable base64 for SVGdata-uri()(Hannah Okwelum) T353147 - Improve support for preserving
!importantvia variables (Piotr Miazga) T362341 - Add support for include path inside
data-uri()(Hannah Okwelum) T364871
Changed, to match Less.js 2.5.3:
- Fix multiplication of mixed units to preserve the first unit (Piotr Miazga) T362341
Fixed:
- Fix checking of guard conditions in nested mixins (Hannah Okwelum) T352867
- Less_Functions: Avoid clobbering
clamp()with internal helper (Timo Tijhof) T363728
Added:
- Support interpolated variable imports, via ImportVisitor (Hannah Okwelum) T353133
- Support rulesets as default values of a mixin parameter (Hannah Okwelum) T353143
- Support
...expand operator in mixin calls (Piotr Miazga) T352897 - Improve support for
@import (reference)matching Less.js 2.x (Hannah Okwelum) T362647
Changed:
- Improve
mix()argument exception message to mention given arg type (Timo Tijhof) - The
Less_Tree_Import->getPath()method now reflects the path as written in the source code, without auto-appended.lesssuffix, matching upstream Less.js 2.5.3 behaviour. This internal detail is exposed via the deprecatedimport_callbackparser option. It is recommended to migrate toLess_Parser->SetImportDirs, which doesn't expose internals, and is unaffected by this change.
Deprecated:
- Deprecate
import_callbackLess_Parser option. UseLess_Parser->SetImportDirswith callback instead. - Deprecate
Less_Parser->SetInput()as public method. UseLess_Parser->parseFile()instead. - Deprecate
Less_Parser->CacheFile()as public method. UseLess_CacheAPI instead. - Deprecate
Less_Parser::AllParsedFiles()as static method. UseLess_Parser->getParsedFiles()instead. - Deprecate
Less_Parser->UnsetInput()as public method, considered internal. - Deprecate
Less_Parser->save()as public method, considered internal.
Fixed:
- Fix
replace()when passed multiple replacements (Roan Kattouw) T358631 - Fix unexpected duplicating of uncalled mixin rules (Hannah Okwelum) T363076
- Fix ParseError for comments after rule name or in
@keyframes(Piotr Miazga) T353131 - Fix ParseError for comments in more places and preserve them (Piotr Miazga) T353132
- Fix ParseError effecting pseudo classes with
whenguards (Piotr Miazga) T353144 - Fix preservation of units in some cases (Timo Tijhof) T360065
- Less_Parser: Faster matching by inlining
matcher()chains (Timo Tijhof) - Less_Parser: Faster matching with
matchStr()method (Timo Tijhof)
Added:
- Add support for
/deep/selectors (Hannah Okwelum) T352862
Fixed:
- Fix ParseError in some division expressions (Hannah Okwelum) T358256
- Fix
when()matching between string and non-string (Timo Tijhof) T358159 - Preserve whitespace before
;or!in simple rules (Hannah Okwelum) T352911
Added:
- Add
isruleset()function (Hannah Okwelum) T354895 - Add source details to "Operation on an invalid type" error (Hannah Okwelum) T344197
- Add support for
method=relativeparameter in color functions (Hannah Okwelum) T354895 - Add support for comments in variables and function parameters (Hannah Okwelum) T354895
- Less_Parser: Add
functionsparser option API (Hannah Okwelum)
Changed, to match Less.js 2.5.3:
- Preserve original color keywords and shorthand hex (Hannah Okwelum) T352866
Fixed:
- Fix PHP Warning when using a dynamic variable name like
@@name(Hannah Okwelum) T352830 - Fix PHP Warning when
@extendpath contains non-quoted attribute (Gr8b) T349433 - Less_Parser: Faster
skipWhitespaceby using nativestrspn(Umherirrender) - Less_Parser: Fix Less_Tree_JavaScript references to consistently be in camel-case (Stefan Fröhlich)
- Fix
!importantin nested mixins (Hannah Okwelum) T353141 - Fix crash when using recursive mixins (Timo Tijhof) T352829
- Fix disappearing selectors in certain nested blocks (Hannah Okwelum) T352859
- Fix Less_Exception_Compiler when passing unquoted value to
color()(Hannah Okwelum) T353289 - Fix order of comments in
@font-faceblocks (Timo Tijhof) T356706 - Fix string comparison to ignore quote type (Timo Tijhof) T357160
- Fix string interpolation in selectors (Hannah Okwelum) T353142
- Less_Parser: Faster
MatchQuotedby using nativestrcspn. (Thiemo Kreuz) - Less_Parser: Faster
parseEntitiesQuotedby inliningMatchQuoted. (Thiemo Kreuz) - Less_Parser: Faster
parseUnicodeDescriptorandparseEntitiesJavascriptby first-char checks. (Thiemo Kreuz) - Less_Tree_Mixin_Call: Include mixin name in error message (Jeremy P)
- Fix mismatched casing in class names to fix autoloading on case-sensitive filesystems (Jeremy P)
- Add support for
@supportsblocks. (Anne Tomasevich) T332923 - Less_Parser: Returning a URI from
SetImportDirs()callbacks is now optional. (Timo Tijhof)
- Remove support for PHP 7.2 and 7.3. Raise requirement to PHP 7.4+.
- Remove support for
cache_method=phpandcache_method=var_export, only the faster and more securecache_method=serializeis now available. The built-in cache remains disabled by default. - Fix
url(#myid)to be treated as absolute URL. T331649 - Fix "Undefined property" PHP 8.1 warning when
calc()is used with CSSvar(). T331688 - Less_Parser: Improve performance by removing MatchFuncs and NewObj overhead. (Timo Tijhof)
- Tree_Ruleset: Fix support for nested parent selectors (Timo Tijhof) T204816
- Fix ParseError when interpolating variable after colon in selector (Timo Tijhof) T327163
- Functions: Fix "Undefined property" warning on bad minmax arg
- Tree_Call: Include previous exception when catching functions (Robert Frunzke)
- Fix "PHP Warning: Implicit conversion" on PHP 8.1 (Ayokunle Odusan)
- Fix "PHP Warning: Creation of dynamic property" on PHP 8.2 (Bas Couwenberg, Rajesh Kumar)
- Tree_Url: Add support for "Url" type to
Parser::getVariables()(ciroarcadio) #51 - Tree_Import: Add support for importing URLs without file extension (Timo Tijhof) #27
- Add PHP 8.0 support: Drop use of curly braces for sub-string eval (James D. Forrester)
- Make
Directive::__construct$rules arg optional (fix PHP 7.4 warning) (Sam Reed) - ProcessExtends: Improve performance by using a map for selectors and parents (Andrey Legayev)
- Raise PHP requirement from 7.1 to 7.2.9 (James Forrester)
- Relax PHP requirement down to 7.1, from 7.2.9 (Franz Liedke)
- Reflect recent breaking changes properly with the semantic versioning (James Forrester)
- Require PHP 7.2.9+, up from 5.3+ (James Forrester)
- release: Update Version.php with the current release ID (COBadger)
- Fix access array offset on value of type null (Michele Locati)
- Fix test suite on PHP 7.4 (Sergei Morozov)
- Another PHP 7.3 compatibility tweak
Library forked by Wikimedia, from oyejorge/less.php.
- Supports up to PHP 7.3
- No longer tested against PHP 5, though it's still remains allowed in
composer.jsonfor HHVM compatibility - Switched to semantic versioning, hence version numbers now use 3 digits
- Fix composer.json (PSR-4 was invalid)
- Fix
bin/lesscto have executable bit (regression from v1.7.0.10) - Add
Less_Parser::getVariablesmethod oyejorge #258
- Fix realpath issue on Windows
- Change Less_Tree_Call property back to public (protected since v1.7.0.2) oyejorge #324
- Less_Parser: Add
indentationoption - Add support for
optionalmodifier to@import - Fix $color in Exception messages
- Fix cache filename to take relative-url into account oyejorge #295
- urlArgs should be string no array()
- Fix missing on NameValue type oyejorge #269
- Remove space at beginning of Version.php
- Revert require() paths in test interface