All notable changes will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
BREAKING CHANGE: Bootstrap Less Port now uses Less v3.8.1 and its syntax has been updated accordingly. This means that you will no longer be able to compile the Less source files with a lower version of Less!
With the switch to Less 3, improvements have been made in two key areas:
-
Maps – The map variables used previously (which were actually not maps at all, but nested lists) have been converted to rulesets (which are much more map-like). This means that their properites can now be accessed directly using Less property accessors instead of the custom
map-get()
function, e.g.@breakpoints[xs]
.For colors, property accessors can now be used to get color values from the color maps, although the Bootstrap color functions are still supported as well.
-
Loops – Previously, recursive mixin loops were used to mimic Sass’
for
loops. Wherever possible, recursive mixin loops used for iterating have been replaced with Less’ neweach()
function.
Thanks to the above, some clunky workarounds used previously have now been removed, resulting in code that is much easier to both read and reason about. Special thanks to @calvinjuarez and @matthew-dean for implementing and driving the transition to Less 3!
- Added a new
map-keys()
function for getting the properties from a ruleset as a list, which can be very helpful when iterating usingeach()
(thanks @calvinjuarez!)
- Updated Less peer-dependency version from
^2.6.0
to^3.8.1.
- Updated Less syntax to leverage the latest Less features
- Converted “map” variables (nested lists) to rulesets
- Switched to using property accessors instead of the custom
map-get()
function for getting values from map-like variables - Switched to
each()
for looping instead of mixins, where possible - The map variables used previously (which were actually not maps at all, but nested lists) have been changed to use Less rulesets so that they’re much more map-like.
each()
is now used for looping instead of mixins, where possible
- Removed the custom
map-get()
plugin function
1.0.0 – 2018-01-06
First major release (since everything seems stable at this point).
- Dev: Added a changelog
- Dev: Added Less as a peer dependency in
package.json
(currently>=2.6.0
)
- Dev: Updated ESLint config to allow syntax up to ES8
0.5.0 – 2018-12-06
Aligned with Bootstrap v4.1.3.
- Updated styles to match Bootstrap v4.1.3 (see the Bootstrap release notes for details on the CSS changes in this version)
- Updated link to Less plugin at-rules in the README
0.4.0 – 2018-12-06
Aligned with Bootstrap v4.1.2.
- Updated styles to match Bootstrap v4.1.2 (see the Bootstrap release notes for details on the CSS changes in this version)
- Dev: Updated
browserslist
config to match Bootstrap - Dev: Updated dependencies and fixed npm audit security issues
less
3.0.4 → 3.9.0autoprefixer
8.4.1 → 8.6.5postcss-cli
5.0.0 → 5.0.1
- Updated link to Less plugin at-rules in the README
0.3.0 – 2018-05-12
Aligned with Bootstrap v4.1.1.
Note: This version bumps the Less version used for development to v3. It also includes revisions to the code to make it compatible with v3. However, the syntax used is backwards compatible with Less v2, and can be still be compiled with >= v2.7.3.
- Updated styles to match Bootstrap v4.1.1 (see the Bootstrap release notes for details on the CSS changes in this version)
- Updated usages of
calc()
to be compatible with Less v3 - Dev: Updated dependencies and fixed npm audit security issues
less
2.7.3 → 3.0.4autoprefixer
8.1.0 → 8.4.1
- #3 – Broken
#media-breakpoint-only
mixin
0.2.0 – 2018-04-17
Aligned with Bootstrap v4.1.0.
- Dev: ESLint is now used for enforcing JavaScript style in the Less plugins
- Dev: Added npm script for linting/compiling
- Updated styles to match Bootstrap v4.1.0 (see the Bootstrap release notes for details on the CSS changes in this version)
- Dev: Updated
browserslist
config to match Bootstrap
- #1 – Clarify theming usage in README
0.1.3 – 2018-01-26
- Ensured line breaks are preserved when minifying (for smaller diffs of minified files)
0.1.2 – 2018-01-26
Created a new version for npm. (Nothing changed in this version.)
0.1.1 – 2018-01-26
Note: This version is deprecated in npm! Use version 0.1.2 instead.
- All expressions using math are now compatible with Less’
strict-math
compiler option.
0.1.0 – 2018-01-20
Aligned with Bootstrap v4.0.0.
- Updated styles to match Bootstrap v4.0.0 (see the Bootstrap release notes for details on the CSS changes in this version)
- Fixed typos in the README and removed disclaimer about Bootstrap being in beta
0.0.6 – 2018-01-15
Aligned with Bootstrap v4.0.0-beta.3.
- Updated styles to match Bootstrap v4.0.0-beta.3 (see the Bootstrap release notes for details on the CSS changes in this version
0.0.5 – 2017-11-29
- Included usage instructions in the README
gray()
color function now works correctly. (Issue was caused by a bug in thelistToMap
helper function.)
0.0.4 – 2017-11-17
- Converted breakpoint mixins to functions (using a Less plugin) so that they can be used in the same way the Sass version uses them
0.0.3 – 2017-11-16
Initial release. (Code aligned with Bootstrap v4.0.0-beta.2.)