h2. 3.8.2
* Engines should work in Rails 3.0 now, too.
h2. 3.8.1
* Make it work with Rails 3.2 by removing deprecated stuff.
h2. 3.8.0
* @Cell::Base@ got rid of the controller dependency. If you want the @ActionController@ instance around in your cell, use @Cell::Rails@ - this should be the default in a standard Rails setup. However, if you plan on using a Cell in a Rack middleware or don't need the controller, use @Cell::Base@.
* New API (note that @controller@ isn't the first argument anymore):
** @Rails.create_cell_for(name, controller)@
** @Rails.render_cell_for(name, state, controller, *args)@
* Moved builder methods to @Cell::Builder@ module.
* @DEFAULT_VIEW_PATHS@ is now in @Cell::Base@.
* Removed the monkey-patch that made state-args work in Rails <= 3.0.3. Upgrade to +3.0.4.
h2. 3.7.1
* Works with Rails 3.2, too. Hopefully.
h2. 3.7.0
h3. Changes
* Cache settings using @Base.cache@ are now inherited.
* Removed @opts
.
* Removed @#options@ in favor of state-args. If you still want the old behaviour, include the @Deprecations@ module in your cell.
* The build process is now instantly delegated to Base.build_for on the concrete cell class.
h2. 3.6.8
h3. Changes
* Removed @opts
.
* Deprecated @#options@ in favour of state-args.
h2. 3.6.7
h3. Changes
* Added @view_assigns@ to TestCase.
h2. 3.6.6
h3. Changes
* Added the @:format@ option for @#render@ which should be used with caution. Sorry for that.
* Removed the useless @layouts/@ view path from Cell::Base.
h2. 3.6.5
h3. Bugfixes
* `Cell::TestCase#invoke` now properly accepts state-args.
h3. Changes
* Added the `:if` option to `Base.cache` which allows adding a conditional proc or instance method to the cache definition. If it doesn't return true, caching for that state is skipped.
h2. 3.6.4
h3. Bugfixes
* Fixes @ArgumentError: wrong number of arguments (1 for 0)@ in @#render_cell@ for Ruby 1.8.
h2. 3.6.3
h3. Bugfixes
* [Rails 3.0] Helpers are now properly included (only once). Thanks to [paneq] for a fix.
* `#url_options` in the Metal module is now delegated to `parent_controller` which propagates global URL setting like relative URLs to your cells.
h3. Changes
* `cells/test_case` is no longer required as it should be loaded automatically.
h2. 3.6.2
h3. Bugfixes
* Fixed cells.gemspec to allow Rails 3.x.
h2. 3.6.1
h3. Changes
* Added the @:format@ option allowing @#render@ to set different template types, e.g. @render :format => :json@.
h2. 3.6.0
h3. Changes
* Cells runs with Rails 3.0 and 3.1.
h2. 3.5.6
h3. Changes
* Added a generator for slim. Use it with `-e slim` when generating.
h2. 3.5.5
h3. Bugfixes
* The generator now places views of namespaced cells into the correct directory. E.g. `rails g Blog::Post display` puts views to `app/cells/blog/post/display.html.erb`.
h3. Changes
* Gem dependencies changed, we now require @actionpack@ and @railties@ >= 3.0.0 instead of @rails@.
h2. 3.5.4
h3. Bugfixes
* state-args work even if your state method receives optional arguments or default values, like @def show(user, age=18)@.
h3. Changes
* Cell::Base.view_paths is now setup in an initializer. If you do scary stuff with view_paths this might lead to scary problems.
* Cells::DEFAULT_VIEW_PATHS is now Cell::Base::DEFAULT_VIEW_PATHS. Note that Cells will set its view_paths to DEFAULT_VIEW_PATHS at initialization time. If you want to alter the view_paths, use Base.append_view_path and friends in a separate initializer.
h2. 3.5.2
h3. Bugfixes
* Controller#render_cell now accepts multiple args as options.
h3. Changes
* Caching versioners now can accept state-args or options from the #render_cell call. This way, you don't have to access #options at all anymore.
h2. 3.5.1
* No longer pass an explicit Proc but a versioner block to @Cell.Base.cache@. Example: @cache :show do "v1" end@
* Caching.cache_key_for now uses @ActiveSupport::Cache.expand_cache_key@. Consequently, a key which used to be like @"cells/director/count/a=1/b=2"@ now is @cells/director/count/a=1&b=2@ and so on. Be warned that this might break your home-made cache expiry.
* Controller#expire_cell_state now expects the cell class as first arg. Example: @expire_cell_state(DirectorCell, :count)@
h3. Bugfixes
* Passing options to @render :state@ in views finally works: @render({:state => :list_item}, item, i)@
h2. 3.5.0
h3. Changes
* Deprecated @opts, use #options now.
* Added state-args. State methods can now receive the options as method arguments. This should be the prefered way of parameter exchange with the outer world.
* #params, #request, and #config is now delegated to @parent_controller.
* The generator now is invoked as @rails g cell ...@
* The `--haml` option is no longer available.
* The `-t` option now is compatible with the rest of rails generators, now it is used as alias for `--test-framework`. Use the `-e` option as an alias of `--template-engine`
Thanks to Jorge Calás Lozano for patching this in the most reasonable manner i could imagine.
* Privatized @#find_family_view_for_state@, @#render_view_for@, and all *ize methods in Cell::Rails.
* New signature: @#render_view_for(state, *args)@
h2. 3.4.4
h3. Changes
* Cells.setup now yields Cell::Base, so you can really call append_view_path and friends here.
* added Cell::Base.build for streamlining the process of deciders around #render_cell, "see here":http://nicksda.apotomo.de/2010/12/pragmatic-rails-thoughts-on-views-inheritance-view-inheritance-and-rails-304
* added TestCase#in_view to test helpers in a real cell view.
h2. 3.4.3
h3. Changes
* #render_cell now accepts a block which yields the cell instance before rendering.
h3. Bugfixes
* We no longer use TestTaskWithoutDescription in our rake tasks.