Hobo 0.9.0 released
Posted by
Bryan Larsen | November 17, 2009 7 Responses comments

We’ve just released version 0.9.0 of Hobo.  It is available on gemcutter now, and should be on rubyforge within 24 hours.

We’re now entering a feature freeze.  We plan on releasing a 1.0 release candidate on December 1st.  After that point, we will only be fixing critical bugs and documentation.  At this point, we do not consider any of our extant bugs to be critical.   We’ll fix as many of them as we can before December 1st.  If any of them are important to you, please speak up so we can prioritize appropriately.

Major enhancements:

  • Internationalization! Through the hard work of soey and Spiralis, we now have internationalization support in Hobo. The manual page is on the cookbook. Locales are available on github.

  • Index generation: Matt Jones’ automatic index generation code has been merged. Migrations performed with 0.9.0 will now include appropriate indices. The default Rails index names are very long, so this is unlikely to work well on Oracle, which has a 30 character limit. Testing against Postgres, Oracle, SQL Server and JDBC has been extremely limited. To generate indices run script/generate hobo_migration.

  • New projects now have a summary page on /front/summary that provides application information to the administrator. Current projects may add this action by running the hobo_front_controller generator.

  • STI derived classes can add additional fields to their parent class with the fields block. Note that the “can’t generate a migration for STI base and derived classes all at once” issue still applies. In general, STI handling should now work much better.

  • Bug 464 The transition-buttons tag now generates buttons that link to the transition page for transitions that require parameters.

  • Bug 532 In previous versions, you had to add the new HTML5 tags to RAILS_ROOT/config/dryml_static_tags.txt. This version whitelists all HTML5 tags except for aside, section, header and footer, which conflict with existing Rapid tags.

Major bug fixes:

  • Bug 530 is a critical bug for invite-only projects. To incorporate the fix, you must rerun your generators or follow the instructions in the commit

  • Bug 480 Owner actions now work with has_many associations

  • Bug 516 Specifying a belongs_to association as a lifecycle param works; it appears as a select-one on the generated page.

  • Bug 515 Virtual :boolean fields declared with attr_accessor now work

  • Bug 484 Transition actions that require a key no longer check if the model is visible to Guest

  • Bug 485 Lifecycle support on STI models works now. Note that derived classes DO NOT inherit any of the parent lifecycle implementation.

  • Bug 387 STI derived classes now inherit settings like name_attribute correctly.

  • Bug 533 The hidden field generated with a checkbox input shouldn’t have an ID.

  • Bug 526 Routing errors now render not-found-page, rather than the default Rails routing error message.

Minor Enhancements:

  • Aside collections now have a new-link at the bottom (inside the preview-with-more) #421

  • the manual now includes a Generators section, and a subsite tutorial has been added.

  • Bug 386 and Bug 501 have been fixed, reducing the number of extraneous migrations that the hobo_migration generator creates. These are actually Rails and/or database bugs we’re working around. For instance, MySQL does not allow default values for text columns, so Rails silently ignores them. SQLite does not allow scale or precision settings on decimal fields. These types of bugs are good reasons why you should use the same type of database for development, testing and production.

  • A new view_hint, inline_booleans, controls whether boolean attributes are displayed in the header (default behavior of Rapid show pages) or inline with the rest of the field-list. You can either pass a list of field names, or ‘true’ (without quotes) to make all booleans inline.

  • hobo_show now accepts a model instance as a first parameter. This restores symmetry with the other hobo_* actions.

  • on Rails 2.3 and above, routes will be generated with the optional .:format suffix, and the formatted_* routes are skipped.

  • non-required fields that are marked :unique will now allow nil values.

Minor Bug Fixes

  • Bug 540 Hobo::Permissions::Associations::HasManyThroughAssociations#create! did not save as the “!” implied.

See the github log

Reader Comments Add your comment »

Looking good!

-Owen

The link to github is weird. The latest entry there is from 2008-09-03.

Thanks — the github link should be fixed now. Last time I forgot to push the tag. This time I linked to my fork rather than Tom’s. Hopefully I’ll get it right for 1.0… :)

I started testing this with Oracle at about 5 am my time. So far so good with the index naming overrides Matt included to deal with Oracles lame 30 character limit!

For example:

class TaskAssignment < ActiveRecord::Base

hobo_model # Don’t put anything above this

fields do
timestamps
end

belongsto :user, :index => ‘userjoinindex’
belongs
to :task, :index => ‘taskjoinindex’

end

Hey, are you still on target for releasing 1.0 RC today? (I’ve been looking forward to this for a long time!)

BTW, (almost?) every time I submit a comment, I seem to get something like this (although the comment is received and appears if I go back and refresh the page):

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, bryan@XXXXXXXXXX and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Apache/2.2.8 (Ubuntu) Phusion_Passenger/2.2.2 Server at hobocentral.net Port 80

I’ll look at the wordpress error after we do the release today. :)


Write a Comment

Please do not use blog comments for support or reporting bugs.

Please use the hobousers google group for help and support.

Comments are formatted using markdown. To include code, either quote it in `backticks` or indent a code-block by 4 spaces.