Skip to content

v5.0.0

Compare
Choose a tag to compare
@jgerigmeyer jgerigmeyer released this 14 Dec 19:15
· 131 commits to main since this release
d6b5ebb

No changes from v5.0.0-beta.7. Changes since v4.0.2:

πŸš€ New Features

  • Color previews are now rendered in an <iframe> which allows them to make use of user-supplied CSS custom properties (and a limited subset of Herman styles). Custom properties are made available via the new customPreviewCSS or existing customCSS options. To be included, custom properties must be declared on html, body, or :root.
  • Length keywords in @sizes {ruler} maps now display as a border
  • Allow utilities.add() to merge data, instead of override
  • utilities.each-value() will pass each value of a map through a given function (this is the previous behavior of passing args to add())
  • utilities.each-key() will pass each key of a map through a given function
  • Add customSourceMap option (default: customCSS option + .map) to allow copying source-map file along with customCSS file
  • Font-map variant keys can be comma-separated -- #338
  • Add support for non-standard CSS font-weight names -- #250

πŸ’₯ Breaking Changes

  • Font, ratio, size, and color previews are now rendered without user-provided stylesheets (to avoid style conflicts). CSS custom properties and font-related CSS are made available via the new (πŸš€) customPreviewCSS or existing customCSS options. To be included, declarations must be declared on html, body, or :root in the stylesheet set via customPreviewCSS or customCSS settings. (All @font-face at-rules are included.)
  • Require Dart Sass (^1.45.0) for @example scss annotations, using the updated Dart Sass JavaScript API. The sass.implementation option is removed, along with support for node-sass.
  • Rename sass.importer option to sass.importers, matching the Dart Sass option.
  • Remove sass.includePaths and sass.outputStyle options. These are replaced with a new sass.sassOptions option, which accepts any options that Dart Sass accepts (e.g. loadPaths or style). See the Dart Sass documentation for more details.
  • utilities.add() no longer supports map-compilation functions and arguments, since there are two reasonable approaches. Maps that need to be compiled for Herman must now be compiled before they are added. That can still be done using either:
    • πŸš€ NEW: utilities.each-value() will pass each value of a map through a given function (this is the previous behavior of passing args to add())
    • πŸš€ NEW: utilities.each-key() will pass each key of a map through a given function
  • Disable all autofill annotations for comments that Herman treats as "prose" (i.e. separated from documented code by one or more newlines).
  • Drop support for Node < 14

πŸ› Bug Fixes

  • Switch from tinycolor to colorjs.io for color conversions, to fix bug displaying colors that use hue angle notation.

πŸ“ Documentation

  • Add samples for @use '~/sassdoc-theme-herman/scss/utilities';

🏠 Internal

  • Replace Bluebird dependency with native promises.
  • Replace CircleCI, Codecov, and AppVeyor with GitHub Actions
  • Include source-maps with Herman JS & CSS assets
  • Remove documentation static-site from repository and npm package
  • Limit size of NPM package
  • Upgrade dependencies

New Contributors

Full Changelog: v4.0.2...v5.0.0