*SVN*
* Tolerate consecutive delimiters in query parameters. #2295 [darashi@gmail.com]
* Streamline render process, code cleaning. Closes #2294. [skae]
* Keep flash after components are rendered. #2291 [Rick Olson, Scott]
* Shorten IE file upload path to filename only to match other browsers. #1507 [court3nay@gmail.com]
* Fix open/save dialog in IE not opening files send with send_file/send_data, #2279 [Thomas Fuchs]
* Fixed that auto_discovery_link_tag couldn't take a string as the URL [DHH]
* Fixed problem with send_file and WEBrick using stdout #1812 [DHH]
* Optimized tag_options to not sort keys, which is no longer necessary when assert_dom_equal and friend is available #1995 [skae]
* Added assert_dom_equal and assert_dom_not_equal to compare tags generated by the helpers in an order-indifferent manner #1995 [skae]
* Fixed that Request#domain caused an exception if the domain header wasn't set in the original http request #1795 [Michael Koziarski]
* Make the truncate() helper multi-byte safe (assuming $KCODE has been set to something other than "NONE") #2103
* Add routing tests from #1945 [ben@groovie.org]
* Add a routing test case covering #2101 [Nicholas Seckar]
* Cache relative_url_root for all webservers, not just Apache #2193 [skae]
* Speed up cookie use by decreasing string copying #2194 [skae]
* Fixed access to "Host" header with requests made by crappy old HTTP/1.0 clients #2124 [Marcel Molina]
* Added easy assignment of fragment cache store through use of symbols for included stores (old way still works too)
Before:
ActionController::Base.fragment_cache_store =
ActionController::Base::Caching::Fragments::FileStore.new("/path/to/cache/directory")
After:
ActionController::Base.fragment_cache_store = :file_store, "/path/to/cache/directory"
* Added ActionController::Base.session_store=, session_store, and session_options to make it easier to tweak the session options (instead of going straight to ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS)
* Added TextHelper#cycle to cycle over an array of values on each hit (useful for alternating row colors etc) #2154 [dave-ml@dribin.org]
* Ensure that request.path never returns nil. Closes #1675 [Nicholas Seckar]
* Add ability to specify Route Regexps for controllers. Closes #1917. [Sebastian Kanthak]
* Provide Named Route's hash methods as helper methods. Closes #1744. [Nicholas Seckar, Steve Purcell]
* Added :multipart option to ActiveRecordHelper#form to make it possible to add file input fields #2034 [jstirk@oobleyboo.com]
* Moved auto-completion and in-place editing into the Macros module and their helper counterparts into JavaScriptMacrosHelper
* Added in-place editing support in the spirit of auto complete with ActionController::Base.in_place_edit_for, JavascriptHelper#in_place_editor_field, and Javascript support from script.aculo.us #2038 [Jon Tirsen]
* Added :disabled option to all data selects that'll make the elements inaccessible for change #2167, #253 [eigentone]
* Fixed that TextHelper#auto_link_urls would include punctuation in the links #2166, #1671 [eigentone]
* Fixed that number_to_currency(1000, {:precision => 0})) should return "$1,000", instead of "$1,000." #2122 [sd@notso.net]
* Allow link_to_remote to use any DOM-element as the parent of the form elements to be submitted #2137 [erik@ruby-lang.nl]. Example:
* Fixed that render :partial would fail when :object was a Hash (due to backwards compatibility issues) #2148 [Sam Stephenson]
* Fixed JavascriptHelper#auto_complete_for to only include unique items #2153 [Thomas Fuchs]
* Fixed all AssetHelper methods to work with relative paths, such that javascript_include_tag('stdlib/standard') will look in /javascripts/stdlib/standard instead of '/stdlib/standard/' #1963
* Avoid extending view instance with helper modules each request. Closes #1979
* Performance improvements to CGI methods. Closes #1980 [Skaes]
* Added :post option to UrlHelper#link_to that makes it possible to do POST requests through normal ahref links using Javascript
* Fixed overwrite_params
* Added ActionController::Base.benchmark and ActionController::Base.silence to allow for easy benchmarking and turning off the log
* Updated vendor copy of html-scanner to support better xml parsing
* Added :popup option to UrlHelper#link_to #1996 [gabriel.gironda@gmail.com]. Examples:
link_to "Help", { :action => "help" }, :popup => true
link_to "Busy loop", { :action => "busy" }, :popup => ['new_window', 'height=300,width=600']
* Drop trailing \000 if present on RAW_POST_DATA (works around bug in Safari Ajax implementation) #918
* Fix observe_field to fall back to event-based observation if frequency <= 0 #1916 [michael@schubert.cx]
* Allow use of the :with option for submit_to_remote #1936 [jon@instance-design.co.uk]
* AbstractRequest#domain returns nil when host is an ip address #2012 [kevin.clark@gmail.com]
* ActionController documentation update #2051 [fbeausoleil@ftml.net]
* Yield @content_for_ variables to templates #2058 [Sam Stephenson]
* Make rendering an empty partial collection behave like :nothing => true #2080 [Sam Stephenson]
* Add option to specify the singular name used by pagination.
* Use string key to obtain action value. Allows indifferent hashes to be disabled.
* Added ActionView::Base.cache_template_loading back.
* Rewrote compiled templates to decrease code complexity. Removed template load caching in favour of compiled caching. Fixed template error messages. [Nicholas Seckar]
* Fix Routing to handle :some_param => nil better. [Nicholas Seckar, Luminas]
* Add support for :include with pagination (subject to existing constraints for :include with :limit and :offset) #1478 [michael@schubert.cx]
* Prevent the benchmark module from blowing up if a non-HTTP/1.1 request is processed
* Added :use_short_month option to select_month helper to show month names as abbreviations
* Make link_to escape the javascript in the confirm option #1964 [nicolas.pouillard@gmail.com]
* Make assert_redirected_to properly check URL's passed as strings #1910 [Scott Barron]
* Make sure :layout => false is always used when rendering inside a layout
* Use raise instead of assert_not_nil in Test::Unit::TestCase#process to ensure that the test variables (controller, request, response) have been set
* Make sure assigns are built for every request when testing #1866
* Allow remote_addr to be queried on TestRequest #1668
* Fixed bug when a partial render was passing a local with the same name as the partial
* Improved performance of test app req/sec with ~10% refactoring the render method #1823 [Stefan Kaes]
* Improved performance of test app req/sec with 5-30% through a series of Action Pack optimizations #1811 [Stefan Kaes]
* Changed caching/expiration/hit to report using the DEBUG log level and errors to use the ERROR log level instead of both using INFO
* Added support for per-action session management #1763
* Improved rendering speed on complicated templates by up to 100% (the more complex the templates, the higher the speedup) #1234 [Stephan Kaes]. This did necessasitate a change to the internals of ActionView#render_template that now has four parameters. Developers of custom view handlers (like Amrita) need to update for that.
* Added options hash as third argument to FormHelper#input, so you can do input('person', 'zip', :size=>10) #1719 [jeremye@bsa.ca.gov]
* Added Base#expires_in(seconds)/Base#expires_now to control HTTP content cache headers #1755 [Thomas Fuchs]
* Fixed line number reporting for Builder template errors #1753 [piotr]
* Fixed assert_routing so that testing controllers in modules works as expected [Nicholas Seckar, Rick Olson]
* Fixed bug with :success/:failure callbacks for the JavaScriptHelper methods #1730 [court3nay/Thomas Fuchs]
* Added named_route method to RouteSet instances so that RouteSet instance methods do not prevent certain names from being used. [Nicholas Seckar]
* Fixed routes so that routes which do not specify :action in the path or in the requirements have a default of :action => 'index', In addition, fixed url generation so that :action => 'index' does not need to be provided for such urls. [Nicholas Seckar, Markjuh]
* Worked around a Safari bug where it wouldn't pass headers through if the response was zero length by having render :nothing return ' ' instead of ''
* Fixed Request#subdomains to handle "foo.foo.com" correctly
*1.9.1* (11 July, 2005)
* Fixed that auto_complete_for didn't force the input string to lower case even as the db comparison was
* Fixed that Action View should always use the included Builder, never attempt to require the gem, to ensure compatibility
* Added that nil options are not included in tags, so tag("p", :ignore => nil) now returns not but that tag("p", :ignore => "") still includes it #1465 [michael@schuerig.de]
* Fixed that UrlHelper#link_to_unless/link_to_if used html_escape on the name if no link was to be applied. This is unnecessary and breaks its use with images #1649 [joergd@pobox.com]
* Improved error message for DoubleRenderError
* Fixed routing to allow for testing of *path components #1650 [Nicholas Seckar]
* Added :handle as an option to sortable_element to restrict the drag handle to a given class #1642 [thejohnny]
* Added a bunch of script.aculo.us features #1644, #1677, #1695 [Thomas Fuchs]
* Effect.ScrollTo, to smoothly scroll the page to an element
* Better Firefox flickering handling on SlideUp/SlideDown
* Removed a possible memory leak in IE with draggables
* Added support for cancelling dragging my hitting ESC
* Added capability to remove draggables/droppables and redeclare sortables in dragdrop.js (this makes it possible to call sortable_element on the same element more than once, e.g. in AJAX returns that modify the sortable element. all current sortable 'stuff' on the element will be discarded and the sortable will be rebuilt)
* Always reset background color on Effect.Highlight; this make change backwards-compatibility, to be sure include style="background-color:(target-color)" on your elements or else elements will fall back to their CSS rules (which is a good thing in most circumstances)
* Removed circular references from element to prevent memory leaks (still not completely gone in IE)
* Changes to class extension in effects.js
* Make Effect.Highlight restore any previously set background color when finishing (makes effect work with CSS classes that set a background color)
* Fixed myriads of memory leaks in IE and Gecko-based browsers [David Zülke]
* Added incremental and local autocompleting and loads of documentation to controls.js [Ivan Krstic]
* Extended the auto_complete_field helper to accept tokens option
* Changed object extension mechanism to favor Object.extend to make script.aculo.us easily adaptable to support 3rd party libs like IE7.js [David Zülke]
* Fixed that named routes didn't use the default values for action and possible other parameters #1534 [Nicholas Seckar]
* Fixed JavascriptHelper#visual_effect to use camelize such that :blind_up will work #1639 [pelletierm@eastmedia.net]
* Fixed that a SessionRestoreError was thrown if a model object was placed in the session that wasn't available to all controllers. This means that it's no longer necessary to use the 'model :post' work-around in ApplicationController to have a Post model in your session.
*1.9.0* (6 July, 2005)
* Added logging of the request URI in the benchmark statement (makes it easy to grep for slow actions)
* Added javascript_include_tag :defaults shortcut that'll include all the default javascripts included with Action Pack (prototype, effects, controls, dragdrop)
* Cache several controller variables that are expensive to calculate #1229 [skaes@web.de]
* The session class backing CGI::Session::ActiveRecordStore may be replaced with any class that duck-types with a subset of Active Record. See docs for details #1238 [skaes@web.de]
* Fixed that hashes was not working properly when passed by GET to lighttpd #849 [Nicholas Seckar]
* Fixed assert_template nil will be true when no template was rendered #1565 [maceywj@telus.net]
* Added :prompt option to FormOptions#select (and the users of it, like FormOptions#select_country etc) to create "Please select" style descriptors #1181 [Michael Schuerig]
* Added JavascriptHelper#update_element_function, which returns a Javascript function (or expression) that'll update a DOM element according to the options passed #933 [mortonda@dgrmm.net]. Examples:
<%= update_element_function("products", :action => :insert, :position => :bottom, :content => "
<% end %>
* Added :field_name option to DateHelper#select_(year|month|day) to deviate from the year/month/day defaults #1266 [Marcel Molina]
* Added JavascriptHelper#draggable_element and JavascriptHelper#drop_receiving_element to facilitate easy dragging and dropping through the script.aculo.us libraries #1578 [Thomas Fuchs]
* Added that UrlHelper#mail_to will now also encode the default link title #749 [f.svehla@gmail.com]
* Removed the default option of wrap=virtual on FormHelper#text_area to ensure XHTML compatibility #1300 [thomas@columbus.rr.com]
* Adds the ability to include XML CDATA tags using Builder #1563 [Josh Knowles]. Example:
xml.cdata! "some text" # =>
* Added evaluation of