Skip to content

Latest commit

 

History

History
299 lines (241 loc) · 13.9 KB

CHANGELOG.md

File metadata and controls

299 lines (241 loc) · 13.9 KB

1.7.0

2014-02-27

  • Add support for rulesets in variables and passed to mixins to allow wrapping
  • Change luma to follow the w3c spec, luma is available as luminance. Contrast still uses luma so you may see differences if your threshold % is close to the existing calculated luma.
  • Upgraded clean css which means the --selectors-merge-mode is now renamed --compatibility
  • Add support for using variables with @keyframes, @namespace, @charset
  • Support property merging with +_ when spaces are needed and keep + for comma separated
  • Imports now always import once consistently - a race condition meant previously certain configurations would lead to a different ordering of files
  • Fix support for .mixin(@args...) when called with no args (e.g. .mixin();)
  • Do unit conversions with min and max functions. Don't pass through if not understood, throw an error
  • Allow % to be passed on its own to the unit function e.g. unit(10, %)
  • Fix a bug when comparing a unit value to a non-unit value if the unit-value was the multiple of another unit (e.g. cm, mm, deg etc.)
  • Fix mixins with media queries in import reference files not being put into the output (they now output, they used to incorrectly not)
  • Fix lint mode - now reports all errors
  • Fixed a small scope issue with & {} selector rulesets incorrectly making mixins visible - regression from 1.6.2
  • Browser - added log level "debug" at 3 to get less logging, The default has changed so unless you set the value to the default you won't see a difference
  • Browser - logLevel takes effect regardless of the environment (production/dev)
  • Browser - added postProcessor option, a function called to post-process the css before adding to the page
  • Browser - use the right request for file access in IE

1.6.3

2014-02-08

  • Fix issue with calling toCSS twice not working in some situations (like with bootstrap 2)

1.6.2

2014-02-02

  • The Rhino release is fixed!
  • ability to use uppercase colours
  • Fix a nasty bug causing syntax errors when selector interpolation is preceded by a long comment (and some other cases)
  • Fix a major bug with the variable scope in guards on selectors (e.g. not mixins)
  • Fold in & when () { to the current selector rather than duplicating it
  • fix another issue with array prototypes
  • add a url-args option which adds a value to all urls (for cache busting)
  • Round numbers to 8 decimal places - thereby stopping javascript precision errors
  • some improvements to the default() function in more complex scenarios
  • improved missing '{' and '(' detection

1.6.1

2014-01-12

  • support ^ and ^^ shadow dom selectors
  • fix sourcemap selector (used to report end of the element or selector) and directive position (previously not supported)
  • fix parsing empty less files
  • error on (currently) ambiguous guards on multiple css selectors
  • older environments - protect against typeof regex returning function
  • Do not use default keyword
  • use innerHTML in tests, not innerText
  • protect for-in in case Array and Object prototypes have custom fields

1.6.0

2014-01-01

  • Properties can be interpolated, e.g. @{prefix}-property: value;
  • a default function has been added only valid in mixin definitions to determine if no other mixins have been matched
  • Added a plugins option that allows specifying an array of visitors run on the less AST
  • Performance improvements that may result in approx 20-40% speed up
  • Javascript evaluations returning numbers can now be used in calculations/functions
  • fixed issue when adding colours, taking the alpha over 1 and breaking when used in colour functions
  • when adding together 2 colours with non zero alpha, the alpha will now be combined rather than added
  • the advanced colour functions no longer ignore transparency, they blend that too
  • Added --clean-option and cleancssOptions to allow passing in clean css options
  • rgba declarations are now always clamped e.g. rgba(-1,258,258, -1) becomes rgba(0, 255, 255, 0)
  • Fix possible issue with import reference not bringing in styles (may not be a bugfix, just a code tidy)
  • Fix some issues with urls() being prefixed twice and unquoted urls in mixins being processed each time they are called
  • Fixed error messages for undefined variables in javascript evaluation
  • Fixed line/column numbers from math errors

1.5.1

2013-11-17

  • Added source-map-URL option
  • Fixed a bug which meant the minimised 1.5.0 browser version was not wrapped, meaning it interfered with require js
  • Fixed a bug where the browser version assume port was specified
  • Added the ability to specify variables on the command line
  • Upgraded clean-css and fixed it from trying to import
  • correct a bug meaning imports weren't synchronous (syncImport option available for full synchronous behaviour)
  • better mixin matching behaviour with calling multiple classes e.g. .a.b.c;

1.5.0

2013-10-21

  • sourcemap support
  • support for import inline option to include css that you do NOT want less to parse e.g. @import (inline) "file.css";
  • better support for modifyVars (refresh styles with new variables, using a file cache), is now more resiliant
  • support for import reference option to reference external css, but not output it. Any mixin calls or extend's will be output.
  • support for guards on selectors (currently only if you have a single selector)
  • allow property merging through the +: syntax
  • Added min/max functions
  • Added length function and improved extract to work with comma seperated values
  • when using import multiple, sub imports are imported multiple times into final output
  • fix bad spaces between namespace operators
  • do not compress comment if it begins with an exclamation mark
  • Fix the saturate function to pass through when using the CSS syntax
  • Added svg-gradient function
  • Added no-js option to lessc (in browser, use javascriptEnabled: false) which disallows JavaScript in less files
  • switched from the little supported and buggy cssmin (previously ycssmin) to clean-css
  • support transparent as a color, but not convert between rgba(0, 0, 0, 0) and transparent
  • remove sys.puts calls to stop deprecation warnings in future node.js releases
  • Browser: added logLevel option to control logging (2 = everything, 1 = errors only, 0 = no logging)
  • Browser: added errorReporting option which can be "html" (default) or "console" or a function
  • Now uses grunt for building and testing
  • A few bug fixes for media queries, extends, scoping, compression and import once.

1.4.2

2013-07-20

  • if you don't pass a strict maths option, font size/line height options are output correctly again
  • npmignore now include .gitattributes
  • property names may include capital letters
  • various windows path fixes (capital letters, multiple // in a path)

1.4.1

2013-07-05

  • fix syncImports and yui-compress option, as they were being ignored
  • fixed several global variable leaks
  • handle getting null or undefined passed as the options object

1.4.0

2013-06-05

  • fix passing of strict maths option

1.4.0 Beta 4

2013-05-04

  • change strictMaths to strictMath. Enable this with --strict-math=on in lessc and strictMath:true in JavaScript.
  • change lessc option for strict units to --strict-units=off

1.4.0 Beta 3

2013-04-30

  • strictUnits now defaults to false and the true case now gives more useful but less correct results, e.g. 2px/1px = 2px
  • Process ./ when having relative paths
  • add isunit function for mixin guards and non basic units
  • extends recognise attributes
  • exception errors extend the JavaScript Error
  • remove es-5-shim as standard from the browser
  • Fix path issues with windows/linux local paths

1.4.0 Beta 1 & 2

2013-03-07

  • support for :extend() in selectors (e.g. input:extend(.button) {}) and &:extend(); in ruleset (e.g. input { &:extend(.button all); })
  • maths is now only done inside brackets. This means font: statements, media queries and the calc function can use a simpler format without being escaped. Disable this with --strict-maths-off in lessc and strictMaths:false in JavaScript.
  • units are calculated, e.g. 200cm+1m = 3m, 3px/1px = 3. If you use units inconsistently you will get an error. Suppress this error with --strict-units-off in lessc or strictUnits:false in JavaScript
  • (~"@var") selector interpolation is removed. Use @{var} in selectors to have variable selectors
  • default behaviour of import is to import each file once. @import-once has been removed.
  • You can specify options on imports to force it to behave as css or less @import (less) "file.css" will process the file as less
  • variables in mixins no longer 'leak' into their calling scope
  • added data-uri function which will inline an image into the output css. If ieCompat option is true and file is too large, it will fallback to a url()
  • significant bug fixes to our debug options
  • other parameters can be used as defaults in mixins e.g. .a(@a, @b:@a)
  • an error is shown if properties are used outside of a ruleset
  • added extract function which picks a value out of a list, e.g. extract(12 13 14, 3) => 14
  • added luma, hsvhue, hsvsaturation, hsvvalue functions
  • added pow, pi, mod, tan, sin, cos, atan, asin, acos and sqrt math functions
  • added convert function, e.g. convert(1rad, deg) => value in degrees
  • lessc makes output directories if they don't exist
  • lessc @import supports https and 301's
  • lessc "-depends" option for lessc writes out the list of import files used in makefile format
  • lessc "-lint" option just reports errors
  • support for namespaces in attributes and selector interpolation in attributes
  • other bug fixes

1.3.3

2012-12-30

  • Fix critical bug with mixin call if using multiple brackets
  • when using the filter contrast function, the function is passed through if the first argument is not a color

1.3.2

2012-12-28

  • browser and server url re-writing is now aligned to not re-write (previous lessc behaviour)
  • url-rewriting can be made to re-write to be relative to the entry file using the relative-urls option (less.relativeUrls option)
  • rootpath option can be used to add a base path to every url
  • Support mixin argument seperator of ';' so you can pass comma seperated values. e.g. .mixin(23px, 12px;);
  • Fix lots of problems with named arguments in corner cases, not behaving as expected
  • hsv, hsva, unit functions
  • fixed lots more bad error messages
  • fix @import-once to use the full path, not the relative one for determining if an import has been imported already
  • support :not(:nth-child(3))
  • mixin guards take units into account
  • support unicode descriptors (U+00A1-00A9)
  • support calling mixins with a stack when using & (broken in 1.3.1)
  • support @namespace and namespace combinators
  • when using % with colour functions, take into account a colour is out of 256
  • when doing maths with a % do not divide by 100 and keep the unit
  • allow url to contain % (e.g. %20 for a space)
  • if a mixin guard stops execution a default mixin is not required
  • units are output in strings (use the unit function if you need to get the value without unit)
  • do not infinite recurse when mixins call mixins of the same name
  • fix issue on important on mixin calls
  • fix issue with multiple comments being confused
  • tolerate multiple semi-colons on rules
  • ignore subsequant @charset
  • syncImport option for node.js to read files syncronously
  • write the output directory if it is missing
  • change dependency on cssmin to ycssmin
  • lessc can load files over http
  • allow calling less.watch() in non dev mode
  • don't cache in dev mode
  • less files cope with query parameters better
  • sass debug statements are now chrome compatible
  • modifyVars function added to re-render with different root variables

1.3.1

2012-10-18

  • Support for comment and @media debugging statements
  • bug fix for async access in chrome extensions
  • new functions tint, shade, multiply, screen, overlay, hardlight, difference, exclusion, average, negation, softlight, red, green, blue, contrast
  • allow escaped characters in attributes
  • in selectors support @{a} directly, e.g. .a.@{a} { color: black; }
  • add fraction parameter to round function
  • much better support for & selector
  • preserve order of link statements client side
  • lessc has better help
  • rhino version fixed
  • fix bugs in clientside error handling
  • support dpi, vmin, vm, dppx, dpcm units
  • Fix ratios in media statements
  • in mixin guards allow comparing colors and strings
  • support for -*-keyframes (for -khtml but now supports any)
  • in mix function, default weight to 50%
  • support @import-once
  • remove duplicate rules in output
  • implement named parameters when calling mixins
  • many numerous bug fixes

1.3.0

2012-03-10

  • @media bubbling
  • Support arbitrary entities as selectors
  • Variadic argument support
  • Behaviour of zero-arity mixins has changed
  • Allow @import directives in any selector
  • Media-query features can now be a variable
  • Automatic merging of media-query conditions
  • Fix global variable leaks
  • Fix error message on wrong-arity call
  • Fix an @arguments behaviour bug
  • Fix :: selector output
  • Fix a bug when using @media with mixins

1.2.1

2012-01-15

  • Fix imports in browser
  • Improve error reporting in browser
  • Fix Runtime error reports from imported files
  • Fix File not found import error reporting

1.2.0

2012-01-07

  • Mixin guards
  • New function percentage
  • New color function to parse hex color strings
  • New type-checking stylesheet functions
  • Fix Rhino support
  • Fix bug in string arguments to mixin call
  • Fix error reporting when index is 0
  • Fix browser support in WebKit and IE
  • Fix string interpolation bug when var is empty
  • Support !important after mixin calls
  • Support vanilla @keyframes directive
  • Support variables in certain css selectors, like nth-child
  • Support @media and @import features properly
  • Improve @import support with media features
  • Improve error reports from imported files
  • Improve function call error reporting
  • Improve error-reporting