Skip to content
Mária Jurčovičová edited this page Mar 14, 2016 · 107 revisions

less4j-1.17.2

Compatible with less.js 2.6.0

  • Fixed bug: extract used to fail on non-list argument.

less4j-1.17.1

Compatible with less.js 2.6.0

  • Fixed bug: some color were converted into invalid 7-digit hex codes.

less4j-1.17.0

Compatible with less.js 2.6.0

  • Added --ieCompatibility command line option and corresponding ieCompatibility configuration property. They can turn off ie8 limitation files size check inside data-uri function. It is equivalent of less.js --no-ie-compat option.
  • Performance optimization on import inline statements.
  • Fixed bug: infinite loop caused by top level selector with nested appender.

less4j-1.16.0

Compatible with less.js 2.6.0

  • Added or keyword into guards.
  • Allowed arbitrary nested parentheses in guards.
  • Import by reference has now general solution and should be defined and work in all contexts.
  • All references to Json and its non-standard license were removed and Less4j is now evil friendly.
  • Bug fix: detached ruleset outside of variable declaration work again.

less4j-1.15.4

Compatible with less.js 2.5.3

  • Bug fix: allowed detached as @keyframes member.

less4j-1.15.3

Compatible with less.js 2.5.3

  • Performance improvements.
  • Added source jar generation.
  • Externalizing AST cache, so that it can be reused across compile calls.

less4j-1.15.2

Compatible with less.js 2.5.3

  • Additional space before appender in nested selectors fixed.

less4j-1.15.1

Compatible with less.js 2.5.1

  • Both <= and =< are now accepted as lower or equal operators.
  • Space between media and its condition is not required anymore.
  • Space separated list can contain comments.
  • Allowed space around selector attribute operator.

less4j-1.15.0

Compatible with less.js 2.5.1

  • Support mixin argument expansion - elipsis.
  • It is possible to programatically configure additional variables.
  • Added all three image-size functions: image-size, image-width, image-length.
  • Added new angle dimension turn. One turn is equal to 360 degrees.
  • Guards convert numbers into the same units before comparing them. If impossible, guard returns false.
  • Add + and subtract - now convert numbers into the same units before adding/subtracting them. If impossible, numbers are treated as values only and result is assigned leftmost explicit type.
  • File imported as multiple treats all nested imports as if they would encountered first time. First import once stored inside such file is evaluated regardless of what parent files already imported.
  • Imported files are cached. If sheet imports the same file multiple times, the file will be read and parsed only once.
  • Forced error if namespace uses undefined variable.
  • Amount parameter of tint and shade functions are optional and default to 50%.
  • Fixed contrast function - light and dark arguments can be supplied in any order.
  • Fixed parse error - less4j now allows space between ~ and " in escaped value.
  • Fixed compile error - math operation (+, -) between string and number would return an error instead of being compiled into space separated list.
  • Fixed null pointer exception on important empty declaration.

less4j-1.14.0

  • Fixed handling of alpha in color blending functions.
  • Added thread interrupted check so thread running the compiler can be stopped.
  • Added timeouted less compiler which stops compilation if it runs too long. Use it to prevent infinite consumption of resources.

less4j-1.13.0

  • Top level rulesets allow appender &.
  • Added less sources able to read from multiple directories MultiPathFileSource MultiPathstringSource. They work as equivalent of less.js --include-path option.

less4j-1.12.0

  • Fixed parse error on appender & followed by a guard.
  • Fixed parse error on mixin reference with multiple detached rulesets.
  • When the compression is set to true, css at-rules bodies compile into one line.

less4j-1.11.0

  • Fixed OutOfMemory error when compiling heavy sources.
  • Grammar refactoring, parsing phase should be slightly faster.

less4j-1.10.0

  • Enabled bubbling for all css directives (at-rules).
  • Namespaces can have guards.
  • Mixins with parameters are not used as namespaces.
  • Darken, lighten, saturate, desaturate, fadein and fadeout functions can work in both absolute and relative modes.
  • Svg-gradient accepts list of colors as parameter.
  • Fixed scope issues that caused mixins looping failures.
  • Non-breaking space unicode character (U+00A0) is treated as whitespace.
  • Declaration values allow slash, so ie hack 0\9 is possible.
  • Detached rulesets used as mixin argument defaults do not generate warning.

less4j-1.9.0

  • Improved error reporting. Errors and warnings now display three lines of code which caused the problem.
  • Import has new optional option.
  • Added isruleset function. It returns true if parameter contains detached ruleset.
  • Data-uri function does not default to base64 on svg files. Svg files are now are treated same way as other text files.
  • Equality ignores difference in color notation e.g. lima is equal to #008800 and to #080.
  • Color that was not manipulated keeps its form when printed into output.
  • The %s option of format function allows also colors.
  • Format function keeps quote types of its format parameter.
  • Import supports multiple options.
  • Data-uri function generates large data warning from length of encoded data.
  • Color names (red, blue) are allowed as names of indirectly referenced variables.
  • Fixed parser failure on some special variable names followed by space.
  • Less.js compatibility: Allows pointless comma , on the end of selector.

less4j-1.8.5

  • underscore (_) is now allowed inside selectors, mixin names, etc,
  • !important can be used inside variable declarations,
  • extend supports multiple selectors as arguments,
  • the transparent css color name is interpreted as color,
  • fixed import inline of css files,
  • fixed error returned by import inline on unavailable file,
  • fixed extend of rulesets nested inside media and supports imported by reference.

less4j-1.8.4

  • support for /deep/ combinator,
  • allowed $ and . in expression identifiers (e.g. $aa.bb),
  • allowed empty variables,
  • source files without mappable symbols are now added into source map files list.

less4j-1.8.3

  • switched default encoding to utf-8,
  • relative file source now inherits charset of its parent,
  • less file source has new constructor to make it more extensible.

less4j-1.8.2

  • Bugfix: last mixin call does not have to be followed by semicolon.

less4j-1.8.1

  • fragments handling to data-uri function,
  • support for ANTLR 3.5.

less4j-1.8.0

  • enabled re-iteration of string interpolation,
  • added hsvhue, hsvsaturation, hsvvalue, luminance color functions,
  • added min, max, length functions,
  • added isurl, isunit, get-unit functions,
  • added replace and svg-gradient functions.

Notes:

less4j-1.7.0

  • detached rulesets are now implemented,
  • optional minification of generated css,
  • allowed custom source maps urls,
  • charset support for URISource and FileSource,
  • media and rulesets with empty bodies are removed.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.

less4j-1.6.1

  • indirect variables are allowed to reference all types - including escaped values,
  • imported once is now default behavior,
  • import files order fixed.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.

less4j-1.6.0

  • support for inline source maps,
  • generated source map can contain content of original less files.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.

less4j-1.5.4

  • color functions keep rgb values as rgb - they used to convert them into rgba,
  • equal operator on strings ignores quote types e.g. 'value'="value",
  • added support for custom css directives.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.

less4j-1.5.3

  • allowed extended names in mixin calls, namespaces names and mixins names,
  • added support for variables in charsets and keyframes,
  • added guards on css styles.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.

less4j-1.5.2

  • added api for embedded scripting - including custom interpolation.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.
  • 2: less4j-javascript plugin was released simultaneously.

less4j-1.5.1

  • scripts inside `..` and ~`...` are new special cases of custom functions.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.

less4j-1.5.0

  • fixed bug in (reference) import,
  • added support for custom functions.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.

less4j-1.4.1

  • fixed null pointer exception.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.

less4j-1.4.0

  • default function was made fully compatible with less.js,
  • turned off variable interpolation in unquoted urls,
  • added cat ^^ and hat ^ shadow DOM selectors,
  • added import options,
  • deprecated old import-once and import-multiplt.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.

less4j-1.3.0

  • added support for space separated properties merge,
  • added variable interpolation inside import urls.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.
  • 2: default function is not compatible with what less.js done.

less4j-1.2.4

  • data-uri function for resources embedding,
  • default function for mixin guards,
  • fixed !important properties are merged separately.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.

less4j-1.2.3

  • added property name interpolation,
  • allowed space separated variables list in media expressions,
  • added support for property merge property-name+.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.

less4j-1.2.2

  • implemented extend all,
  • added support for &:extend inside body,
  • fixed @import inside jar files.

Notes:

  • 1: extend still has some known open issues, however those are open also in less.js.

less4j-1.2.1

  • Extend in @media body extends only rulesets defined inside that @media body.
  • Looping mixin was not able to call other mixins. It prevented compilation of Bootstrap 3.0.2.

less4j-1.2.0

  • first basic version of selectors extend.

Notes:

  • 1: the all modifier is not supported and extend from inside media at-rule does not work properly.

less4j-1.1.3

  • antlr dependency replaced by antlr-runtime,
  • improved speed,
  • requires less memory.

less4j-1.1.2

  • cycle detection for rulesets usable as mixin,
  • support for semicolon at the end of mixin arguments declaration,
  • formatting of rbga color does not loose alpha anymore,
  • bubbled up media at-rules and nested rulesets keep their relative positions,
  • selectors with combinators can be used as mixins,
  • multiple & appender bugs fixed.

Special remark:

  • compiles Bootstrap 3.0 the same way as less-1.4.2.js.

less4j-1.1.1

  • allowed any casing for functions,
  • hotfix: 'required class missing' error fixed.

less4j-1.1.0

  • first source map support,
  • error reporting: less4j exception getMessage and toString show first two compilation errors.

less4j-1.0.4

  • mixin return values do not rewrite local scope variables,
  • added mixins unlocking.

Special remark:

  • created a suite of release tests to ensure correct compilation of twitter bootstrap.

less4j-1.0.3

  • fixed scoping issue that caused incorrect bootstrap responsive compilation,
  • added support for vendor specific @viewport dialects.

Special remark:

  • less4j-1.0.3 compiles twitter bootstrap responsive the same way as less-1.3.3.js.

less4j-1.0.2

  • added return values for mixins (1.3.x compatible behavior),
  • removed unused dependencies on slf4j.

less4j-1.0.1

  • support for @supports,
  • jCommander dependency was made optional,
  • various bug fixes.

less4j-1.0.0

  • floating numbers format bug fix,
  • support for @-moz-document.

less4j-0.0.14

  • semicolon as mixins arguments divisor,
  • allowed variables inside media queries,
  • escaped values in guards should are comparable to identifiers,
  • strings interpolation now uses hexadecimal representation and ignores original color format,
  • appender brought to top level by mixins is removed and does not cause errors anymore,
  • urls ending with "/css" are considered css files by import,
  • import once ignores differences in path format,
  • step up in import directory does not confuse imported file suffix detection,
  • rulesets nested in mixins now inherit mixins calls !important flag,
  • allowed font-face inside a mixin,
  • allowed useless semicolons in bodies,
  • additional @charset declarations are now removed,
  • leading ampersands are now ignored when doing mixins matching.

Notes:

  • 1: mixins and namespaces conventions are not exactly the same as in less.js case.

less4j-0.0.13

  • support for unicode range in font-face,
  • support for ms filter functions,
  • solved name clashes between filter and built-in functions,
  • fixed validations and comments in structures with bodies (media, ruleset, page, ...),
  • the '=' operator compares only numbers with the same dimension and numbers with no dimension.

Special remark:

  • less4j-0.0.13 compiles twitter bootstrap the same way as less-1.3.3.js.

Notes:

  • 1: the range of allowed mixins names is more limited then the one in less.js.

less4j-0.0.12

  • less.js built-in functions,
  • font-face supports less language features (variables, mixins, ...),
  • media queries bubbling and merging,
  • abstract less source and url based less source for more flexible import files loading.

Notes:

  • 1: the range of allowed mixins names is more limited then the one in less.js.

less4j-0.0.11

Bugfix release, no new features.

less4j-0.0.10

  • less file import on style sheet top level.

Notes:

  • 1: the range of allowed mixins names is more limited then the one in less.js.

less4j-0.0.9

New additions:

  • support for CSS3 @viewports,
  • support for CSS3 paged media and page margin box,
  • duplicate declaration detection in rulesets and viewports,
  • list as default value of mixin parameter,
  • removed log4j warning in command line.

Notes:

  • 1: the range of allowed mixins names is more limited then the one in less.js.

less4j-0.0.8

New additions:

  • mixins with extended names,
  • rulesets with multiple selectors can be used as mixins,
  • cycle detection for variables,
  • new functions: format %(...), URI escaping escape(...), less escaping e(...),
  • short namespace reference syntax without '>',
  • top level mixins and namespaces references,
  • list as mixin parameter,
  • support for CSS @keyframes animations,
  • new validation: appender on top level rulesets is not allowed.

Notes:

  • 1: the range of allowed mixins names is more limited then the one in less.js.

less4j-0.0.7

New additions:

  • deprecated selectors escaping and variables as pseudo classes parameters,
  • added selectors interpolation,
  • added math functions,
  • star prefix browser hack now works.

Notes:

  • 1: the range of allowed mixins names is more limited then the one in less.js.

less4j-0.0.6

New additions:

  • less escaping for values and selectors,
  • string interpolation.

Notes:

  • 1: the range of allowed mixins names is more limited then the one in less.js.

less4j-0.0.5

New additions:

  • both css classes and hashes now can be used as mixins,
  • better error handling and reporting,
  • fix maven jar packaging - it should not contain dependencies.

Notes:

  • 1: the range of allowed mixins names is more limited then the one in less.js.

less4j-0.0.4

New additions:

  • & appender for nested rules,
  • named arguments for mixins,
  • mixins can be used also as namespaces (e.g. closure).

Notes:

  • 1: the range of allowed mixins names is more limited then the one in less.js.

less4j-0.0.3

New additions:

  • less4j can run as standalone program from command line,
  • namespaces,
  • thread safety of the default compiler,
  • operations on colors.

Notes:

  • 1: closures and named arguments for mixins are not implemented in this version.
  • 2: the range of allowed namespace names is more limited then the one in less.js.

less4j-0.0.2

New additions:

  • mixins,
  • lazy loading for variables,
  • last win strategy for variables.

Note: closures and named arguments for mixins are not implemented in this version.

less4j-0.0.1

First maven release contains:

  • operations (expressions),
  • variables,
  • nested rules.

Note: variables lazy loading and last win strategy are not implemented in this version.

Clone this wiki locally