= Rant NEWS
== Rant 0.5.6
Fixes and minor improvements:
* Package::Zip, Package::Tgz: Fix bug where a file
that starts with the package name wouldn't be included in the
package. (Reported and fixed by Kevin Burge.)
* Fixed: The C source file scanner used by the
C::Dependencies task was confused by C-style single-line
comments.
* Fix a typo in the C::Dependencies task which affected the
:search option. (Reported by Kevin Burge.)
* +RubyTest+ no longer uses +testrb+ as test runner per default. Thus
it works on systems without +testrb+ now (e.g. Debian based
systems). The old behaviour can be enabled by setting the +loader+
attribute to :testrb. A patch was provided by Max Nickel.
New features:
* The C::Dependencies task accepts the new option
:correct_case, which is useful on case-insenstive
file systems. (Patch provided by Peter Allin.)
Read doc/c.rdoc[link:files/doc/c_rdoc.html] for documentation.
* The method Rant::Sys.root_dir?.
Read doc/sys.rdoc[link:files/doc/sys_rdoc.html] for documentation.
== Rant 0.5.4
Incompatible changes:
* The undocumented method var.is which is deprecated since
release 0.5.2 is not defined anymore.
Fixes and minor improvements:
* Fix a rule bug where a custom rule task wouldn't find it's
prerequisites in subdirectories.
* An non-backwards compatible change in the YAML library of Ruby 1.8.3
and newer causes gems to be non-backwards compatible. The fix for
backwards compatibility of gems created with RubyPackage is enabled
for all newer Ruby versions now. (See changes of last Rant release.)
* The new method sys.write_to_binfile. (Kevin Burge's idea.)
Read doc/sys.rdoc[link:files/doc/sys_rdoc.html] for documentation.
== Rant 0.5.2
Incompatible changes:
* The two undocumented Array methods ary.arglist and
ary.shell_pathes, which are deprecated since release 0.4.8,
are removed with this release. Use sys.sp(ary)
in Rantfiles instead.
* The method +rac+ which is deprecated since release 0.4.6 is gone.
* Filelists no longer respond to all Array methods. To use the
filelist method +no_dir+, import "filelist/std" is required
now. See below for documentation links.
Fixes and minor improvements:
* A bug in the YAML library of Ruby 1.8.3/1.8.4-preview1 prevented
created gems to work with other ruby versions. Since this Rant
release gems created with a RubyPackage task and Ruby 1.8.3 will
work with all Ruby versions (with gem support, of course).
* Fixed bug where the method Rant::Sys.split_all would drop
a leading dot directory (e.g. as in "./foo/bar").
* New method Rant::Sys.regular_filename for filename
conversion.
New features:
* Major rework of filelist support. The Rant::FileList class is
available as "normal" Ruby library now. Read
doc/filelist.rdoc[link:files/doc/filelist_rdoc.html] for
Rant::FileList documentation and
doc/sys_filelist.rdoc[link:files/doc/sys_filelist_rdoc.html] for
instructions on how to use filelists in Rantfiles.
== Rant 0.5.0
Incompatible changes:
* The undocumented filelist methods +no_file+, +no_suffix+ and
+no_prefix+ require import "filelist/more" now.
Deprecated:
* The undocumented var.is method. It won't be in release
0.5.4 and later.
* To use a (numeric) range as variable constraint, you should
explicitely import "var/numbers" now. Also explicitely
import "var/strings" to use the :String
constraint and import "var/booleans" to use the
:Bool constraint. Read Constraining variables in
doc/advanced.rdoc[link:files/doc/advanced_rdoc.html].
Fixes and minor improvements:
* Fix a few warnings from ruby 1.8.0/1.8.1.
* Prevent infinite rule recursion.
* Documentation for common file system operations and path
manipulation methods. Read
doc/sys.rdoc[link:files/doc/sys_rdoc.html].
New features:
* The --dry-run (-n) option for +rant+. Read
doc/rant.rdoc[link:files/doc/rant_rdoc.html].
* +Action+ takes a regular expression now. When rant looks for a
task/file that matches the regular expression, the action block will
get executed once. Read More selective actions in
doc/advanced.rdoc[link:files/doc/advanced_rdoc.html].
== Rant 0.4.8
Incompatible changes:
* The filenames Rantfile.rb and rantfile.rb which
were deprecated since the last release aren't recognized anymore.
Use +Rantfile+, +rantfile+ or root.rant instead.
Deprecated:
* The two undocumented Array methods ary.arglist and
ary.shell_pathes are deprecated. Use sys.sp(ary)
in Rantfiles instead.
* rant-import -v option. Use -V or
--version instead.
Fixes and minor improvements:
* Fix output of rant -T for descriptions with more than two lines.
* Filelists: Same handling of files starting with a dot with all
supported ruby versions (1.8.0 - 1.9).
* The sys.ruby method uses an absolute path to start the Ruby
interpreter. Thus sys.ruby also works if ruby is not on the
PATH.
* Fix for latest ruby 1.9, which renamed +fcall+ to +funcall+.
New features:
* rant-import supports --zip (-z) option
for zip-compression now.
* Tasks with command change recognition. Read
doc/command.rdoc[link:files/doc/command_rdoc.html]
* Improved rule support.
== Rant 0.4.6
Incompatible changes:
* *Important*: The notation "#foo" to reference a task
defined in the project's root directory changed to "@foo".
* Previous Rant versions loaded both, +Rantfile+ and
Rantfile.rb, if present. This version will only load one of
them (preferably +Rantfile+).
* +RubyTest+ tasks no longer honour TESTOPTS variable.
Deprecated:
* The filenames Rantfile.rb and rantfile.rb are
deprecated for rantfiles and won't be recognized by future Rant
versions. Use +Rantfile+, +rantfile+ or root.rant instead.
Fixes and minor improvements:
* Fix an issue where a file was unnecessary rebuilt when rant was
started from different directories, the file task was created from a
rule and md5 signatures were used.
* Concise output from Package::Tgz and Package::Zip tasks.
* A manpage will be installed on Linux/Unix systems by the install.rb
script.
* A fix for a FileUtils::Verbose bug in Ruby 1.8.3 which affects some
sys methods.
New features:
* The --cd-parent (-c) option to search for an Rantfile in parent
directories.
* The --look-up (-u) option to search for the root Rantfile in parent
directories.
* Recognition of rantfiles with the names root.rant and
sub.rant, where a sub.rant file is meant for a
project subdirectory and is treated special.
Read doc/subdirs.rdoc[link:files/doc/subdirs_rdoc.html]
* The +sys+ and sys.ruby methods take an optional block for
custom process exit status handling (per default, Rant aborts if a
subprocess started with +sys+ exits with another status than 0).
== Rant 0.4.4
Besides internal changes, this release is backwards compatible to
0.4.2.
Fixes and minor improvements:
* Rant is Ruby 1.8.0 compatible now.
* Fixes for filelists.
* A fix for Directory generator (and thus dependent features).
New features:
* Optional recognition of file changes based on MD5 checksums.
Read doc/md5.rdoc[link:files/doc/md5_rdoc.html] for documentation.
== Rant 0.4.2
This is mainly a bugfix release and thus fully backwards compatible to
0.4.0.
Fixes and minor improvements:
* Fixes for Ruby 1.8.1 compatibility.
* Fixes for Rules and multiple buildfiles per project.
* rant-import created scripts append inlined files to
$LOADED_FEATURES.
New features:
* The +make+ command.
* New method +sub_ext+ for filelists.
Read doc/advanced.rdoc[link:files/doc/advanced_rdoc.html].
== Rant 0.4.0
Unless you extended Rant with a custom generator, you can upgrade from
0.3.8 without changing any dependent code.
Incompatible changes:
* _Internal_: A generator has to respond to +rant_gen+ instead of
+rant_generate+.
New features:
* Creating zip and gzipped tar archives on all supported platforms
without installing extra software. Seamless integration with
rant-import.
Read doc/package.rdoc[link:files/doc/package_rdoc.html].
* The standard RubyPackage tasks create zip and gzipped tar archives
(and optional gem packages) on all platforms, including Windows,
now.
* rant-import recognizes the new directives +uncomment+ and +remove+.
== Rant 0.3.8
This version should be fully backwards compatible to 0.3.6.
New features:
* Dependency checking for C/C++ sources.
Read doc/c.rdoc[link:files/doc/c_rdoc.html] documentation.
* Installing ".cmd" files on Windows with the Win32::RubyCmdWrapper.
Read doc/rubyproject.rdoc[link:files/doc/rubyproject_rdoc.html].
* Convenient directory/file creation with SubFile.
Read doc/advanced.rdoc[link:files/doc/advanced_rdoc.html].
* rant-import inlines specially marked, +require+ files.
== Rant 0.3.6
This version should be fully backwards compatible to 0.3.4.
New features:
* Automatic cleanup of generated files
* Directed rules
* Constraining variables
* rant-import searches $LOAD_PATH
* Immediately build targets with rac.build "target"
Read doc/rantfile.rdoc[link:files/doc/rantfile_rdoc.html] and
doc/advanced.rdoc[link:files/doc/advanced_rdoc.html] for docu.
== Rant 0.3.4
Incompatible changes:
* Arguments of the form VAR=VAL to rant no longer set environment
variables directly, they are available through +var+ now. Read
doc/advanced.rdoc[link:files/doc/advanced_rdoc.html] for more info.
* Replace any
include Sys
with
include Rant::Sys
in Rantfiles. Or even better: don't include the +Sys+ module.
New features:
* Installation with install.rb installs .cmd files on Windows.
Read README[link:files/README.html]
* Sharing variables between Rantfiles. Read
doc/advanced.rdoc[link:files/doc/advanced_rdoc.html] for more info.
* Selecting files with the +sys+ command.
* Rules
Read doc/rantfile.rdoc[link:files/doc/rantfile_rdoc.html] for docu.
== Rant 0.3.2
This version should be fully backwards compatible to 0.3.0.
New features:
* Support splitting your buildfiles up and placing them into multiple
directories with the +subdirs+ command. Please read
doc/rantfile.rdoc[link:files/doc/rantfile_rdoc.html] for usage.
This is especially useful for bigger projects.
== Rant 0.3.0
First release of Rant on RubyForge.
== See also
Rant Overview::
README[link:files/README.html]