%#-- %# Copyright protects this work. %# See LICENSE file for details. %#++ %|chapter "History" %|history %|section "Version 1.1.1 (2009-10-03)" This release improves Ruby 1.9 support and upgrades gem dependencies. %|paragraph "Bug fixes" * `require()` was unable to find project library in Ruby 1.9.2dev. * Ruby 1.9 warning about "shadowing outer variable". * Ruby 1.9 error about "incompatible encoding regexp match". %|paragraph "Housekeeping" * The "spicycode-rcov" project was officially renamed to "relevance-rcov". * Upgrade to RubyForge 2.x library for publishing gems. %|section "Version 1.1.0 (2009-09-06)" This release improves the user manual and scaffold generator output, injects more metadata into gems, adds support for Microsoft web browsers, and fixes some bugs. %|paragraph "New features" * Add <%= xref "Build a RubyGem without #{$project} as runtime dependency", "instructions for building gems without Inochi" %> as a runtime dependency. * Put release notes in "description" field of gemspec, as [suggested by Eric Hodel](http://www.ruby-forum.com/topic/190220#830072), so that subscribers of [the RubyForge gems feed](http://gems.rubyforge.org/index.rss) are aware of the changes in a published gem. * Set the "date" field in gemspec to project release date. * Change file extension of generated user manuals from <tt>.xhtml</tt> to <tt>.html</tt> to accomodate Microsoft web browsers' inability to process the <tt>application/xhtml+xml</tt> mime type. %|paragraph "Bug fixes" * The sdoc library was necessary to run 'rake test'. * Forgot to add `:develop` option to scaffold generator output. * Make "rake lang:dump" unconditionally overwrite the dump file. * Fix gem not being built and prevent Maruku errors for the dummy "WordCount" project in the user manual. * Use <tt>/usr/bin/env</tt> instead of <tt>/usr/bin/ruby</tt> to launch Ruby for better portability. %|paragraph "Housekeeping" * Use simpler Copyright reminder at the top of every file. * Open source is for fun, so [be nice](http://loiclemeur.com/english/2009/03/never-criticize-your-competitors.html): speak of "related works" instead of "competitors". * Rename "Tutorial" to "General walkthrough" in user manual and add a "Specific topics" section for housing uncommon use cases. * Remove "logistics" section and redistribute its contents in more suitable locations in the user manual. %|section "Version 1.0.0 (2009-05-03)" This release <%= xref "Build a RubyGem without #{$project} as runtime dependency", "allows your gems to not depend on #{$project}" %>, lets you choose which unit testing library to use, adds new utility libraries and rake tasks, and fixes some bugs. %|paragraph "Incompatible changes" * Your program is no longer halted by `Inochi.init()` and `Inochi.rake()` if gem dependencies are not satified. A warning is issued instead. * The `project_summary` and `project_history` nodes, which are provided by `Inochi.book()` to the user manual, have been renamed to `project` and `history` respectively. * ERBook 7.1.0 is now used for generating the user manual. This is a major step up from the previous version, and so it has incompatible changes. See its release notes for details. * [SDoc](http://github.com/voloko/sdoc/tree/master) is now used to generate API documentation instead of [YARD](http://yard.rubyforge.org). If you link to particular classes or methods in the generated API documentation, be sure to update your link addresses! * Minitest is no longer the default testing library. You must specify which testing library you want to use via the `:test_with` option of the `Inochi.rake()` method. See <%= xref "Test execution" %> for details. * The "pak" rake task, which is provided by `Inochi.rake()`, has been renamed to "gem". %|paragraph "New features" * Add `:inochi_consumer` and `:inochi_producer` options to `Inochi.rake()` which allows you to *avoid* having Inochi as a runtime and development dependency, respectively, for your project's gem. This is useful if you just want to use Inochi facilities for building a gem for a pure Ruby library that does not have any need for Inochi's runtime convenience facilities. * Add `:develop` option for `Inochi.init()` which lets you specify RubyGems as development dependencies in the same way as the `:require` option. * Add "lint" rake task which reports [code quality statistics](http://www.infoq.com/news/2008/11/static-analysis-tool-roundup). * Add "test:cov" rake task which reports code coverage statistics. * Add "test:ruby" task which runs all tests with [multiruby](http://www.infoq.com/news/2008/02/multiruby-testing). * Add 'rake opts=' environment variable, which lets you specify command-line arguments directly to the Ruby interpreter, for all test* rake tasks. * Add <tt>inochi/util/combo</tt> combinatorics library for enumerations, permutations, and combinations which are all useful in exhaustive brute-force unit testing. * Add <tt>inochi/util/tempdir</tt> library which really should be in the Ruby standard library. %|paragraph "Bug fixes" * The "enable email notification" checkbox was not activated properly when posting announcement to ruby-talk mailing list via Ruby-Forum. * Mark gems needed by `Inochi.rake()` as *development* dependencies. A user would now have to install Inochi using <pre>gem install --development</pre> to install all these gems. This also solves the recursive dependency problem between Inochi and ERBook. * Set executable in gem specification only if it exists. * Fix parsing of stack trace in Ruby 1.9. %|paragraph "Housekeeping" * Write contributor names in <tt>CREDITS</tt> file instead of in the user manual. * Use completely lowercase name for <tt>Rakefile</tt>. * Add copyright statement at the top of every source file. %|section "Version 0.3.0 (2009-02-12)" This release adds support for <%= xref "Translate your project", "language translations / internationalization / multilingualization" %>, improves the user interface, and fixes a show-stopper bug for Windows users. %|paragraph "New features" * Add support for <%= xref "Translate your project", "language translations" %> of phrases used in a project. * Add "lang:dump" Rake task for extracting language phrases from project. * Add "lang:conv" Rake task for translating dumped phrases into various languages using the BabelFish translation service. * Add <tt>--locale</tt> option to a project's main executable for setting user's preferred language in spite of the user's locale environment. * Notify user when attempting to publish announcements in the "pub" Rake tasks. %|paragraph "Bug fixes" * In Windows, `ENV['USERPROFILE']` gives the path to the user's home directory and `ENV['HOME']` is not defined. * The only real solution to the circular gem dependency problem is: gem install --force You should update <%= xref "Setup" %> in your projects' user manuals accordingly. %|paragraph "Housekeeping" * Break the huge <tt>lib/inochi/inochi.rb</tt> library into smaller files. * Instead of adding methods to singleton classes directly, define modules and extend to them so that YARDoc documents the methods appropriately. * List all project contributors globally in the "Credits" section. * Remove "Contributor kudos" paragraph in release notes in favor of crediting contributors inline with each item in the release notes. * Mention that the project license is ISC for the reader's convenience. %|section "Version 0.2.0 (2009-01-25)" This release adds support for unit testing, improves the portability of **Inochi** and configurability of your projects, adds new content to the user manual, and fixes some bugs. %|paragraph "New features" * Added <%= xref "Test your project", "support for unit testing" %> via the [minitest](http://rubyforge.org/projects/bfts/) library. * The scaffold generator now emits a default unit test for the main project library. * Added optional ProgramName parameter to the scaffold generator. This allows you to specify reasonable program names when your project module has a strange capitalization: # inochi ERBook create er_book/LICENSE # inochi ERBook erbook create erbook/LICENSE # inochi ERBook foobar create foobar/LICENSE * Allow project authors to be specified via `Inochi.init :YourProject, :authors => [['name', 'mail']]` (Florian Gilcher) %|paragraph "Bug fixes" * Run on both JRuby and normal Ruby in multiple versions and with different executable names on Windows. (Florian Gilcher) * Use `Gem::RubyGemsVersion` instead of a shell command to determine rubygems version for generation of <tt>setup.erb</tt>. (Florian Gilcher) * Add blank lines between all list items, not just multi-line ones, in the plain-text version of the release announcement for improved readability. * Omit LaTeX-style heading numbers from release announcements. They caused confusion, especially in plain-text announcements, when trying to determine which version of a project was released. %|paragraph "Housekeeping" * Added unit tests for utility methods provided by the **Inochi** module: project name calculation and CamelCase to snake\_case conversion. %|section "Version 0.1.0 (2009-01-13)" This release reattempts to fix the [circular dependency problem](http://www.ruby-forum.com/topic/176173#771281) that occurred when installing either **Inochi** or **ERBook**. %|paragraph "New features" * `Inochi.init()` now adds `#major()`, `#series()`, and `#requirement()` instance methods to a project's `VERSION` constant. %|paragraph "Bug fixes" * Solved circular dependency problem by making inochi gem not dependent on erbook gem. However, ERBook is still required during runtime and is supplied on the `gem install` command for **Inochi**. <%= xref "Installation" %> has been updated accordingly. * Add forgotten Rake dependency for **Inochi** gem. %|section "Version 0.0.1 (2009-01-13)" This release fixes some show-stopper bugs. %|paragraph "Bug fixes" * The name of the project library was [being determined incorrectly](http://www.ruby-forum.com/topic/176173#771351). (Florian Gilcher) * There was a [circular dependency problem](http://www.ruby-forum.com/topic/176173#771281) when installing the **Inochi** gem. (Florian Gilcher) The solution is to specify the <tt>--force</tt> option when installing the gem. <%= xref "Installation" %> has been updated accordingly. * Generated project scaffolds now check against the major version of the **Inochi** gem, to avoid runtime version conflicts. %|paragraph "Housekeeping" * Only add project libraries to `$LOAD_PATH` if not already there. %|section "Version 0.0.0 (2009-01-13)" This is the first release of **Inochi**. Happy birthday!