Grunt 1.0.0 rc1 released
Posted on February 11, 2016The Grunt team is pleased to announce the first release candidate for 1.0.0
.
This release is made possible by @shama, @vladikoff, @jkaussieskater. With support from the jQuery foundation, in particular @dmethvin and @aulvi.
Also thanks to contributions by @XhmikosR, @paladox, @FredyC, @sindresorhus, @mrjoelkemp and more.
This release focuses on fixing critical issues and improved support with Node.js
v0.10, v0.12, v4.0, v5.0 and io.js on Windows, OSX and Linux. We ask you to test the rc1
and report any issues you are experiencing.
npm install [email protected] --save-dev
Be advised Grunt 1.0.0
will no longer support Node.js v0.8.
Peer Dependencies
If you have a Grunt plugin that includes grunt
in the peerDependencies
section of your package.json
, we recommend tagging with "grunt": ">=0.4.0"
. Otherwise when [email protected]
is released, npm@2 users will receive a hard error when trying to install your plugin and npm@3 users will get a warning.
Be aware, peer dependencies are no longer installed for users as of npm@3. Users of Grunt plugins are expected to npm install grunt --save-dev
alongside any Grunt plugin install.
We ask you to send pull requests to your favourite plugins and ask them to update the peerDependencies
section of their package.json
.
Request For Comments
We have created an new repo to encourage members of the community interested in shaping the future of Grunt to submit a RFC.
Submitting an RFC will allow you to formally propose a significant change to Grunt and elicit feedback from the core team and community.
The active proposals will help portray the future roadmap for Grunt and hopefully expedite community contributions into future Grunt releases.
npm scripts
We now install grunt-cli
as part of grunt
. Many users do not wish to perform
the extra step of npm install grunt-cli -g
. To better conform to the idioms
of Node.js, you can now npm install grunt --save-dev
then include Grunt in your
npm scripts:
{
"scripts": {
"grunt": "grunt"
}
}
Your users now only have to npm install
and npm run grunt
to run your
Gruntfile.js
.
Users on npm >= 2.0.0
can also pass tasks and options with:
npm run grunt -- task --option=foo
which is equivalent to
grunt task --option=foo
.
If you would like the grunt
command on your computer, please continue to
npm install grunt-cli -g
and use as before.
API Changes
Be aware, some APIs have changed warranting a major version update:
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 optionfoo
. It will now set the optionfoo
totrue
and run the taskbar
.glob
is upgraded to~6.0.4
andminimatch
is upgraded to~3.0.0
. Results are now sorted by default withgrunt.file.expandMapping()
. Pass thenosort: 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 affect Grunt aregrunt.util._.template()
returns a compile function andgrunt.util._.flatten
no longer flattens deeply.grunt.util._
is deprecated and we highly encourage you tonpm install lodash
andvar _ = require('lodash')
to uselodash
. Please see the lodash changelog for a full list of changes: https://github.com/lodash/lodash/wiki/Changelogiconv-lite
is upgraded to~0.4.13
and strips the BOM by default.js-yaml
is upgraded to~3.5.2
and may affectgrunt.file.readYAML
. We encourage you to pleasenpm install js-yaml
and usevar YAML = require('js-yaml')
directly in case of future deprecations.- A file
mode
option can be passed into grunt.file.write(). Done, without errors.
was changed toDone.
to avoid failing by mistake on the worderrors
.
We encourage you to try out this release.
We are also looking for contributors to all Grunt repositories and are willing to mentor you to get more experience with open source.