Browse files

release notes for Rake 10

  • Loading branch information...
jimweirich committed Oct 26, 2012
1 parent e82ffd2 commit 799d8e014b0e3233bc6dc48e13e0ab92a27afa44
Showing with 168 additions and 0 deletions.
  1. +168 −0 doc/release_notes/rake-10.0.0.rdoc
@@ -0,0 +1,168 @@
+= Rake 10.0 Released
+ "Jim, when will Rake reach version 1.0?"
+Over the past several years I've been asked that question at
+conferences, panels and over twitter. Due to historical reasons (or
+maybe just plain laziness) Rake has been treating the second digit of
+the version as the major release number. So in my head Rake was
+already at version 9.
+Well, it's time to fix things. This next version of Rake drops old,
+crufty, backwards compatibility hacks such as top level constants, DSL
+methods defined in Object and numerous other features that are just no
+longer desired. It's also time to drop the leading zero from the
+version number as well and call this new version of rake what it
+really is: Version 10.
+So, welcome to Rake 10.0!
+Rake 10 is actually feature identical to the latest version of Rake 9
+(that would be the version spelled 0.9.3), *except* that Rake 10 drops
+all the sundry deprecated features that have accumulated over the years.
+If your Rakefile is up to date and current with all the new features
+of Rake 10, you are ready to go. If your Rakefile still uses a few
+deprecated feeatures, feel free to use Rake 9 (0.9.3) with the same
+feature set. Just be aware that future features will be in Rake 10
+family line.
+== Changes in 10.0
+As mentioned above, there are no new features in Rake 10. However,
+there are a number of features missing:
+* Classic namespaces are now gone. Rake is no longer able to reflect
+ the options settings in the global variables ($rakefile, $show_tasks,
+ $show_prereqs, $trace, $dryrun and $silent). The
+ <tt>--classic-namespace</tt> option is no longer supported.
+* Global constants are no longer supported. This includes
+ <tt>Task</tt>, <tt>FileTask</tt>, <tt>FileCreationTask</tt> and
+ <tt>RakeApp</tt>). The constant missing hook to warn about using
+ global rake constants has been removed.
+* The Rake DSL methods (task, file, directory, etc) are in their own
+ module (Rake::DSL). The stub versions of these methods (that printed
+ warnings) in Object have been removed. However, the DSL methods are
+ added to the top-level <tt>main</tt> object. Since <tt>main</tt> is
+ not in the inheritance tree, the presence of the DSL methods in main
+ should be low impact on other libraries.
+ If you want to use the Rake DSL commands from your own code, just
+ include <tt>Rake::DSL</tt> into your own classes and modules.
+* The deprecated syntax for task arguments (the one using
+ <tt>:needs</tt>) has been removed.
+* The <tt>--reduce-compat</tt> flag has been removed (it's not needed
+ anymore).
+* The deprecated <tt>rake/sys.rb</tt> library has been removed.
+* The deprecated <tt>rake/rdoctask.rb</tt> library has been removed.
+ RDoc supplies its own rake task now.
+* The deprecated <tt>rake/gempackagetask.rb</tt> library has been
+ removed. Gem supplies its own package task now.
+== Changes (from 0.9.3)
+Since Rake 10 includes the changes from the last version of Rake 9,
+we'll repeat the changes for version 0.9.3 here.
+=== New Features
+* Multitask tasks now use a thread pool. Use -j to limit the number of
+ available threads.
+* Use -m to turn regular tasks into multitasks (use at your own risk).
+* You can now do "Rake.add_rakelib 'dir'" in your Rakefile to
+ programatically add rake task libraries.
+* You can specific backtrace suppression patterns (see
+ --supress-backtrace)
+* Directory tasks can now take prerequisites and actions
+* Use --backtrace to request a full backtrace without the task trace.
+* You can say "--backtrace=stdout" and "--trace=stdout" to route trace
+ output to standard output rather than standard error.
+* Optional 'phony' target (enable with 'require 'rake/phony'") for
+ special purpose builds.
+* Task#clear now clears task comments as well as actions and
+ prerequisites. Task#clear_comment will specifically target comments.
+* The --all option will force -T and -D to consider all the tasks,
+ with and without descriptions.
+=== Bug Fixes
+* Semi-colons in windows rakefile paths now work.
+* Improved Control-C support when invoking multiple test suites.
+* egrep method now reads files in text mode (better support for
+ Windows)
+* Better deprecation line number reporting.
+* The -W option now works with all tasks, whether they have a
+ description or not.
+* File globs in rake should not be sorted alphabetically, independent
+ of file system and platform.
+* Numerous internal improvements.
+* Documentation typos and fixes.
+== What is Rake
+Rake is a build tool similar to the make program in many ways. But
+instead of cryptic make recipes, Rake uses standard Ruby code to
+declare tasks and dependencies. You have the full power of a modern
+scripting language built right into your build tool.
+== Availability
+The easiest way to get and install rake is via RubyGems ...
+ gem install rake (you may need root/admin privileges)
+Otherwise, you can get it from the more traditional places:
+Home Page::
+GitHub:: git://
+== Thanks
+As usual, it was input from users that drove a alot of these changes. The
+following people either contributed patches, made suggestions or made
+otherwise helpful comments. Thanks to ...
+* Aaron Patterson
+* Dylan Smith
+* Jo Liss
+* Jonas Pfenniger
+* Kazuki Tsujimoto
+* Michael Bishop
+* Michael Elufimov
+* Ryan Davis
+* Sam Grönblom
+* Sam Phippen
+* Sergio Wong
+* Tay Ray Chuan
+* grosser
+* quix
+Also, many thanks to Eric Hodel for assisting with getting this release
+out the door.
+-- Jim Weirich

1 comment on commit 799d8e0


This comment has been minimized.

Show comment Hide comment

knoopx Nov 1, 2012

oh god, another project messing around with major version numbers... :(

knoopx commented on 799d8e0 Nov 1, 2012

oh god, another project messing around with major version numbers... :(

Please sign in to comment.