# 2.6.0 2016-01-29 - Underscore now allowed in dimension unit - Fixes for import by reference - Fix for #2384 Changes HTTPRequest "sync" setting to simply hide the page until less has rendered, browser version is now orders of magnitude faster. - Added ability to cache stylesheets while using modifyVars - Error when when image-size functions are used in browser-less - Fixed extend leaking through nested parent selector. #2586 - Added "or" keyword and allowed arbitrary logical expression in guards - Fixing #2124 - Parsing Error "Unrecognised input" for color operations - Logical operator ```and``` now has higher precedence than logical operator ```or```. - Allow unknown at-rules w/o {} block # 2.5.3 2015-09-25 - Fix import inline a URL # 2.5.2 2015-09-24 - No output should result in an empty sourcemap - Import inline located inside file imported by reference should not be present in output - Shorthand colors will stay shorthand - Make percentage work like other math functions and throw an error on NaN - Fixed mixin definition matching problem when mixin definition contains parameters with default values - Observe reference for imported comments # 2.5.1 2015-05-21 - Fix problems with less being async in some browsers - Minor fix only likely to affect programmatic usage of ruleset find - Fix error when a namespaced mixin is invoked in global scope # 2.5.0 2015-04-03 - 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 2015-02-07 - 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) # 2.3.1 2015-01-28 - Fix depends option (regression in 2.3.0) - Support parent selector (`&`) used in sub element expression (e.g. `:not(.c_&)`) # 2.3.0 2015-01-27 - add `isruleset` function - add optional import option, causing less to not fail if file not found - Fix browsers-side cache. - Many fixes to import reference - support `@support` and keyframe - Selectors now interpolate pseudo selectors (e.g. `:@{hover}`) - Fix comments missed off if they were at the end of the file - Fix !important used with parametric mixins - Emits warnings for extends when the target is not found - include-path now works on data-uri - variables and function calls work for path in data-uri - Fix absolute paths not working on imports sometimes. - Unicode BOM removed again - Misc. bug fixes # 2.2.0 2015-01-04 - do not apply relative paths to svg-gradient and data-uri functions data-uri output - using import filename interpolation and import inline together now works - deprecate the compression option (still works, but outputs a warning unless silent) - The node version of less now has image-size, image-width, image-height which return the image dimensions of a file - Fixed an issue that could cause the parse to occur more than once and the callback be called multiple times - if you are outputting to the console, lessc defaults to silent so warnings do not end up in output - `isunit` function supports `''` to test if a dimension has no unit - data-uri function now counts characters after base64 encoding instead of bytes before encoding to determine ie8 support - fix bug effecting guards on pseudo class selectors - do not cache on the browser when used with modifyVars - detection if less does not parse last character in file - detection of whether a file is css now requires `/css`, `.css`, `?css`, `&css` instead of just `css`. You can still tell less the type of file using import options. - remove extra new line added to sourcemap entry inline file - support safari extension - less.parse now exposes a way to get the AST. We do not recommend you use this unless you need to. # 2.1.2 2014-12-20 - Fix for use with requirejs - Fixes for data-uri function # 2.1.1 2014-11-27 - Improved keyword and anonymous usage with the replace function - Added `getCSSAppendage` to sourcemap builder to avoid duplication in plugins - Fix problem with plugins when used with the promises version of render - If the render callback throws an exception it now propogates instead of calling the callback again with an error # 2.1.0 2014-11-23 - Fixed `isSync` option, it was using sync file operations but promises are guaranteed to call back async. We now support promises as a feature rather than the 1st class way of doing things. - Browser code is now synchronous again, like in v1, meaning it blocks the site until less is compiled - Some fixes for variable imports which affected filemanagers when synchronous - Fixed lessc makefile dependencies option - output now reports back a imports field with an array of imported files - relative path test for drive names (so windows only) is now case insensitive - Fix for IE7 - use getChar instead of indexing array - variables using !important now output !important, which bubbles up to affect the rule - livereload cache buster is now treated specially - upgrade dependencies # 2.0.0 2014-11-09 - Fixed multiplication in non strict units mode to take the left operand unit, in the case that the unit cannot be resolved - Some fixes for browser cross-compatibility - browser tests now pass in IE 8-11 and FF - added index.js and browser.js in root as shortcuts - fixed some local variable spellings - support for `@counter-style` directive # 2.0.0-b3 2014-11-01 - some refactoring of browser structure to allow use of api vs normal browser bundle - browser bundle no longer leaks require - browser can now be scoped with just window - browser `useFileCache` defaults to `true`, but file cache is now cleared when refreshing or in watch mode # 2.0.0-b2 2014-10-26 - Imports are now sequenced and so are consistent (previously some complex projects might end up with occasional different orderings) - Imports with variables are better supported - variables can be specified in sub imports - Support for rebeccapurple - Browser can now accept options as attributes on the script tag and the link tags e.g. `