Bug fixes:

Fixed test error on 1.9.3 with legacy RubyGems. Issue #8 by Matt Palmer.

Documented how Rake::DSL#desc handles sentences in task descriptions. Issue #7 by Raza Sayed.

Rake no longer edits ARGV. This allows you to re-exec rake from a rake task. Pull requset #9 by Matt Palmer.

Bug fixes:

Reverted fix for #277 as it caused numerous issues for rake users. rails/spring issue #366 by Gustavo Dutra.

Enhancements:

Etc.nprocessors is used for counting the number of CPUs.

Rake no longer edits ARGV. This allows you to re-exec rake from a rake task. Issue #277 by Matt Palmer.

Rake now ignores falsy dependencies which allows for easier programmatic creation of tasks. Pull request #273 by Manav.

Added support for Pathname in rake tasks. Pull request #271 by Randy Coulman.

Bug fixes:

Try counting CPUs via cpuinfo if host_os was not matched. Pull request #282 by Edouard B.

Fix relinking of files when repackaging. Bug #276 by Muenze.

Add Rake::LATE to allow rebuilding of files that depend on deleted files. Bug #286, pull request #287 by David Grayson.

Bug fixes:

Rake no longer infinitely loops when showing exception causes that refer to each other. Bug #272 by Chris Bandy.

Bug fixes:

Really stop reporting an error when cleaning already-deleted files. Pull request #269 by Randy Coulman

Enhancements:

Added –build-all option to rake which treats all file prerequisites as out-of-date. Pull request #254 by Andrew Gilbert.

Bug fixes:

Consume stderr while determining CPU count to avoid hang. Issue #268 by Albert Sun.

Rake no longer reports an error when cleaning already-deleted files. Pull request #266 by Randy Coulman.

Suppress org.jruby package files in rake error messages for JRuby users. Issue #213 by Charles Nutter.

Bug fixes:

Bug fixes:

Use sysctl for CPU count for all BSDs. Pull request #261 by Joshua Stein.

File tasks including a ':' are now top-level tasks again. Issue #262 by Josh Holtrop.

Enhancements:

Rake now prints the exception class on errors. Patch #251 by David Cornu.

The rake task arguments can contain escaped commas. Pull request #214 by Filip Hrbek.

Rake now automatically rebuilds and reloads imported files. Pull request #209 by Randy Coulman.

Task#source defaults to the first prerequisite in non-rule tasks. Pull request #215 by Avdi Grimm.

Rake now allows you to declare tasks under a namespace like:

Rake now requires Ruby 1.9 or newer. For me, this is a breaking change, but it seems that Jim planned to release it with Rake 10.2. See also pull request #247 by Philip Arndt.

Bug fixes:

Fixed bug in can_detect_signals? in test. Patch from #243 by Alexey Borzenkov.

Fixed documentation for calling tasks with arguments. Pull request #235 by John Varghese.

Fixed typos. Pull request #256 by Valera Rozuvan, #250 via Jake Worth, #260 by Zachary Scott.

Additions to the old CHANGES file were not made consistently so some versions are missing from this file. These changes are usually described in the individual release notes files.

lib/rake/file_list.rb (Rake::FileList#egrep): there is no need to open files in binary mode. (NAKAMURA Usaku)

Show only the interesting portion of the backtrace by default (James M. Lawrence).

RakeFileUtils.verbose_flag = nil silences output the same as 0.8.7

The rake test loader now removes arguments it has processed. Issue #51

Fixed that file tasks did not perform prereq lookups in scope (Redmine #57).

Accepted change by warnickr to not expand test patterns in shell (allowing more files in the test suite).

Errors in Rake will now display the task invocation chain in effect at the time of the error.

Rake command line options may be given by default in a RAKEOPT environment variable.

Support for the –where (-W) flag for showing where a task is defined.

Rake no longer emits warnings for Config. Patch by Santiago Pastorino.

Rake now outputs various messages to $stderr instead of $stdout.

Rake::RDocTask is deprecated. Use RDoc::Task from RDoc 2.4.2+ (require 'rdoc/task')

Rake now recognizes “Windows Server” as a windows system. Patch by Matthias Lüdtke

Rake now prints the Rakefile directory only when it's different from the current directory. Patch by Alex Chaffee.

Rake now requires (instead of loads) files in the test task. Patch by Cezary Baginski.

Rake now uses case-insensitive comparisons to find the Rakefile on Windows. Based on patch by Roger Pack.

Rake now warns when the deprecated :needs syntax used.

Incompatible change : Rake DSL commands ('task', 'file', etc.) are no longer private methods in Object . If you need to call 'task :xzy' inside your class, include Rake::DSL into the class. The DSL is still available at the top level scope (via the top level object which extends Rake::DSL ).

Now allow # comments to comment a task definition.

Minor fixes to the RDoc generation (removed dependency on darkfish and removed inline source option).

Better support for the system command on Windows.

Removed reference to manage_gem to fix the warning produced by the gem package task.

Fixed stray ARGV option problem that was interfering with Test::Unit::Runner.

Numerous fixes to the windows test suite (patch from Luis Lavena).

MingGW is now recognized as a windows platform. (patch from Luis Lavena)

Windows system dir search order is now: HOME, HOMEDRIVE + HOMEPATH, APPDATA, USERPROFILE (patch from Luis Lavena)

Better support for windows paths in the test task (patch from Simon Chiang/bahuvrihi)

Added fix to handle ruby installations in directories with spaces in their name.

Enhanced the system directory detection in windows. We now check HOMEDRIVE/HOMEPATH and USERPROFILE if APPDATA isn't found. (Patch supplied by James Tucker). Rake no long aborts if it can't find the directory.

Fixed bug in package task so that it will include the subdir directory in the package for testing. (Bug found by Adam Majer)

Added ENV var to rakefile to prevent OS X from including extended attribute junk in a tar file. (Bug found by Adam Majer)

Fixed filename dependency order bug in test_inspect_pending and test_to_s_pending. (Bug found by Adam Majer)

Fixed check for file utils options to make them immune to the symbol/string differences. (Patch supplied by Edwin Pratomo)

Fixed bug with rules involving multiple source (Patch supplied by Emanuel Indermühle)

Switched from getoptlong to optparse (patches supplied by Edwin Pratomo)

The -T option will now attempt to dynamically sense the size of the terminal. RAKE_COLUMNS will override any dynamic sensing.

FileList#clone and FileList#dup have better sematics w.r.t. taint and freeze.

Added ability clear prerequisites, and/or actions from an existing task.

Added the ability to reenable a task to be invoked a second time.

Changed RDoc test task to have no default template. This makes it easier for the tempate to pick up the template from the environment.

Changed from using Mutex to Monitor. Evidently Mutex causes thread join errors when Ruby is compiled with -disable-pthreads. (Patch supplied by Ittay Dror)

Fixed bug in makefile parser that had problems with extra spaces in file task names. (Patch supplied by Ittay Dror)

Added a performance patch for reading large makefile dependency files. (Patch supplied by Ittay Dror)

Default values for task arguments can easily be specified with the :with_defaults method. (Idea for default argument merging supplied by (Adam Q. Salter)

The -T output will only self-truncate if the output is a tty. However, if RAKE_COLUMNS is explicitly set, it will be honored in any case. (Patch provided by Gavin Stark).