== Version 0.27.0 Once again we have a great mix of cool new features, along with bugfixes and a myriad of smaller improvements. Go and download the most advanced Ruby Web/ORM Framework you can find. Most notable changes: * Added groundbreaking client side action/scripting support: class FlickrDemo < Nitro::Controller helper :javascript class Client # Actions defined here are executed as javescript in the # browser. def clear_me hide :hide_me end def grab ajax_upadate ... end end end in the template:
do you [[:like]] this?
All strings enclosed in [[ ]] are replaced with localized versions (honouring the session locale). Check out the updated blog example. * Dynamic/Parametrised mixins. A great extension to Ruby's mixin feature. The Og::list implementation is replaced with the new Orderable dynamic mixin, here is an example: class Comment property :body, String belongs_to :article, Article include Orderable, :scope => article end c.move_higher The Orderable mixin uses the :scope parameter to dynamically alter the methods appended to the Comment class. This new feature will be used throughout the platform. * NestedSets mixin: class Comment include NestedSets end or class Comment include Hierarchical, :method => :nested_sets end c.add_comment(child_comment) c.full_children c.direct_children c.children this is a reimplementation of the SqlTraversable mixin available in older versions. * Improved templating system. Now allows <% %> intrerpolators and provides a number of html morphing effects:Object Form #{o.build_form(obj)}
* Og Oracle adapter. * Og provides advanced metadata for the managed objects class Article property :title, String property :body, String has_many :comments, Comment end par = Article.properties_and_relations => [Property(:title), Property(:body), Og::HasMany(:comments)] par[2].klass => Comment par[2].meta[:linkback] => :article_oid * Og Typemacros, here is an example: def VarChar(size) return String, :sql => "NOT NULL VARCHAR(#{size})" end property :title, VarChar(30) * Option for faster startup, skip schema check. * Many small Og improvements and fixes. * FastCGI adapter bug fixes. * New example, why's wiki, from a cool post at http://redhanded.hobix.com * IMPORTANT security fixes. == Version 0.10.0 was released on 15/02/2005. Another strong release featuring a completely recoded Og implementation and redesigned Og adapter (formely backend) system. An SQLite3 adapter is also provided. Moreover the Nitro installation process is improved, and many small changes make the framework more elegant and easier to use: the updated examples reflect this! Most notable additions: * Improved Og implementation (cleaner code) and new Og adapter subsystem. * New SQLite3 Og adapter, improvements in MySQL and PostgreSQL adapters (WARNING: needs version 1.1.0 of Sqlite3-Ruby). * Added install.rb for easier installation of the tar.gz distribution. * Better GemSpec for easier installation by RubyGems. * Action/template/xsl auto-reloading system in debug mode, new implementation, works again. * New Nitro configuration system, with rational default parameters. * --console option attaches an irb session to a running instace of an application (works again). * Og supports optional typechecking by using property metadata. * request alias for context to be compatible with older versions of nitro and Webrick/jsp and other frameworks. * Improved the examples, cleaner code, work from any directory. * Removed more obsolete code and improved directory structure. * and many more smaller fixes. WARNING: If you used an earlier version of Og you may need to drop your database and let Og recreated it automatically. == Version 0.9.5 was released on 04/02/2005. A bug fix release. * Fixed nasty Windows deadlock bug. * Experimental Wee-style example (will be updated in the next version). * Changed default port to 8069 (8080 was to common). * Small fixes and improvements. == Version 0.9.3 was released on 01/02/2005. A *very* important release. A new abstract rendering pipeline is introduced. This pipeline allows for multiple adaptors (WEBrick, fastcgi are included). Many classes have be rewritten using *clean* code, and the directory structure has improved again. All unused and obsolete files have been removed. A new version of the Blog example was included. This version does not use XSLT and runs on Windows. If you havent seen Nitro or you had problems with an earlier version, this is the time to revisit this project! Most notable additions: * Drastically improved source code readability. * New abstract rendering pipeline. Benefits: * multiple adaptors. * better unit tests. * optimized memory allocation. * more modular desing. * FastCGI support (tested with Lighttpd). * no_xsl_blog example. This new example is easier to setup, even on Windows. This also demonstrates that Nitro does NOT force the use of XSLT. * No global variables used for nitro configuration. * Updated the docs to better reflect the rappidly evolving codebase. * Og metalanguage relations insert metadata into the target class, useful for advanced scaffolders. * Og refer_to meta-language command. * Many bug fixes and small optimizations. The next version will stabilize the Nitro api. == Version 0.8 was released on 12/01/2005. A snapshot of the latest code. Cool new features, many fixes and improvements in older features. Many thanks to Michael Neumann for giving intelligent suggestions and finding small bugs. Most notable additions: * New automatic validation system: class User prop_accessor :name, :password, String validate_confirmation :password validate_length :name, :range => 2..12 end u = User.new(...) unless u.valid? p u.errors.on(:name) p u.errors[:password] end * Programmatic xhtml rendering. This is an alternative method of rendering that is usefull in building components and helpers. This is a preview implementation. options = ['Male', 'Female'] o.select(:name => 'sex') { o.options(options, selected = 1) } options = { 'Male' => 'm', 'Female' => 'f' } o.select(:name => 'sex') { o.options(options, selected = 1) } o.html { o.p(:class => 'header') { o.b('Hello') } } * No global variables in Og. * Recoded Og to allow for future support of multiple databases (even on different RDBMS systems) on a single application. * Improved Blog example demonstrates latest advancements. (You have to drop the database of earlier versions!) * More unit tests. * Supports Ruby 1.8.2 * Integrated extensions/dev-utils by Gavin Sinclair. * Integrated blankslate by Jim Weirich. * And many IMPORTANT bug fixes. == Version 0.7 was released on 27/12/2004. A snapshot of the latest code. Many fixes and new features result in a more mature product. Many thanks to the ruby hackers that sent suggestions and patches used in this release! Most notable additions: * Improved win32 compatibility (Tiny example runs out of the box). * Binary content example (Flash, needs ruby-ming installed to run). * Totaly recoded prop_accessor mechanism, avoids polution of the Module class. * prop_accessors for Modules, allows synthesizing of managed objects from Mixins. * new automatically generated methods in Og. * MockDatabase leverages the FlexMock object for easier unit testing. * Integrated the cool Breakpointer library by Florian Gross. * Markup mixin to automatically expand/compact generalized markup code. * new_form wizard. * Statically (compile time) included subscripts. * Important bug fix in redirects. and many many bugfixes! :) == Version 0.6 was released on 13/12/2004. This is a preview release, the api for the new features is not finalized. This early release gives other developers to offer suggestions on the final form of those features. Most notable additions: * Og many_to_many relations with auto generation of the join table. * Og has_one relation. * PHP-style nested output buffering. * Rails-style Filters. * autoreload services. * complile time evaluation of ruby code in templates. * improved pager ui. * initial version of FormBuilder. * initial version of new_app wizard. * Improved Blog example. and... the nitro logo :) == Version 0.5 was released on 23/11/2004. Many new features: * Stand-alone Og distribution. * Scaffolding. * Og RDBMS index support (works again). * improved render/dispatcher. * REST/XML dspatcher. * RssBuilder. * Improved BLOG example. * Many fixes. == Version 0.4.1 was released on 15/11/2004. A MAJOR revision! The rendering engine was recoded from scratch and now features Rails-style actions. Some older features are not yet converted to the new engine though. Other new stuff includes a fully working / cool looking Blog example, a programmable shader pipeline, automatic object manager in Og, improved directory structure, bug fixes, many changes to make it easier to switch from Rails, and many many more cool improvements for you to find out in the detailed ChangeLog. == Version 0.3.0 was released on 01/11/2004. An important revision! Nitro now includes the first version of a brand new ObjectRelational mapping library called Og (ObjectGraph) that combines the best features of Active Record and NDB. A fully working MySQL adapter is also provided. Moreover the code base is further cleaned up. Small improvements to the application configuration system. == Version 0.2.0 was released on 25/10/2004. Greatly improved RDoc documentation. Cleaned up many source files, and improved the directory structure to be more compatible with other Ruby projects. Introduced a test suite. Important bug fixes in NDB. Tiny example no longer requires apache so should run out of the box. == Version 0.1.2 was released on 21/10/2004. The first public version. Features 2 examples and limited documentation. The aim of this release is to make the project known to the Ruby Community. We hope that the Ruby hackers will respond with valueable suggestions and ideas.