v1.6.1 date: 2023-01-31 changes: - Downgrades to glob 7 for Windows compatability - Removes mkdirp and rimraf in favour of node.js APIs. v1.6.0 date: 2023-01-28 changes: - Requires node.js 16+. - template.date now uses dateformat ~4.6.2. - other dependency updates such as glob, rimraf, etc. v1.5.3 date: 2022-04-23 changes: - Patch up race condition in symlink copying. v1.5.2 date: 2022-04-12 changes: - Unlink symlinks when copy destination is a symlink. v1.5.1 date: 2022-04-11 changes: - Fixed symlink destination handling. v1.5.0 date: 2022-04-10 changes: - Updated dependencies. - Add symlink handling for copying files. v1.4.1 date: 2021-05-24 changes: - Fix --preload option to be a known option - Switch to GitHub Actions v1.4.0 date: 2021-04-21 changes: - Security fixes in production and dev dependencies - Liftup/Liftoff upgrade breaking change. Update your scripts to use --preload instead of --require. Ref: https://github.com/js-cli/js-liftoff/commit/e7a969d6706e730d90abb4e24d3cb4d3bce06ddb. v1.3.0 date: 2020-08-18 changes: - Switch to use `safeLoad` for loading YML files via `file.readYAML`. - Upgrade legacy-log to ~3.0.0. - Upgrade legacy-util to ~2.0.0. v1.2.1 date: 2020-07-07 changes: - Remove path-is-absolute dependency. (PR: https://github.com/gruntjs/grunt/pull/1715) v1.2.0 date: 2020-07-03 changes: - Allow usage of grunt plugins that are located in any location that is visible to Node.js and NPM, instead of node_modules directly inside package that have a dev dependency to these plugins. (PR: https://github.com/gruntjs/grunt/pull/1677) - Removed coffeescript from dependencies. To ease transition, if coffeescript is still around, Grunt will attempt to load it. If it is not, and the user loads a CoffeeScript file, Grunt will print a useful error indicating that the coffeescript package should be installed as a dev dependency. This is considerably more user-friendly than dropping the require entirely, but doing so is feasible with the latest grunt-cli as users may simply use grunt --require coffeescript/register. (PR: https://github.com/gruntjs/grunt/pull/1675) - Exposes Grunt Option keys for ease of use. (PR: https://github.com/gruntjs/grunt/pull/1570) - Avoiding infinite loop on very long command names. (PR: https://github.com/gruntjs/grunt/pull/1697) v1.1.0 date: 2020-03-16 changes: - Update to mkdirp ~1.0.3 - Only support versions of Node >= 8 v1.0.4 date: 2019-04-22 changes: - Update js-yaml to address https://npmjs.com/advisories/788 - Use SOURCE_DATE_EPOCH to render dates in template. v1.0.3 date: 2018-06-03 changes: - Drop support for Node 0.10 and 0.12. - Dependency updates: rimraf, grunt-legacy-log, grunt-legacy-util. - Fix race condition with file.mkdir. v1.0.2 date: 2018-02-07 changes: - Fix for readYAML error messages. - Remove deprecation warning for coffeescript. Pull #1621. v1.0.1 date: 2016-04-05 changes: - minor fix for npm issues when installing grunt and grunt-cli at the same time. Pull #1500. v1.0.0 date: 2016-04-04 changes: - full list of changes is on http://gruntjs.com, please also see changes from 1.0.0-rc1. - if you have a Grunt plugin that includes `grunt` in the `peerDependencies`, we recommend tagging with `"grunt": "">= 0.4.0"` and publishing a new version on npm. - Prevent async callback from being called multiple times. Pull #1464. - Update copyright to jQuery Foundation and remove redundant headers. Fixes #1478. - Update glob to 7.0.x. Fixes #1467. - Removing duplicate BOM strip code. Pull #1482. - Update legacy log and util to 1.0.0. - Update to latest cli ~1.2.0. - Use grunt-known-options for shared options between Grunt and grunt-cli. v1.0.0-rc1 date: 2016-02-11 changes: - full list of changes is on http://gruntjs.com - if you have a Grunt plugin that includes `grunt` in the `peerDependencies`, we recommend tagging with `"grunt": "">= 0.4.0"` - `coffee-script` is upgraded to `~1.10.0` which could incur breaking changes when using the language with plugins and Gruntfiles. - `nopt` is upgraded to `~3.0.6` which has fixed many issues, including passing multiple arguments and dealing with numbers as options. Be aware previously `--foo bar` used to pass the value `'bar'` to the option `foo`. It will now set the option `foo` to `true` and run the task `bar`. -`glob` is upgraded to `~6.0.4` and `minimatch` is upgraded to `~3.0.0`. Results are now sorted by default with `grunt.file.expandMapping()`. Pass the `nosort: true` option if you don't want the results to be sorted. - `lodash` was upgraded to `~4.3.0`. Many changes have occurred. Some of which that directly effect Grunt are `grunt.util._.template()` returns a compile function and `grunt.util._.flatten` no longer flattens deeply. `grunt.util._` is deprecated and we highly encourage you to `npm install lodash` and `var _ = require('lodash')` to use `lodash`. Please see the lodash changelog for a full list of changes: https://github.com/lodash/lodash/wiki/Changelog - `iconv-lite` is upgraded to `~0.4.13` and strips the BOM by default. - `js-yaml` is upgraded to `~3.5.2` and may affect `grunt.file.readYAML`. We encourage you to please `npm install js-yaml` and use `var YAML = require('js-yaml')` directly in case of future deprecations. - A file `mode` option can be passed into [grunt.file.write()](http://gruntjs.com/api/grunt.file#grunt.file.write). - `Done, without errors.` was changed to `Done.` to avoid failing by mistake on the word `errors`. v0.4.5: date: 2014-05-12 changes: - Updated rimraf to 2.2.8. Closes gh-1134. - Moved grunt.log into separate grunt-legacy-log module. - Updated grunt-legacy-util to 0.2.0. Closes gh-971, gh-1129, gh-1118. - Added grunt.task.exists method to check if a task exists. Closes gh-1131. - Added grunt.config.merge method to deep merge config data. See gh-1039. - Fixed symlink issues with 'file.isPathCwd' and 'file.doesPathContain'. Closes gh-1112. - Config and util.recurse no longer mangle Buffer instances. See gh-971. - Config and util.recurse now enumerate inherited object properties. See gh-1129. - Config and util.recurse now throw useful circular reference error. See gh-1118. - Warn instead of error when no new tasks found via '.loadTasks' method. Closes gh-1059. - Added Windows CI testing. Closes gh-1110. - Removed "CONTRIBUTING.md" from .npmignore. Closes gh-1093. v0.4.4: date: 2014-03-12 changes: - Only signal completion of tasks async if grunt.task.start is invoked with `{asyncDone:true}`. v0.4.3: date: 2014-03-07 changes: - When devving Grunt, do "npm install && npm uninstall grunt" (isaacs/npm#3958) - Grunt is now tested on Node.js 0.11 - Extracted internal "util" lib to "grunt-legacy-util" lib - task.normalizeMultiTaskFiles now flattens nested "files" arrays. Closes gh-1034. - Better error in renameTask if task doesn't exist. Closes gh-1058. - Update rimraf to latest version. Closes gh-1043. - Empty string "ext" should strip extension. Closes gh-1087. - Add expandMapping .extDot option. Can be 'first' or 'last' but defaults to 'first'. Closes gh-979. - Add default array for util.spawn optional args. Closes gh-1064. - util.spawn "grunt" option now uses proper Node, passes Node exec options. Closes gh-980, gh-981, gh-877. - Make all tasks asynchronous to reduce call stack. Closes gh-1026. - Fix <%= grunt.task.current.target %> in Multitask files. Closes gh-994. - Generalize cli tests, see gh-983, gh-991. - --debug option can optionally be Boolean. Closes Gh-983, gh-991. v0.4.2: date: 2013-11-21 changes: - Extract internal "namespace" lib to external "getobject" lib. - '"Grunt collections" are now deprecated, use peerDependencies. See "grunt-contrib" 0.8.0 for details.' - Fix stdout / stderr issues on Windows. Closes gh-940, gh-921, gh-744, gh-792, gh-644, gh-708. - Fix pipe-redirecting on Windows. Closes gh-510. - Fixed this.options() in renamed basic tasks. Closes gh-855. - Update underscore.string dependency to follow semver. Closes gh-886. - Output task options in verbose mode. Closes gh-749. - Add file.preserveBOM property. Closes gh-806, gh-937. - Test that file methods warn. Closes gh-909. - Fixed a few spelling errors in code comments. Closes gh-849. - Updated watch, jshint and nodeunit deps. Closes gh-914. v0.4.1: date: 2013-03-13 changes: - Fix path.join thrown errors with expandMapping rename. Closes gh-725. - Update copyright date to 2013. Closes gh-660. - Remove some side effects from manually requiring Grunt. Closes gh-605. - "grunt.log: add formatting support and implicitly cast msg to a string. Closes gh-703." - Update js-yaml to version 2. Closes gh-683. - The grunt.util.spawn method now falls back to stdout when the `grunt` option is set. Closes gh-691. - Making --verbose "Files:" warnings less scary. Closes gh-657. - "Fixing typo: the grunt.fatal method now defaults to FATAL_ERROR. Closes gh-656, gh-707." - Removed a duplicate line. Closes gh-702. - Gruntfile name should no longer be case sensitive. Closes gh-685. - The grunt.file.delete method warns and returns false if file doesn't exist. Closes gh-635, gh-714. - The grunt.package property is now resolved via require(). Closes gh-704. - The grunt.util.spawn method no longer breaks on multibyte stdio. Closes gh-710. - Fix "path.join arguments must be strings" error in file.expand/recurse when options.cwd is not set. Closes gh-722. - Adding a fairly relevant keyword to package.json (task). v0.4.0: date: 2013-02-18 changes: - Initial release of 0.4.0. - See http://gruntjs.com/upgrading-from-0.3-to-0.4 for a list of changes / migration guide.