Skip to content
This repository
Newer
Older
100644 6446 lines (3712 sloc) 322.42 kb
34ad69a1 » vatrai
2012-01-15 changelog entry for deprecated ActionController::Integration, ActionC…
1 ## Rails 4.0.0 (unreleased) ##
e2cc6538 » josevalim
2012-01-19 Do not deprecate performed.
2
0d0d4622 » dhh
2012-08-14 Add Request#formats=(extensions) that lets you set multiple formats d…
3 * Add Request#formats=(extensions) that lets you set multiple formats directly in a prioritized order *DHH*
4
5 Example of using this for custom iphone views with an HTML fallback:
6
7 class ApplicationController < ActionController::Base
8 before_filter :adjust_format_for_iphone_with_html_fallback
9
10 private
11 def adjust_format_for_iphone_with_html_fallback
12 request.formats = [ :iphone, :html ] if request.env["HTTP_USER_AGENT"][/iPhone/]
13 end
14 end
15
16
0bd7b07d » rafaelfranca
2012-08-10 Add CHANGELOG entry and documentation for Routing Concerns
17 * Add Routing Concerns to declare common routes that can be reused inside
18 others resources and routes.
19
20 Code before:
21
22 resources :messages do
23 resources :comments
24 end
25
26 resources :posts do
27 resources :comments
28 resources :images, only: :index
29 end
30
31 Code after:
32
33 concern :commentable do
34 resources :comments
35 end
36
37 concern :image_attachable do
38 resources :images, only: :index
39 end
40
41 resources :messages, concerns: :commentable
42
43 resources :posts, concerns: [:commentable, :image_attachable]
44
0d0d4622 » dhh
2012-08-14 Add Request#formats=(extensions) that lets you set multiple formats d…
45 *DHH + Rafael Mendonça França*
0bd7b07d » rafaelfranca
2012-08-10 Add CHANGELOG entry and documentation for Routing Concerns
46
1edc7cd7 » egtann
2012-08-12 Add support for start_hour and end_hour options in select_hour helper
47 * Add start_hour and end_hour options to the select_hour helper. *Evan Tann*
48
347f8c53 » rafaelfranca
2012-08-11 Add CHANGELOG entry for #7314
49 * Raises an ArgumentError when the first argument in `form_for` contain `nil`
50 or is empty.
51
52 *Richard Schneeman*
53
0b11dbe2 » spastorino
2012-08-10 Add 'X-Frame-Options' => 'SAMEORIGIN' and 'X-XSS-Protection' => '1; m…
54 * Add 'X-Frame-Options' => 'SAMEORIGIN' and
55 'X-XSS-Protection' => '1; mode=block'
56 as default headers.
57
58 *Egor Homakov*
59
b540f4c1 » dhh
2012-08-08 Allow data attributes to be set as a first-level option for form_for,…
60 * Allow data attributes to be set as a first-level option for form_for, so you can write `form_for @record, data: { behavior: 'autosave' }` instead of `form_for @record, html: { data: { behavior: 'autosave' } }` *DHH*
61
5d152874 » rafaelfranca
2012-08-07 Deprecate `button_to_function` and `link_to_function` helpers.
62 * Deprecate `button_to_function` and `link_to_function` helpers.
63
64 We recommend the use of Unobtrusive JavaScript instead. For example:
65
8781b266 » rafaelfranca
2012-08-11 Sync CHANGELOGs [ci skip]
66 link_to "Greeting", "#", :class => "nav_link"
5d152874 » rafaelfranca
2012-08-07 Deprecate `button_to_function` and `link_to_function` helpers.
67
8781b266 » rafaelfranca
2012-08-11 Sync CHANGELOGs [ci skip]
68 $(function() {
69 $('.nav_link').click(function() {
70 // Some complex code
5d152874 » rafaelfranca
2012-08-07 Deprecate `button_to_function` and `link_to_function` helpers.
71
8781b266 » rafaelfranca
2012-08-11 Sync CHANGELOGs [ci skip]
72 return false;
73 });
5d152874 » rafaelfranca
2012-08-07 Deprecate `button_to_function` and `link_to_function` helpers.
74 });
75
76 or
77
8781b266 » rafaelfranca
2012-08-11 Sync CHANGELOGs [ci skip]
78 link_to "Greeting", '#', onclick: "alert('Hello world!'); return false", class: "nav_link"
5d152874 » rafaelfranca
2012-08-07 Deprecate `button_to_function` and `link_to_function` helpers.
79
80 for simple cases.
81
82 *Rafael Mendonça França*
83
02c9654b » sikachu
2012-08-06 Do not include application.js if it doesn't exists
84 * `javascript_include_tag :all` will now not include `application.js` if the file does not exists. *Prem Sichanugrist*
85
39f4f289 » rafaelfranca
2012-08-05 Add CHANGELOG entry for 3c731a4
86 * Send an empty response body when call `head` with status between 100 and 199, 204, 205 or 304.
87
88 *Armand du Plessis*
89
6beaafd0 » steveklabnik
2012-08-02 Changelog entry for Digest Auth fix (#2301)
90 * Fixed issue with where Digest authentication would not work behind a proxy. *Arthur Smith*
91
0899be57 » tenderlove
2012-07-29 updated changelog
92 * Added ActionController::Live. Mix it in to your controller and you can
93 stream data to the client live. For example:
94
8781b266 » rafaelfranca
2012-08-11 Sync CHANGELOGs [ci skip]
95 class FooController < ActionController::Base
96 include ActionController::Live
0899be57 » tenderlove
2012-07-29 updated changelog
97
8781b266 » rafaelfranca
2012-08-11 Sync CHANGELOGs [ci skip]
98 def index
99 100.times {
100 # Client will see this as it's written
101 response.stream.write "hello world\n"
102 sleep 1
103 }
104 response.stream.close
105 end
0899be57 » tenderlove
2012-07-29 updated changelog
106 end
107
14a1df14 » spastorino
2012-07-23 Add CHANGELOG entry
108 * Remove ActionDispatch::Head middleware in favor of Rack::Head. *Santiago Pastorino*
109
9345a116 » Carlos Galdino + Rafael Mendonça França
2012-07-21 Add back `:confirm` and change deprecation horizon to 4.1
110 * Deprecate `:confirm` in favor of `:data => { :confirm => "Text" }` option for `button_to`, `button_tag`, `image_submit_tag`, `link_to` and `submit_tag` helpers.
fb8a830a » carlosgaldino
2012-06-01 Remove `:confirm` in favor of `:data => { :confirm => 'Text' }` option
111
9345a116 » Carlos Galdino + Rafael Mendonça França
2012-07-21 Add back `:confirm` and change deprecation horizon to 4.1
112 *Carlos Galdino + Rafael Mendonça França*
fb8a830a » carlosgaldino
2012-06-01 Remove `:confirm` in favor of `:data => { :confirm => 'Text' }` option
113
3bbc2fb9 » carlosantoniodasilva
2012-07-08 Improve and fix AP changelog, sync release notes [ci skip]
114 * Show routes in exception page while debugging a `RoutingError` in development. *Richard Schneeman and Mattt Thompson*
bbfd29a6 » schneems
2012-07-07 show routes while debugging added to changelog
115
238a4253 » kennyj
2012-07-07 Added support add_flash_types
116 * Add `ActionController::Flash.add_flash_types` method to allow people to register their own flash types. e.g.:
117
118 class ApplicationController
119 add_flash_types :error, :warning
120 end
121
3bbc2fb9 » carlosantoniodasilva
2012-07-08 Improve and fix AP changelog, sync release notes [ci skip]
122 If you add the above code, you can use `<%= error %>` in an erb, and `redirect_to /foo, :error => 'message'` in a controller.
238a4253 » kennyj
2012-07-07 Added support add_flash_types
123
124 *kennyj*
125
ab72040b » carlosantoniodasilva
2012-06-30 Update AR and AP changelogs [ci skip]
126 * Remove Active Model dependency from Action Pack. *Guillermo Iguaran*
127
c42a7a00 » kennyj
2012-06-06 Support unicode character route in config/routes.rb.
128 * Support unicode characters in routes. Route will be automatically escaped, so instead of manually escaping:
129
130 get Rack::Utils.escape('こんにちは') => 'home#index'
131
132 You just have to write the unicode route:
133
134 get 'こんにちは' => 'home#index'
135
136 *kennyj*
137
bd8c0b8a » spastorino
2012-06-11 Return proper format on exceptions
138 * Return proper format on exceptions. *Santiago Pastorino*
139
215d41d8 » carlosantoniodasilva
2012-07-01 Update 4.0 Release Notes with changelogs [ci skip]
140 * Allow to use `mounted_helpers` (helpers for accessing mounted engines) in `ActionView::TestCase`. *Piotr Sarnacki*
60b4290f » drogus
2012-06-01 Allow to use mounted helpers in ActionView::TestCase
141
215d41d8 » carlosantoniodasilva
2012-07-01 Update 4.0 Release Notes with changelogs [ci skip]
142 * Include `mounted_helpers` (helpers for accessing mounted engines) in `ActionDispatch::IntegrationTest` by default. *Piotr Sarnacki*
65250022 » drogus
2012-06-01 Include routes.mounted_helpers into integration tests
143
47918223 » jeremyf
2012-05-31 Extracted redirect logic from ActionController::Force::ClassMethods.f…
144 * Extracted redirect logic from `ActionController::ForceSSL::ClassMethods.force_ssl` into `ActionController::ForceSSL#force_ssl_redirect`
145
146 *Jeremy Friesen*
147
ab7a80ea » lest
2012-05-30 accept a block in button_to helper
148 * Make possible to use a block in button_to helper if button text is hard
149 to fit into the name parameter, e.g.:
150
151 <%= button_to [:make_happy, @user] do %>
152 Make happy <strong><%= @user.name %></strong>
153 <% end %>
154 # => "<form method="post" action="/users/1/make_happy" class="button_to">
155 # <div>
156 # <button type="submit">
157 # Make happy <strong>Name</strong>
158 # </button>
159 # </div>
160 # </form>"
161
162 *Sergey Nartimov*
163
e4aaac13 » drogus
2012-05-27 Fix sorting of helpers from different paths
164 * change a way of ordering helpers from several directories. Previously,
165 when loading helpers from multiple paths, all of the helpers files were
166 gathered into one array an then they were sorted. Helpers from different
167 directories should not be mixed before loading them to make loading more
168 predictable. The most common use case for such behavior is loading helpers
169 from engines. When you load helpers from application and engine Foo, in
170 that order, first rails will load all of the helpers from application,
171 sorted alphabetically and then it will do the same for Foo engine.
172
173 *Piotr Sarnacki*
174
215d41d8 » carlosantoniodasilva
2012-07-01 Update 4.0 Release Notes with changelogs [ci skip]
175 * `truncate` now always returns an escaped HTML-safe string. The option `:escape` can be used as
2c2b0bea » rafaelfranca
2012-05-26 Add `:escape` option for `truncate`
176 false to not escape the result.
177
178 *Li Ellis Gallardo + Rafael Mendonça França*
179
eedc5135 » rafaelfranca
2012-05-26 Update the documentation and add CHANGELOG entry
180 * `truncate` now accepts a block to show extra content when the text is truncated. *Li Ellis Gallardo*
181
b02d14aa » carlosgaldino
2012-05-16 Add several HTML5 input helpers
182 * Add `week_field`, `week_field_tag`, `month_field`, `month_field_tag`, `datetime_local_field`,
183 `datetime_local_field_tag`, `datetime_field` and `datetime_field_tag` helpers. *Carlos Galdino*
184
1ce4b5b3 » carlosgaldino
2012-05-16 Add HTML5 input[type="color"] helper
185 * Add `color_field` and `color_field_tag` helpers. *Carlos Galdino*
186
a78ee05d » rafaelfranca
2012-05-20 Fix CHANGELOG order and add a brief description of the changes in the
187 * `assert_generates`, `assert_recognizes`, and `assert_routing` all raise
188 `Assertion` instead of `RoutingError` *David Chelimsky*
189
3fc561a1 » pixeltrix
2012-05-20 Return 400 Bad Request for URL paths with invalid encoding.
190 * URL path parameters with invalid encoding now raise ActionController::BadRequest. *Andrew White*
191
66eb3f02 » pixeltrix
2012-05-20 Raise ActionController::BadRequest for malformed parameter hashes.
192 * Malformed query and request parameter hashes now raise ActionController::BadRequest. *Andrew White*
193
0e207a49 » carlosantoniodasilva
2012-05-19 Clarify grouped_options_for_select method API, add changelog entry
194 * Add `divider` option to `grouped_options_for_select` to generate a separator
195 `optgroup` automatically, and deprecate `prompt` as third argument, in favor
196 of using an options hash. *Nicholas Greenfield*
197
446940c3 » soulim
2012-04-03 Add HTML5 input[type="time"] helper
198 * Add `time_field` and `time_field_tag` helpers which render an `input[type="time"]` tag. *Alex Soulim*
199
90ec863b » iHiD
2012-05-17 Removed old text_helper apis for highlight, excerpt and word_wrap
200 * Removed old text_helper apis for highlight, excerpt and word_wrap *Jeremy Walker*
201
de29c308 » josevalim
2012-05-17 Update actionpack/CHANGELOG.md
202 * Templates without a handler extension now raises a deprecation warning but still
203 defaults to ERb. In future releases, it will simply return the template contents. *Steve Klabnik*
204
0106e5fe » Carlos Galdino + Rafael Mendonça França
2012-07-21 Add back `:disable_with` and change deprecation horizon to 4.1
205 * Deprecate `:disable_with` in favor of `:data => { :disable_with => "Text" }` option from `submit_tag`, `button_tag` and `button_to` helpers.
dd42e890 » josevalim
2012-05-15 Revert "Revert "Remove `:disable_with` in favor of `'data-disable-wit…
206
207 *Carlos Galdino + Rafael Mendonça França*
208
71931e2e » rafaelfranca
2012-05-13 Remove `:mouseover` option from `image_tag` helper.
209 * Remove `:mouseover` option from `image_tag` helper. *Rafael Mendonça França*
210
211 * The `select` method (select tag) forces :include_blank if `required` is true and
2e9c7cd5 » Angelo Capilleri
2012-05-13 Changed the changelog and documentation about
212 `display size` is one and `multiple` is not true. *Angelo Capilleri*
213
9b4514c3 » pixeltrix
2012-05-11 Copy literal route constraints to defaults - fixes #3571 and #6224.
214 * Copy literal route constraints to defaults so that url generation know about them.
215 The copied constraints are `:protocol`, `:subdomain`, `:domain`, `:host` and `:port`.
216
217 *Andrew White*
218
c02846ff » josevalim
2012-05-06 Update actionpack/CHANGELOG.md
219 * `respond_to` and `respond_with` now raise ActionController::UnknownFormat instead
220 of directly returning head 406. The exception is rescued and converted to 406
221 in the exception handling middleware. *Steven Soroka*
222
a544e006 » alindeman
2012-05-03 Allows assert_redirected_to to accept a regular expression
223 * Allows `assert_redirected_to` to match against a regular expression. *Andy Lindeman*
224
36720af4 » spastorino
2012-05-02 Add CHANGELOG entry
225 * Add backtrace to development routing error page. *Richard Schneeman*
226
4a2d53a5 » dmitriy-kiriyenko
2012-04-30 Replace boolean argument with an options hash.
227 * Replace `include_seconds` boolean argument with `:include_seconds => true` option
228 in `distance_of_time_in_words` and `time_ago_in_words` signature. *Dmitriy Kiriyenko*
229
ab318d28 » carlosantoniodasilva
2012-04-26 Add changelog entry and some docs for collection + layout
230 * Make current object and counter (when it applies) variables accessible when
231 rendering templates with :object / :collection. *Carlos Antonio da Silva*
232
c02846ff » josevalim
2012-05-06 Update actionpack/CHANGELOG.md
233 * JSONP now uses mimetype application/javascript instead of application/json. *omjokine*
65df4c53 » carlosantoniodasilva
2012-04-29 Add changelog entry for jsonp mimetype change, fix failing test
234
e6ab0d56 » drogus
2012-04-07 Lazy load `default_form_builder` if it's passed as a string
235 * Allow to lazy load `default_form_builder` by passing a `String` instead of a constant. *Piotr Sarnacki*
236
5c18bdca » pixeltrix
2012-04-28 Merge session arg with existing session instead of overwriting
237 * Session arguments passed to `process` calls in functional tests are now merged into
238 the existing session, whereas previously they would replace the existing session.
239 This change may break some existing tests if they are asserting the exact contents of
240 the session but should not break existing tests that only assert individual keys.
241
242 *Andrew White*
243
47cbfbb9 » jmbejar
2012-04-05 Add index method to FormBuilder. Useful when you use field_for and ne…
244 * Add `index` method to FormBuilder class. *Jorge Bejar*
245
1141f716 » spastorino
2012-03-30 Remove the leading \n added by textarea on assert_select
246 * Remove the leading \n added by textarea on assert_select. *Santiago Pastorino*
247
128cfbdf » drogus
2012-03-28 config.action_view.embed_authenticity_token_in_remote_forms is true b…
248 * Changed default value for `config.action_view.embed_authenticity_token_in_remote_forms`
249 to `false`. This change breaks remote forms that need to work also without javascript,
250 so if you need such behavior, you can either set it to `true` or explicitly pass
251 `:authenticity_token => true` in form options
252
da5a47e7 » rafaelfranca
2012-03-17 Update the guides and CHANGELOG
253 * Added ActionDispatch::SSL middleware that when included force all the requests to be under HTTPS protocol. *Rafael Mendonça França*
254
2731ffae » nashby
2012-03-13 fix typo in AP CHANGELOG [ci skip]
255 * Add `include_hidden` option to select tag. With `:include_hidden => false` select with `multiple` attribute doesn't generate hidden input with blank value. *Vasiliy Ermolovich*
54a75e1a » nashby
2012-03-13 add 'include_hidden' option to select tag, closes #5402
256
f12f071e » parndt
2012-03-12 Documented the removal of size from text_field based helpers and cols…
257 * Removed default `size` option from the `text_field`, `search_field`, `telephone_field`, `url_field`, `email_field` helpers. *Philip Arndt*
258
259 * Removed default `cols` and `rows` options from the `text_area` helper. *Philip Arndt*
260
d8047906 » rafaelfranca
2012-03-09 Fix my name in the CHANGELOG to follow the convention
261 * Adds support for layouts when rendering a partial with a given collection. *serabe*
6e0a763d » Serabe
2012-03-07 Adds line to change log and update documentation.
262
d8047906 » rafaelfranca
2012-03-09 Fix my name in the CHANGELOG to follow the convention
263 * Allows the route helper `root` to take a string argument. For example, `root 'pages#main'`. *bcardarella*
cf75417f » vijaydev
2012-03-05 document the shortcut to the root route helper [ci skip]
264
d8047906 » rafaelfranca
2012-03-09 Fix my name in the CHANGELOG to follow the convention
265 * Forms of persisted records use always PATCH (via the `_method` hack). *fxn*
b7a09453 » fxn
2012-02-24 uses PATCH for the forms of persisted records, and routes PATCH and P…
266
d8047906 » rafaelfranca
2012-03-09 Fix my name in the CHANGELOG to follow the convention
267 * For resources, both PATCH and PUT are routed to the `update` action. *fxn*
b7a09453 » fxn
2012-02-24 uses PATCH for the forms of persisted records, and routes PATCH and P…
268
c04a0847 » pixeltrix
2012-02-23 Update documentation for force_ssl - closes #5023.
269 * Don't ignore `force_ssl` in development. This is a change of behavior - use a `:if` condition to recreate the old behavior.
270
271 class AccountsController < ApplicationController
272 force_ssl :if => :ssl_configured?
273
274 def ssl_configured?
275 !Rails.env.development?
276 end
277 end
278
279 *Pat Allan*
280
5497432d » fxn
2012-02-22 updates CHANGELOGs to register changes in 002713c
281 * Adds support for the PATCH verb:
282 * Request objects respond to `patch?`.
283 * Routes have a new `patch` method, and understand `:patch` in the
284 existing places where a verb is configured, like `:via`.
285 * New method `patch` available in functional tests.
286 * If `:patch` is the default verb for updates, edits are
287 tunneled as PATCH rather than as PUT, and routing acts accordingly.
288 * New method `patch_via_redirect` available in integration tests.
289
290 *dlee*
291
ad46884a » jeremy
2012-02-19 Integration tests support the OPTIONS http method
292 * Integration tests support the `OPTIONS` method. *Jeremy Kemper*
293
ce51edb7 » fxn
2012-02-17 let expires_in accept a must_revalidate flag
294 * `expires_in` accepts a `must_revalidate` flag. If true, "must-revalidate"
295 is added to the Cache-Control header. *fxn*
296
d6b26a60 » exviva
2012-02-12 Add HTML5 input[type="date"] helper
297 * Add `date_field` and `date_field_tag` helpers which render an `input[type="date"]` tag *Olek Janiszewski*
298
bcd3b870 » sikachu
2012-02-03 Add *_url helpers to get the full assets URL
299 * Adds `image_url`, `javascript_url`, `stylesheet_url`, `audio_url`, `video_url`, and `font_url`
300 to assets tag helper. These URL helpers will return the full path to your assets. This is useful
301 when you are going to reference this asset from external host. *Prem Sichanugrist*
302
3def1c8e » sikachu
2012-02-03 Fix override API response bug in respond_with
303 * Default responder will now always use your overridden block in `respond_with` to render your response. *Prem Sichanugrist*
304
f506c806 » carlosantoniodasilva
2012-02-01 Add changelog, docs and guides entries
305 * Allow `value_method` and `text_method` arguments from `collection_select` and
306 `options_from_collection_for_select` to receive an object that responds to `:call`,
307 such as a `proc`, to evaluate the option in the current element context. This works
308 the same way with `collection_radio_buttons` and `collection_check_boxes`.
309
310 *Carlos Antonio da Silva + Rafael Mendonça França*
311
312 * Add `collection_check_boxes` form helper, similar to `collection_select`:
313 Example:
314
8781b266 » rafaelfranca
2012-08-11 Sync CHANGELOGs [ci skip]
315 collection_check_boxes :post, :author_ids, Author.all, :id, :name
316 # Outputs something like:
317 <input id="post_author_ids_1" name="post[author_ids][]" type="checkbox" value="1" />
318 <label for="post_author_ids_1">D. Heinemeier Hansson</label>
319 <input id="post_author_ids_2" name="post[author_ids][]" type="checkbox" value="2" />
320 <label for="post_author_ids_2">D. Thomas</label>
321 <input name="post[author_ids][]" type="hidden" value="" />
f506c806 » carlosantoniodasilva
2012-02-01 Add changelog, docs and guides entries
322
323 The label/check_box pairs can be customized with a block.
324
325 *Carlos Antonio da Silva + Rafael Mendonça França*
326
327 * Add `collection_radio_buttons` form helper, similar to `collection_select`:
328 Example:
329
8781b266 » rafaelfranca
2012-08-11 Sync CHANGELOGs [ci skip]
330 collection_radio_buttons :post, :author_id, Author.all, :id, :name
331 # Outputs something like:
332 <input id="post_author_id_1" name="post[author_id]" type="radio" value="1" />
333 <label for="post_author_id_1">D. Heinemeier Hansson</label>
334 <input id="post_author_id_2" name="post[author_id]" type="radio" value="2" />
335 <label for="post_author_id_2">D. Thomas</label>
f506c806 » carlosantoniodasilva
2012-02-01 Add changelog, docs and guides entries
336
337 The label/radio_button pairs can be customized with a block.
338
339 *Carlos Antonio da Silva + Rafael Mendonça França*
340
3d109556 » carlosantoniodasilva
2012-02-02 Replicate :form html5 attribute to hidden field for check_box
341 * check_box with `:form` html5 attribute will now replicate the `:form`
342 attribute to the hidden field as well. *Carlos Antonio da Silva*
343
a4c120f1 » dhh
2012-03-14 Do not include the authenticity token in forms where remote: true as …
344 * Turn off verbose mode of rack-cache, we still have X-Rack-Cache to
345 check that info. Closes #5245. *Santiago Pastorino*
346
b03e55d1 » carlosantoniodasilva
2012-01-26 Do not generate label for attribute when giving nil
347 * `label` form helper accepts :for => nil to not generate the attribute. *Carlos Antonio da Silva*
348
01b4a7c1 » rafaelfranca
2012-01-20 No need to check html_safe? twice
349 * Add `:format` option to number_to_percentage *Rodrigo Flores*
350
f506c806 » carlosantoniodasilva
2012-02-01 Add changelog, docs and guides entries
351 * Add `config.action_view.logger` to configure logger for ActionView. *Rafael Mendonça França*
5a6ea535 » rafaelfranca
2012-01-18 ActionView now has its own logger
352
34ad69a1 » vatrai
2012-01-15 changelog entry for deprecated ActionController::Integration, ActionC…
353 * Deprecated ActionController::Integration in favour of ActionDispatch::Integration
354
355 * Deprecated ActionController::IntegrationTest in favour of ActionDispatch::IntegrationTest
356
357 * Deprecated ActionController::PerformanceTest in favour of ActionDispatch::PerformanceTest
358
359 * Deprecated ActionController::AbstractRequest in favour of ActionDispatch::Request
360
361 * Deprecated ActionController::Request in favour of ActionDispatch::Request
362
363 * Deprecated ActionController::AbstractResponse in favour of ActionDispatch::Response
364
365 * Deprecated ActionController::Response in favour of ActionDispatch::Response
366
367 * Deprecated ActionController::Routing in favour of ActionDispatch::Routing
368
9bd38f31 » tadast
2012-01-05 check_box helper with :disabled => true generates disabled hidden fie…
369 * check_box helper with :disabled => true will generate a disabled hidden field to conform with the HTML convention where disabled fields are not submitted with the form.
370 This is a behavior change, previously the hidden tag had a value of the disabled checkbox.
371 *Tadas Tamosauskas*
372
a5976ccc » lucascaton
2012-01-31 Remove slash from favicon_link_tag method attribute
373 * `favicon_link_tag` helper will now use the favicon in app/assets by default. *Lucas Caton*
374
da5a47e7 » rafaelfranca
2012-03-17 Update the guides and CHANGELOG
375 * `ActionView::Helpers::TextHelper#highlight` now defaults to the
376 HTML5 `mark` element. *Brian Cardarella*
e4915e17 » bcardarella
2012-02-05 Highlight defaults to HTML5 `mark` element
377
d8047906 » rafaelfranca
2012-03-09 Fix my name in the CHANGELOG to follow the convention
378
8781b266 » rafaelfranca
2012-08-11 Sync CHANGELOGs [ci skip]
379 ## Rails 3.2.8 (Aug 9, 2012) ##
380
381 * There is an XSS vulnerability in the strip_tags helper in Ruby on Rails, the
382 helper doesn't correctly handle malformed html. As a result an attacker can
383 execute arbitrary javascript through the use of specially crafted malformed
384 html.
385
386 *Marek from Nethemba (www.nethemba.com) & Santiago Pastorino*
387
388 * When a "prompt" value is supplied to the `select_tag` helper, the "prompt" value is not escaped.
389 If untrusted data is not escaped, and is supplied as the prompt value, there is a potential for XSS attacks.
390 Vulnerable code will look something like this:
391 select_tag("name", options, :prompt => UNTRUSTED_INPUT)
392
393 *Santiago Pastorino*
394
395 * Reverted the deprecation of `:confirm`. *Rafael Mendonça França*
396
397 * Reverted the deprecation of `:disable_with`. *Rafael Mendonça França*
398
399 * Reverted the deprecation of `:mouseover` option to `image_tag`. *Rafael Mendonça França*
400
401 * Reverted the deprecation of `button_to_function` and `link_to_function` helpers.
402
403 *Rafael Mendonça França*
404
405
406 ## Rails 3.2.7 (Jul 26, 2012) ##
407
408 * Do not convert digest auth strings to symbols. CVE-2012-3424
409
410 * Bump Journey requirements to 1.0.4
411
412 * Add support for optional root segments containing slashes
413
414 * Fixed bug creating invalid HTML in select options
415
416 * Show in log correct wrapped keys
417
418 * Fix NumberHelper options wrapping to prevent verbatim blocks being rendered instead of line continuations.
419
420 * ActionController::Metal doesn't have logger method, check it and then delegate
421
422 * ActionController::Caching depends on RackDelegation and AbstractController::Callbacks
423
424
425 ## Rails 3.2.6 (Jun 12, 2012) ##
426
427 * nil is removed from array parameter values
428
429 CVE-2012-2694
430
431 * Deprecate `:confirm` in favor of `':data => { :confirm => "Text" }'` option for `button_to`, `button_tag`, `image_submit_tag`, `link_to` and `submit_tag` helpers.
432
433 *Carlos Galdino*
434
435 * Allow to use mounted_helpers (helpers for accessing mounted engines) in ActionView::TestCase. *Piotr Sarnacki*
436
437 * Include mounted_helpers (helpers for accessing mounted engines) in ActionDispatch::IntegrationTest by default. *Piotr Sarnacki*
438
439
3449b757 » rafaelfranca
2012-06-01 Sync CHANGLOG with the 3-2-stable branch
440 ## Rails 3.2.5 (Jun 1, 2012) ##
441
442 * No changes.
443
444
445 ## Rails 3.2.4 (May 31, 2012) ##
446
447 * Deprecate old APIs for highlight, excerpt and word_wrap *Jeremy Walker*
448
449 * Deprecate `:disable_with` in favor of `'data-disable-with'` option for `button_to`, `button_tag` and `submit_tag` helpers.
450
451 *Carlos Galdino + Rafael Mendonça França*
452
453 * Deprecate `:mouseover` option for `image_tag` helper. *Rafael Mendonça França*
454
455 * Deprecate `button_to_function` and `link_to_function` helpers. *Rafael Mendonça França*
456
457 * Don't break Haml with textarea newline fix. GH #393, #4000, #5190, #5191
458
459 * Fix options handling on labels. GH #2492, #5614
460
461 * Added config.action_view.embed_authenticity_token_in_remote_forms to deal
462 with regression from 16ee611fa
463
464 * Set rendered_format when doing render :inline. GH #5632
465
466 * Fix the redirect when it receive blocks with arity of 1. Closes #5677
467
468 * Strip [nil] from parameters hash. Thanks to Ben Murphy for
469 reporting this! CVE-2012-2660
470
471
36388810 » bsodmike
2012-04-16 Update Rails 3.2.3 release date in changelogs as March 30, 2012
472 ## Rails 3.2.3 (March 30, 2012) ##
8a714c4d » vijaydev
2012-03-09 fix incorrect changelog headings [ci skip].
473
805b15ff » drogus
2012-03-28 Added config.action_view.embed_authenticity_token_in_remote_forms
474 * Add `config.action_view.embed_authenticity_token_in_remote_forms` (defaults to true) which allows to set if authenticity token will be included by default in remote forms. If you change it to false, you can still force authenticity token by passing `:authenticity_token => true` in form options *Piotr Sarnacki*
475
a4c120f1 » dhh
2012-03-14 Do not include the authenticity token in forms where remote: true as …
476 * Do not include the authenticity token in forms where remote: true as ajax forms use the meta-tag value *DHH*
477
d8047906 » rafaelfranca
2012-03-09 Fix my name in the CHANGELOG to follow the convention
478 * Upgrade rack-cache to 1.2. *José Valim*
479
480 * ActionController::SessionManagement is removed. *Santiago Pastorino*
8a714c4d » vijaydev
2012-03-09 fix incorrect changelog headings [ci skip].
481
d8047906 » rafaelfranca
2012-03-09 Fix my name in the CHANGELOG to follow the convention
482 * Since the router holds references to many parts of the system like engines, controllers and the application itself, inspecting the route set can actually be really slow, therefore we default alias inspect to to_s. *José Valim*
8a714c4d » vijaydev
2012-03-09 fix incorrect changelog headings [ci skip].
483
d8047906 » rafaelfranca
2012-03-09 Fix my name in the CHANGELOG to follow the convention
484 * Add a new line after the textarea opening tag. Closes #393 *Rafael Mendonça França*
8a714c4d » vijaydev
2012-03-09 fix incorrect changelog headings [ci skip].
485
ba35527f » vijaydev
2012-03-09 Minor changelog fixes [ci skip]
486 * Always pass a respond block from to responder. We should let the responder decide what to do with the given overridden response block, and not short circuit it. *Prem Sichanugrist*
8a714c4d » vijaydev
2012-03-09 fix incorrect changelog headings [ci skip].
487
d8047906 » rafaelfranca
2012-03-09 Fix my name in the CHANGELOG to follow the convention
488 * Fixes layout rendering regression from 3.2.2. *José Valim*
8a714c4d » vijaydev
2012-03-09 fix incorrect changelog headings [ci skip].
489
152a393d » pacoguzman
2011-12-18 Update changelogs with rails 3.0-stable branch info
490
05c6caf4 » claudiob
2012-03-01 Add release dates to documentation
491 ## Rails 3.2.2 (March 1, 2012) ##
152a393d » pacoguzman
2011-12-18 Update changelogs with rails 3.0-stable branch info
492
493 * Format lookup for partials is derived from the format in which the template is being rendered. Closes #5025 part 2 *Santiago Pastorino*
494
495 * Use the right format when a partial is missing. Closes #5025. *Santiago Pastorino*
496
497 * Default responder will now always use your overridden block in `respond_with` to render your response. *Prem Sichanugrist*
498
499 * check_box helper with :disabled => true will generate a disabled hidden field to conform with the HTML convention where disabled fields are not submitted with the form.
500 This is a behavior change, previously the hidden tag had a value of the disabled checkbox.
501 *Tadas Tamosauskas*
502
503
504 ## Rails 3.2.1 (January 26, 2012) ##
505
506 * Documentation improvements.
507
508 * Allow `form.select` to accept ranges (regression). *Jeremy Walker*
509
510 * `datetime_select` works with -/+ infinity dates. *Joe Van Dyk*
511
512
6d426b10 » claudiob
2012-01-26 Add release date of Rails 3.2.0 to documentation
513 ## Rails 3.2.0 (January 20, 2012) ##
c0d1f5f8 » josevalim
2012-01-06 Update actionpack/CHANGELOG.md
514
96a817fb » carlosantoniodasilva
2012-01-17 Update changelog
515 * Add `config.action_dispatch.default_charset` to configure default charset for ActionDispatch::Response. *Carlos Antonio da Silva*
516
517 * Deprecate setting default charset at controller level, use the new `config.action_dispatch.default_charset` instead. *Carlos Antonio da Silva*
518
519 * Deprecate ActionController::UnknownAction in favour of AbstractController::ActionNotFound. *Carlos Antonio da Silva*
520
521 * Deprecate ActionController::DoubleRenderError in favour of AbstractController::DoubleRenderError. *Carlos Antonio da Silva*
522
523 * Deprecate method_missing handling for not found actions, use action_missing instead. *Carlos Antonio da Silva*
524
525 * Deprecate ActionController#rescue_action, ActionController#initialize_template_class, and ActionController#assign_shortcuts.
526 These methods were not being used internally anymore and are going to be removed in Rails 4. *Carlos Antonio da Silva*
527
29fdd8c7 » spastorino
2012-01-13 Use a BodyProxy instead of including a Module that responds to close.
528 * Use a BodyProxy instead of including a Module that responds to
529 close. Closes #4441 if Active Record is disabled assets are delivered
530 correctly *Santiago Pastorino*
531
ad449525 » spastorino
2012-01-10 Add CHANGELOG entry
532 * Rails initialization with initialize_on_precompile = false should set assets_dir *Santiago Pastorino*
533
439d3407 » spastorino
2012-01-03 Add font_path helper method
534 * Add font_path helper method *Santiago Pastorino*
535
c8dcc19c » spastorino
2011-12-28 Add CHANGELOG entry
536 * Depends on rack ~> 1.4.0 *Santiago Pastorino*
537
f32247cb » josevalim
2011-12-24 Update CHANGELOGs
538 * Add :gzip option to `caches_page`. The default option can be configured globally using `page_cache_compression` *Andrey Sitnik*
539
6481bc5f » josevalim
2011-12-16 Update CHANGELOGs and guides.
540 * The ShowExceptions middleware now accepts a exceptions application that is responsible to render an exception when the application fails. The application is invoked with a copy of the exception in `env["action_dispatch.exception"]` and with the PATH_INFO rewritten to the status code. *José Valim*
541
3f65e7f7 » wfarr
2011-12-10 Add button_tag support to ActionView::Helpers::FormBuilder.
542 * Add `button_tag` support to ActionView::Helpers::FormBuilder.
543
544 This support mimics the default behavior of `submit_tag`.
545
546 Example:
547
548 <%= form_for @post do |f| %>
549 <%= f.button %>
550 <% end %>
551
96a817fb » carlosantoniodasilva
2012-01-17 Update changelog
552 * Date helpers accept a new option, `:use_two_digit_numbers = true`, that renders select boxes for months and days with a leading zero without changing the respective values.
dc43e402 » DevL
2011-12-11 Added :use_two_digit_numbers option [Lennart Fridén & Kim Persson]
553 For example, this is useful for displaying ISO8601-style dates such as '2011-08-01'. *Lennart Fridén and Kim Persson*
554
22a6079a » dhh
2011-12-09 Make ActiveSupport::Benchmarkable a default module for ActionControll…
555 * Make ActiveSupport::Benchmarkable a default module for ActionController::Base, so the #benchmark method is once again available in the controller context like it used to be *DHH*
556
5ad52152 » josevalim
2011-12-09 Deprecate implicit layout lookup in favor of inheriting the _layout c…
557 * Deprecated implied layout lookup in controllers whose parent had a explicit layout set:
558
559 class ApplicationController
560 layout "application"
561 end
562
563 class PostsController < ApplicationController
564 end
565
566 In the example above, Posts controller will no longer automatically look up for a posts layout.
567
568 If you need this functionality you could either remove `layout "application"` from ApplicationController or explicitly set it to nil in PostsController. *José Valim*
569
18ceed20 » sikachu
2011-12-06 Allow layout fallback when using `layout` method
570 * Rails will now use your default layout (such as "layouts/application") when you specify a layout with `:only` and `:except` condition, and those conditions fail. *Prem Sichanugrist*
571
572 For example, consider this snippet:
573
574 class CarsController
575 layout 'single_car', :only => :show
576 end
577
578 Rails will use 'layouts/single_car' when a request comes in `:show` action, and use 'layouts/application' (or 'layouts/cars', if exists) when a request comes in for any other actions.
579
e29773f8 » nashby
2011-12-04 form_for with +:as+ option uses "action_as" as css class and id
580 * form_for with +:as+ option uses "#{action}_#{as}" as css class and id:
581
582 Before:
583
584 form_for(@user, :as => 'client') # => "<form class="client_new">..."
585
586 Now:
587
588 form_for(@user, :as => 'client') # => "<form class="new_client">..."
589
590 *Vasiliy Ermolovich*
591
07f90f6b » josevalim
2011-12-01 Merge branch 'exceptions' with the following features:
592 * Allow rescue responses to be configured through a railtie as in `config.action_dispatch.rescue_responses`. Please look at ActiveRecord::Railtie for an example *José Valim*
593
218c2729 » dhh
2011-12-01 Allow fresh_when/stale? to take a record instead of an options hash […
594 * Allow fresh_when/stale? to take a record instead of an options hash *DHH*
595
1e51cd95 » josevalim
2011-12-01 Update CHANGELOG.
596 * Assets should use the request protocol by default or default to relative if no request is available *Jonathan del Strother*
597
598 * Log "Filter chain halted as CALLBACKNAME rendered or redirected" every time a before callback halts *José Valim*
38ab982c » josevalim
2011-11-30 Log 'Filter chain halted as CALLBACKNAME rendered or redirected' ever…
599
25592569 » nashby
2011-11-28 update CHANGELOG
600 * You can provide a namespace for your form to ensure uniqueness of id attributes on form elements.
601 The namespace attribute will be prefixed with underscore on the generate HTML id. *Vasiliy Ermolovich*
602
603 Example:
604
605 <%= form_for(@offer, :namespace => 'namespace') do |f| %>
606 <%= f.label :version, 'Version' %>:
607 <%= f.text_field :version %>
608 <% end %>
609
654df86b » josevalim
2011-12-16 Show detailed exceptions no longer returns true if the request is loc…
610 * Refactor ActionDispatch::ShowExceptions. The controller is responsible for choosing to show exceptions when `consider_all_requests_local` is false.
3a1d5195 » lest
2011-11-22 deprecation warning, changelog entry
611
654df86b » josevalim
2011-12-16 Show detailed exceptions no longer returns true if the request is loc…
612 It's possible to override `show_detailed_exceptions?` in controllers to specify which requests should provide debugging information on errors. The default value is now false, meaning local requests in production will no longer show the detailed exceptions page unless `show_detailed_exceptions?` is overridden and set to `request.local?`.
3a1d5195 » lest
2011-11-22 deprecation warning, changelog entry
613
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
614 * Responders now return 204 No Content for API requests without a response body (as in the new scaffold) *José Valim*
615
616 * Added ActionDispatch::RequestId middleware that'll make a unique X-Request-Id header available to the response and enables the ActionDispatch::Request#uuid method. This makes it easy to trace requests from end-to-end in the stack and to identify individual requests in mixed logs like Syslog *DHH*
617
618 * Limit the number of options for select_year to 1000.
619
620 Pass the :max_years_allowed option to set your own limit.
621
622 *Libo Cannici*
623
624 * Passing formats or handlers to render :template and friends is deprecated. For example: *Nick Sutterer & José Valim*
625
626 render :template => "foo.html.erb"
627
628 Instead, you can provide :handlers and :formats directly as option:
629 render :template => "foo", :formats => [:html, :js], :handlers => :erb
630
631 * Changed log level of warning for missing CSRF token from :debug to :warn. *Mike Dillon*
632
633 * content_tag_for and div_for can now take the collection of records. It will also yield the record as the first argument if you set a receiving argument in your block *Prem Sichanugrist*
634
635 So instead of having to do this:
636
637 @items.each do |item|
638 content_tag_for(:li, item) do
639 Title: <%= item.title %>
640 end
641 end
642
643 You can now do this:
644
645 content_tag_for(:li, @items) do |item|
646 Title: <%= item.title %>
647 end
648
649 * send_file now guess the mime type *Esad Hajdarevic*
650
651 * Mime type entries for PDF, ZIP and other formats were added *Esad Hajdarevic*
652
653 * Generate hidden input before select with :multiple option set to true.
654 This is useful when you rely on the fact that when no options is set,
655 the state of select will be sent to rails application. Without hidden field
656 nothing is sent according to HTML spec *Bogdan Gusiev*
657
658 * Refactor ActionController::TestCase cookies *Andrew White*
659
660 Assigning cookies for test cases should now use cookies[], e.g:
661
662 cookies[:email] = 'user@example.com'
663 get :index
664 assert_equal 'user@example.com', cookies[:email]
665
666 To clear the cookies, use clear, e.g:
667
668 cookies.clear
669 get :index
670 assert_nil cookies[:email]
671
672 We now no longer write out HTTP_COOKIE and the cookie jar is
673 persistent between requests so if you need to manipulate the environment
674 for your test you need to do it before the cookie jar is created.
675
677f968b » Jean-Francois Turcot
2011-12-08 Add information to the changelog about the changes to ActionControlle…
676 * ActionController::ParamsWrapper on ActiveRecord models now only wrap
677 attr_accessible attributes if they were set, if not, only the attributes
678 returned by the class method attribute_names will be wrapped. This fixes
679 the wrapping of nested attributes by adding them to attr_accessible.
680
d8047906 » rafaelfranca
2012-03-09 Fix my name in the CHANGELOG to follow the convention
681
05c6caf4 » claudiob
2012-03-01 Add release dates to documentation
682 ## Rails 3.1.4 (March 1, 2012) ##
9be2353f » spastorino
2011-12-06 Sync AP CHANGELOG with 3-1-stable
683
152a393d » pacoguzman
2011-12-18 Update changelogs with rails 3.0-stable branch info
684 * Skip assets group in Gemfile and all assets configurations options
685 when the application is generated with --skip-sprockets option.
686
687 *Guillermo Iguaran*
688
689 * Use ProcessedAsset#pathname in Sprockets helpers when debugging is on. Closes #3333 #3348 #3361.
690
691 *Guillermo Iguaran*
692
9be2353f » spastorino
2011-12-06 Sync AP CHANGELOG with 3-1-stable
693 * Allow to use asset_path on named_routes aliasing RailsHelper's
694 asset_path to path_to_asset *Adrian Pike*
695
152a393d » pacoguzman
2011-12-18 Update changelogs with rails 3.0-stable branch info
696 * Assets should use the request protocol by default or default to relative if no request is available *Jonathan del Strother*
9be2353f » spastorino
2011-12-06 Sync AP CHANGELOG with 3-1-stable
697
d8047906 » rafaelfranca
2012-03-09 Fix my name in the CHANGELOG to follow the convention
698
e634d25a » Karunakar
2012-01-08 Added the release dates for rails 3.1.1, rails 3.1.2, rails 3.1.3
699 ## Rails 3.1.3 (November 20, 2011) ##
603a679e » jonleighton
2011-11-19 Don't html-escape the :count option to translate if it's a Numeric. F…
700
152a393d » pacoguzman
2011-12-18 Update changelogs with rails 3.0-stable branch info
701 * Downgrade sprockets to ~> 2.0.3. Using 2.1.0 caused regressions.
702
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
703 * Fix using `translate` helper with a html translation which uses the `:count` option for
603a679e » jonleighton
2011-11-19 Don't html-escape the :count option to translate if it's a Numeric. F…
704 pluralization.
705
706 *Jon Leighton*
707
d8047906 » rafaelfranca
2012-03-09 Fix my name in the CHANGELOG to follow the convention
708
e634d25a » Karunakar
2012-01-08 Added the release dates for rails 3.1.1, rails 3.1.2, rails 3.1.3
709 ## Rails 3.1.2 (November 18, 2011) ##
fc988115 » jonleighton
2011-11-06 Implement a workaround for a bug in ruby-1.9.3p0.
710
e8d57f36 » lest
2011-11-17 _html translation should escape interpolated arguments
711 * Fix XSS security vulnerability in the `translate` helper method. When using interpolation
712 in combination with HTML-safe translations, the interpolated input would not get HTML
713 escaped. *GH 3664*
714
715 Before:
716
717 translate('foo_html', :something => '<script>') # => "...<script>..."
718
719 After:
720
721 translate('foo_html', :something => '<script>') # => "...&lt;script&gt;..."
722
723 *Sergey Nartimov*
724
ca3b4689 » jonleighton
2011-11-14 Sync changelog entry
725 * Upgrade sprockets dependency to ~> 2.1.0
726
da02f792 » jonleighton
2011-11-14 Sync CHANGELOGs from 3-1-stable
727 * Ensure that the format isn't applied twice to the cache key, else it becomes impossible
728 to target with expire_action.
729
730 *Christopher Meiklejohn*
731
732 * Swallow error when can't unmarshall object from session.
733
734 *Bruno Zanchet*
735
fc988115 » jonleighton
2011-11-06 Implement a workaround for a bug in ruby-1.9.3p0.
736 * Implement a workaround for a bug in ruby-1.9.3p0 where an error would be raised
737 while attempting to convert a template from one encoding to another.
738
739 Please see http://redmine.ruby-lang.org/issues/5564 for details of the bug.
740
741 The workaround is to load all conversions into memory ahead of time, and will
742 only happen if the ruby version is *exactly* 1.9.3p0. The hope is obviously that
743 the underlying problem will be resolved in the next patchlevel release of
744 1.9.3.
745
746 *Jon Leighton*
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
747
da02f792 » jonleighton
2011-11-14 Sync CHANGELOGs from 3-1-stable
748 * Ensure users upgrading from 3.0.x to 3.1.x will properly upgrade their flash object in session (issues #3298 and #2509)
749
d8047906 » rafaelfranca
2012-03-09 Fix my name in the CHANGELOG to follow the convention
750
e634d25a » Karunakar
2012-01-08 Added the release dates for rails 3.1.1, rails 3.1.2, rails 3.1.3
751 ## Rails 3.1.1 (October 07, 2011) ##
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
752
753 * javascript_path and stylesheet_path now refer to /assets if asset pipelining
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
754 is on. *Santiago Pastorino*
755
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
756 * button_to support form option. Now you're able to pass for example
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
757 'data-type' => 'json'. *ihower*
758
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
759 * image_path and image_tag should use /assets if asset pipelining is turned
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
760 on. Closes #3126 *Santiago Pastorino and christos*
761
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
762 * Avoid use of existing precompiled assets during rake assets:precompile run.
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
763 Closes #3119 *Guillermo Iguaran*
764
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
765 * Copy assets to nondigested filenames too *Santiago Pastorino*
766
767 * Give precedence to `config.digest = false` over the existence of
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
768 manifest.yml asset digests *christos*
769
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
770 * escape options for the stylesheet_link_tag method *Alexey Vakhov*
771
772 * Re-launch assets:precompile task using (Rake.)ruby instead of Kernel.exec so
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
773 it works on Windows *cablegram*
774
775 * env var passed to process shouldn't be modified in process method. *Santiago
776 Pastorino*
777
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
778 * `rake assets:precompile` loads the application but does not initialize
779 it.
780 To the app developer, this means configuration add in
781 config/initializers/* will not be executed.
782 Plugins developers need to special case their initializers that are
783 meant to be run in the assets group by adding :group => :assets. *José Valim*
784
785 * Sprockets uses config.assets.prefix for asset_path *asee*
786
787 * FileStore key_file_path properly limit filenames to 255 characters. *phuibonhoa*
788
789 * Fix Hash#to_query edge case with html_safe strings. *brainopia*
790
791 * Allow asset tag helper methods to accept :digest => false option in order to completely avoid the digest generation.
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
792 Useful for linking assets from static html files or from emails when the user could probably look at an older html email with an older asset. *Santiago Pastorino*
793
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
794 * Don't mount Sprockets server at config.assets.prefix if config.assets.compile is false. *Mark J. Titorenko*
795
796 * Set relative url root in assets when controller isn't available for Sprockets (eg. Sass files using asset_path). Fixes #2435 *Guillermo Iguaran*
797
798 * Fix basic auth credential generation to not make newlines. GH #2882
799
800 * Fixed the behavior of asset pipeline when config.assets.digest and config.assets.compile are false and requested asset isn't precompiled.
801 Before the requested asset were compiled anyway ignoring that the config.assets.compile flag is false. *Guillermo Iguaran*
802
803 * CookieJar is now Enumerable. Fixes #2795
804
805 * Fixed AssetNotPrecompiled error raised when rake assets:precompile is compiling certain .erb files. See GH #2763 #2765 #2805 *Guillermo Iguaran*
806
807 * Manifest is correctly placed in assets path when default assets prefix is changed. Fixes #2776 *Guillermo Iguaran*
808
809 * Fixed stylesheet_link_tag and javascript_include_tag to respect additional options passed by the users when debug is on. *Guillermo Iguaran*
810
811
812 ## Rails 3.1.0 (August 30, 2011) ##
813
814 * Param values are `paramified` in controller tests. *David Chelimsky*
815
816 * x_sendfile_header now defaults to nil and config/environments/production.rb doesn't set a particular value for it. This allows servers to set it through X-Sendfile-Type. *Santiago Pastorino*
817
818 * The submit form helper does not generate an id "object_name_id" anymore. *fbrusatti*
819
820 * Make sure respond_with with :js tries to render a template in all cases *José Valim*
821
822 * json_escape will now return a SafeBuffer string if it receives SafeBuffer string *tenderlove*
823
824 * Make sure escape_js returns SafeBuffer string if it receives SafeBuffer string *Prem Sichanugrist*
825
826 * Fix escape_js to work correctly with the new SafeBuffer restriction *Paul Gallagher*
827
828 * Brought back alternative convention for namespaced models in i18n *thoefer*
829
830 Now the key can be either "namespace.model" or "namespace/model" until further deprecation.
831
832 * It is prohibited to perform a in-place SafeBuffer mutation *tenderlove*
833
834 The old behavior of SafeBuffer allowed you to mutate string in place via
835 method like `sub!`. These methods can add unsafe strings to a safe buffer,
836 and the safe buffer will continue to be marked as safe.
837
838 An example problem would be something like this:
839
840 <%= link_to('hello world', @user).sub!(/hello/, params[:xss]) %>
841
842 In the above example, an untrusted string (`params[:xss]`) is added to the
843 safe buffer returned by `link_to`, and the untrusted content is successfully
844 sent to the client without being escaped. To prevent this from happening
845 `sub!` and other similar methods will now raise an exception when they are called on a safe buffer.
846
847 In addition to the in-place versions, some of the versions of these methods which return a copy of the string will incorrectly mark strings as safe. For example:
848
849 <%= link_to('hello world', @user).sub(/hello/, params[:xss]) %>
850
851 The new versions will now ensure that *all* strings returned by these methods on safe buffers are marked unsafe.
852
853 You can read more about this change in http://groups.google.com/group/rubyonrails-security/browse_thread/thread/2e516e7acc96c4fb
854
855 * Warn if we cannot verify CSRF token authenticity *José Valim*
856
857 * Allow AM/PM format in datetime selectors *Aditya Sanghi*
858
859 * Only show dump of regular env methods on exception screen (not all the rack crap) *DHH*
860
861 * auto_link has been removed with no replacement. If you still use auto_link
862 please install the rails_autolink gem:
863 http://github.com/tenderlove/rails_autolink
864
865 *tenderlove*
866
867 * Added streaming support, you can enable it with: *José Valim*
868
869 class PostsController < ActionController::Base
870 stream :only => :index
871 end
872
873 Please read the docs at `ActionController::Streaming` for more information.
874
875 * Added `ActionDispatch::Request.ignore_accept_header` to ignore accept headers and only consider the format given as parameter *José Valim*
876
877 * Created `ActionView::Renderer` and specified an API for `ActionView::Context`, check those objects for more information *José Valim*
878
879 * Added `ActionController::ParamsWrapper` to wrap parameters into a nested hash, and will be turned on for JSON request in new applications by default *Prem Sichanugrist*
880
881 This can be customized by setting `ActionController::Base.wrap_parameters` in `config/initializer/wrap_parameters.rb`
882
883 * RJS has been extracted out to a gem. *fxn*
884
885 * Implicit actions named not_implemented can be rendered. *Santiago Pastorino*
886
887 * Wildcard route will always match the optional format segment by default. *Prem Sichanugrist*
888
889 For example if you have this route:
890
891 match '*pages' => 'pages#show'
892
893 by requesting '/foo/bar.json', your `params[:pages]` will be equals to "foo/bar" with the request format of JSON. If you want the old 3.0.x behavior back, you could supply `:format => false` like this:
894
895 match '*pages' => 'pages#show', :format => false
896
897 * Added Base.http_basic_authenticate_with to do simple http basic authentication with a single class method call *DHH*
898
899 class PostsController < ApplicationController
900 USER_NAME, PASSWORD = "dhh", "secret"
901
902 before_filter :authenticate, :except => [ :index ]
903
904 def index
905 render :text => "Everyone can see me!"
906 end
907
908 def edit
909 render :text => "I'm only accessible if you know the password"
910 end
911
912 private
913 def authenticate
914 authenticate_or_request_with_http_basic do |user_name, password|
915 user_name == USER_NAME && password == PASSWORD
916 end
917 end
918 end
919
920 ..can now be written as
921
922 class PostsController < ApplicationController
923 http_basic_authenticate_with :name => "dhh", :password => "secret", :except => :index
924
925 def index
926 render :text => "Everyone can see me!"
927 end
928
929 def edit
930 render :text => "I'm only accessible if you know the password"
931 end
932 end
933
934 * Allow you to add `force_ssl` into controller to force browser to transfer data via HTTPS protocol on that particular controller. You can also specify `:only` or `:except` to specific it to particular action. *DHH and Prem Sichanugrist*
935
936 * Allow FormHelper#form_for to specify the :method as a direct option instead of through the :html hash *DHH*
937
938 form_for(@post, remote: true, method: :delete) instead of form_for(@post, remote: true, html: { method: :delete })
939
940 * Make JavaScriptHelper#j() an alias for JavaScriptHelper#escape_javascript() -- note this then supersedes the Object#j() method that the JSON gem adds within templates using the JavaScriptHelper *DHH*
941
942 * Sensitive query string parameters (specified in config.filter_parameters) will now be filtered out from the request paths in the log file. *Prem Sichanugrist, fxn*
943
944 * URL parameters which return false for to_param now appear in the query string (previously they were removed) *Andrew White*
945
946 * URL parameters which return nil for to_param are now removed from the query string *Andrew White*
947
948 * ActionDispatch::MiddlewareStack now uses composition over inheritance. It is
949 no longer an array which means there may be methods missing that were not tested.
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
950
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
951 * Add an :authenticity_token option to form_tag for custom handling or to omit the token (pass :authenticity_token => false). *Jakub Kuźma, Igor Wiedler*
952
953 * HTML5 button_tag helper. *Rizwan Reza*
954
955 * Template lookup now searches further up in the inheritance chain. *Artemave*
956
957 * Brought back config.action_view.cache_template_loading, which allows to decide whether templates should be cached or not. *Piotr Sarnacki*
958
959 * url_for and named url helpers now accept :subdomain and :domain as options, *Josh Kalderimis*
960
961 * The redirect route method now also accepts a hash of options which will only change the parts of the url in question, or an object which responds to call, allowing for redirects to be reused (check the documentation for examples). *Josh Kalderimis*
962
963 * Added config.action_controller.include_all_helpers. By default 'helper :all' is done in ActionController::Base, which includes all the helpers by default. Setting include_all_helpers to false will result in including only application_helper and helper corresponding to controller (like foo_helper for foo_controller). *Piotr Sarnacki*
964
965 * Added a convenience idiom to generate HTML5 data-* attributes in tag helpers from a :data hash of options:
966
967 tag("div", :data => {:name => 'Stephen', :city_state => %w(Chicago IL)})
968 # => <div data-name="Stephen" data-city-state="[&quot;Chicago&quot;,&quot;IL&quot;]" />
969
970 Keys are dasherized. Values are JSON-encoded, except for strings and symbols. *Stephen Celis*
971
972 * Deprecate old template handler API. The new API simply requires a template handler to respond to call. *José Valim*
973
974 * :rhtml and :rxml were finally removed as template handlers. *José Valim*
975
976 * Moved etag responsibility from ActionDispatch::Response to the middleware stack. *José Valim*
977
978 * Rely on Rack::Session stores API for more compatibility across the Ruby world. This is backwards incompatible since Rack::Session expects #get_session to accept 4 arguments and requires #destroy_session instead of simply #destroy. *José Valim*
979
980 * file_field automatically adds :multipart => true to the enclosing form. *Santiago Pastorino*
981
982 * Renames csrf_meta_tag -> csrf_meta_tags, and aliases csrf_meta_tag for backwards compatibility. *fxn*
983
984 * Add Rack::Cache to the default stack. Create a Rails store that delegates to the Rails cache, so by default, whatever caching layer you are using will be used for HTTP caching. Note that Rack::Cache will be used if you use #expires_in, #fresh_when or #stale with :public => true. Otherwise, the caching rules will apply to the browser only. *Yehuda Katz, Carl Lerche*
985
986
05c6caf4 » claudiob
2012-03-01 Add release dates to documentation
987 ## Rails 3.0.12 (March 1, 2012) ##
152a393d » pacoguzman
2011-12-18 Update changelogs with rails 3.0-stable branch info
988
989 * Fix using `tranlate` helper with a html translation which uses the `:count` option for
990 pluralization.
991
992 *Jon Leighton*
993
994
995 ## Rails 3.0.11 (November 18, 2011) ##
996
997 * Fix XSS security vulnerability in the `translate` helper method. When using interpolation
998 in combination with HTML-safe translations, the interpolated input would not get HTML
999 escaped. *GH 3664*
1000
1001 Before:
1002
1003 translate('foo_html', :something => '<script>') # => "...<script>..."
1004
1005 After:
1006
1007 translate('foo_html', :something => '<script>') # => "...&lt;script&gt;..."
1008
1009 *Sergey Nartimov*
1010
1011 * Implement a workaround for a bug in ruby-1.9.3p0 where an error would be
1012 raised while attempting to convert a template from one encoding to another.
1013
1014 Please see http://redmine.ruby-lang.org/issues/5564 for details of the bug.
1015
1016 The workaround is to load all conversions into memory ahead of time, and will
1017 only happen if the ruby version is exactly 1.9.3p0. The hope is obviously
1018 that the underlying problem will be resolved in the next patchlevel release
1019 of 1.9.3.
1020
1021 * Fix assert_select_email to work on multipart and non-multipart emails as the method stopped working correctly in Rails 3.x due to changes in the new mail gem.
1022
1023 * Fix url_for when passed a hash to prevent additional options (eg. :host, :protocol) from being added to the hash after calling it.
1024
1025
1026 ## Rails 3.0.10 (August 16, 2011) ##
1027
1028 * Fixes an issue where cache sweepers with only after filters would have no
1029 controller object, it would raise undefined method controller_name for nil [jeroenj]
1030
1031 * Ensure status codes are logged when exceptions are raised.
1032
1033 * Subclasses of OutputBuffer are respected.
1034
1035 * Fixed ActionView::FormOptionsHelper#select with :multiple => false
1036
1037 * Avoid extra call to Cache#read in case of a fragment cache hit
1038
1039
1040 ## Rails 3.0.9 (June 16, 2011) ##
1041
1042 * json_escape will now return a SafeBuffer string if it receives SafeBuffer string [tenderlove]
1043
1044 * Make sure escape_js returns SafeBuffer string if it receives SafeBuffer string [Prem Sichanugrist]
1045
1046 * Fix text helpers to work correctly with the new SafeBuffer restriction [Paul Gallagher, Arun Agrawal, Prem Sichanugrist]
1047
1048
1049 ## Rails 3.0.8 (June 7, 2011) ##
1050
1051 * It is prohibited to perform a in-place SafeBuffer mutation [tenderlove]
1052
1053 The old behavior of SafeBuffer allowed you to mutate string in place via
1054 method like `sub!`. These methods can add unsafe strings to a safe buffer,
1055 and the safe buffer will continue to be marked as safe.
1056
1057 An example problem would be something like this:
1058
1059 <%= link_to('hello world', @user).sub!(/hello/, params[:xss]) %>
1060
1061 In the above example, an untrusted string (`params[:xss]`) is added to the
1062 safe buffer returned by `link_to`, and the untrusted content is successfully
1063 sent to the client without being escaped. To prevent this from happening
1064 `sub!` and other similar methods will now raise an exception when they are called on a safe buffer.
1065
1066 In addition to the in-place versions, some of the versions of these methods which return a copy of the string will incorrectly mark strings as safe. For example:
1067
1068 <%= link_to('hello world', @user).sub(/hello/, params[:xss]) %>
1069
1070 The new versions will now ensure that *all* strings returned by these methods on safe buffers are marked unsafe.
1071
1072 You can read more about this change in http://groups.google.com/group/rubyonrails-security/browse_thread/thread/2e516e7acc96c4fb
1073
1074 * Fixed github issue #342 with asset paths and relative roots.
1075
1076
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1077 ## Rails 3.0.7 (April 18, 2011) ##
1078
1079 * No changes.
1080
1081
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1082 ## Rails 3.0.6 (April 5, 2011) ##
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1083
1084 * Fixed XSS vulnerability in `auto_link`. `auto_link` no longer marks input as
1085 html safe. Please make sure that calls to auto_link() are wrapped in a
1086 sanitize(), or a raw() depending on the type of input passed to auto_link().
1087 For example:
1088
1089 <%= sanitize(auto_link(some_user_input)) %>
1090
1091 Thanks to Torben Schulz for reporting this. The fix can be found here:
1092 61ee3449674c591747db95f9b3472c5c3bd9e84d
1093
1094 * Fixes the output of `rake routes` to be correctly match to the behavior of the application, as the regular expression used to match the path is greedy and won't capture the format part by default *Prem Sichanugrist*
1095
1096 * Fixes an issue with number_to_human when converting values which are less than 1 but greater than -1 *Josh Kalderimis*
1097
1098 * Sensitive query string parameters (specified in config.filter_parameters) will now be filtered out from the request paths in the log file. *Prem Sichanugrist, fxn*
1099
1100 * URL parameters which return nil for to_param are now removed from the query string *Andrew White*
1101
1102 * Don't allow i18n to change the minor version, version now set to ~> 0.5.0 *Santiago Pastorino*
1103
1104 * Make TranslationHelper#translate use the :rescue_format option in I18n 0.5.0 *Sven Fuchs*
1105
1106 * Fix regression: javascript_include_tag shouldn't raise if you register an expansion key with nil or [] value *Santiago Pastorino*
1107
1108 * Fix Action caching bug where an action that has a non-cacheable response always renders a nil response body. It now correctly renders the response body. *Cheah Chu Yeow*
1109
1110
1111 ## Rails 3.0.5 (February 26, 2011) ##
1112
1113 * No changes.
1114
1115
1116 ## Rails 3.0.4 (February 8, 2011) ##
1117
1118 * No changes.
1119
1120
1121 ## Rails 3.0.3 (November 16, 2010) ##
1122
1123 * When ActiveRecord::Base objects are sent to predicate methods, the id of the object should be sent to ARel, not the ActiveRecord::Base object.
1124
1125 * :constraints routing should only do sanity checks against regular expressions. String arguments are OK.
1126
1127
1128 ## Rails 3.0.2 (November 15, 2010) ##
1129
1130 * The helper number_to_currency accepts a new :negative_format option to be able to configure how to render negative amounts. *Don Wilson*
1131
1132
1133 ## Rails 3.0.1 (October 15, 2010) ##
1134
1135 * No Changes, just a version bump.
1136
1137
1138 ## Rails 3.0.0 (August 29, 2010) ##
1139
1140 * password_field renders with nil value by default making the use of passwords secure by default, if you want to render you should do for instance f.password_field(:password, :value => @user.password) *Santiago Pastorino*
1141
1142 * Symbols and strings in routes should yield the same behavior. Note this may break existing apps that were using symbols with the new routes API. *José Valim*
1143
1144 * Add clear_helpers as a way to clean up all helpers added to this controller, maintaining just the helper with the same name as the controller. *José Valim*
1145
1146 * Support routing constraints in functional tests. *Andrew White*
1147
1148 * Add a header that tells Internet Explorer (all versions) to use the best available standards support. *Yehuda Katz*
1149
1150 * Allow stylesheet/javascript extensions to be changed through railties. *Josh Kalderimis*
1151
1152 * link_to, button_to, and tag/tag_options now rely on html_escape instead of escape_once. *fxn*
1153
1154 * url_for returns always unescaped strings, and the :escape option is gone. *fxn*
1155
1156 * Added accept-charset parameter and _snowman hidden field to force the contents
1157 of Rails POSTed forms to be in UTF-8 *Yehuda Katz*
1158
1159 * Upgrade to Rack 1.2.1 *Jeremy Kemper*
1160
1161 * Allow :path to be given to match/get/post/put/delete instead of :path_names in the new router *Carlos Antônio da Silva*
1162
1163 * Added resources_path_names to the new router DSL *José Valim*
1164
1165 * Allow options to be given to the namespace method in the new router *Carlos Antônio da Silva*
1166
1167 * Deprecate :name_prefix in the new router DSL *José Valim*
1168
1169 * Add shallow routes back to the new router *Diego Carrion, Andrew White*
1170
1171 resources :posts do
1172 shallow do
1173 resources :comments
1174 end
1175 end
1176
1177 You can now use comment_path for /comments/1 instead of post_comment_path for /posts/1/comments/1.
1178
1179 * Add support for multi-subdomain session by setting cookie host in session cookie so you can share session between www.example.com, example.com and user.example.com. #4818 *Guillermo Álvarez*
1180
1181 * Removed textilize, textilize_without_paragraph and markdown helpers. *Santiago Pastorino*
1182
1183 * Remove middleware laziness *José Valim*
1184
1185 * Make session stores rely on request.cookie_jar and change set_session semantics to return the cookie value instead of a boolean. *José Valim*
1186
1187 * OAuth 2: HTTP Token Authorization support to complement Basic and Digest Authorization. *Rick Olson*
1188
1189 * Fixed inconsistencies in form builder and view helpers #4432 *Neeraj Singh*
1190
1191 * Both :xml and :json renderers now forwards the given options to the model, allowing you to invoke them as render :xml => @projects, :include => :tasks *José Valim, Yehuda Katz*
1192
1193 * Renamed the field error CSS class from fieldWithErrors to field_with_errors for consistency. *Jeremy Kemper*
1194
1195 * Add support for shorthand routes like /projects/status(.:format) #4423 *Diego Carrion*
1196
1197 * Changed translate helper so that it doesn’t mark every translation as safe HTML. Only keys with a "_html" suffix and keys named "html" are considered to be safe HTML. All other translations are left untouched. *Craig Davey*
1198
1199 * New option :as added to form_for allows to change the object name. The old <% form_for :client, @post %> becomes <% form_for @post, :as => :client %> *spastorino*
1200
1201 * Removed verify method in controllers. *JV*
1202 It's now available as a plugin at http://github.com/rails/verification
1203
1204 * Removed input, form, error_messages_for and error_message_on from views. *JV*
1205 It's now available as a plugin at http://github.com/rails/dynamic_form
1206
1207 * Routes can be scoped by controller module. *Jeremy Kemper*
1208
1209 # /session => Auth::SessionsController
1210 scope :module => 'auth' do
1211 resource :session
1212 end
1213
1214 * Added #favicon_link_tag, it uses #image_path so in particular the favicon gets an asset ID *fxn*
1215
1216 * Fixed that default locale templates should be used if the current locale template is missing *DHH*
1217
1218 * Added all the new HTML5 form types as individual form tag methods (search, url, number, etc) #3646 *Stephen Celis*
1219
1220 * Changed the object used in routing constraints to be an instance of
1221 ActionDispatch::Request rather than Rack::Request *YK*
1222
1223 * Changed ActionDispatch::Request#method to return a String, to be compatible
1224 with Rack::Request. Added ActionDispatch::Request#method_symbol to
1225 return a symbol form of the request method. *YK*
1226
1227 * Changed ActionDispatch::Request#method to return the original
1228 method and #request_method to return the overridden method in the
1229 case of methodoverride being used (this means that #method returns
1230 "HEAD" and #request_method returns "GET" in HEAD requests). This
1231 is for compatibility with Rack::Request *YK*
1232
1233 * #concat is now deprecated in favor of using <%= %> helpers *YK*
1234
1235 * Block helpers now return Strings, so you can use <%= form_for @foo do |f| %>.
1236 <% form_for do |f| %> still works with deprecation notices *YK*
1237
1238 * Add a new #mount method on the router that does not anchor the PATH_INFO
1239 at the end *YK & CL*
1240
1241 * Create a new LookupContext object that is responsible for performantly
1242 finding a template for a given pattern *JV*
1243
1244 * Removed relative_url_for in favor of respecting SCRIPT_NAME *YK & CL*
1245
1246 * Changed file streaming to use Rack::Sendfile middleware *YK*
1247
1248 * ActionDispatch::Request#content_type returns a String to be compatible with
1249 Rack::Request. Use #content_mime_type for the Mime::Type instance *YK*
1250
1251 * Updated Prototype to 1.6.1 and Scriptaculous to 1.8.3 *ML*
1252
1253 * Change the preferred way that URL helpers are included into a class*YK & CL*
1254
1255 # for all helpers including named routes
1256 include Rails.application.router.url_helpers
1257
1258 # for just url_for
1259 include Rails.application.router.url_for
1260
1261 * Fixed that PrototypeHelper#update_page should return html_safe *DHH*
1262
1263 * Fixed that much of DateHelper wouldn't return html_safe? strings *DHH*
1264
1265 * Fixed that fragment caching should return a cache hit as html_safe (or it would all just get escaped) *DHH*
1266
1267 * Added that ActionController::Base now does helper :all instead of relying on the default ApplicationController in Rails to do it *DHH*
1268
1269 * Added ActionDispatch::Request#authorization to access the http authentication header regardless of its proxy hiding *DHH*
1270
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1271 * Added :alert, :notice, and :flash as options to ActionController::Base#redirect_to that'll automatically set the proper flash before the redirection *DHH*. Examples:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1272
1273 flash[:notice] = 'Post was created'
1274 redirect_to(@post)
1275
1276 ...becomes:
1277
1278 redirect_to(@post, :notice => 'Post was created')
1279
1280 * Added ActionController::Base#notice/= and ActionController::Base#alert/= as a convenience accessors in both the controller and the view for flash[:notice]/= and flash[:alert]/= *DHH*
1281
1282 * Introduce grouped_collection_select helper. #1249 *Dan Codeape, Erik Ostrom*
1283
1284 * Make sure javascript_include_tag/stylesheet_link_tag does not append ".js" or ".css" onto external urls. #1664 *Matthew Rudy Jacobs*
1285
1286 * Ruby 1.9: fix Content-Length for multibyte send_data streaming. #2661 *Sava Chankov*
1287
1288 * Ruby 1.9: ERB template encoding using a magic comment at the top of the file. *Jeremy Kemper*
1289 <%# encoding: utf-8 %>
1290
1291 * Change integration test helpers to accept Rack environment instead of just HTTP Headers *Pratik Naik*
1292
1293 Before : get '/path', {}, 'Accept' => 'text/javascript'
1294 After : get '/path', {}, 'HTTP_ACCEPT' => 'text/javascript'
1295
1296 * Instead of checking Rails.env.test? in Failsafe middleware, check env["rails.raise_exceptions"] *Bryan Helmkamp*
1297
1298 * Fixed that TestResponse.cookies was returning cookies unescaped #1867 *Doug McInnes*
1299
1300
1301 ## 2.3.2 Final (March 15, 2009) ##
1302
1303 * Fixed that redirection would just log the options, not the final url (which lead to "Redirected to #<Post:0x23150b8>") *DHH*
1304
1305 * Don't check authenticity tokens for any AJAX requests *Ross Kaffenberger/Bryan Helmkamp*
1306
1307 * Added ability to pass in :public => true to fresh_when, stale?, and expires_in to make the request proxy cachable #2095 *Gregg Pollack*
1308
1309 * Fixed that passing a custom form builder would be forwarded to nested fields_for calls #2023 *Eloy Duran/Nate Wiger*
1310
1311 * Form option helpers now support disabled option tags and the use of lambdas for selecting/disabling option tags from collections #837 *Tekin*
1312
1313 * Added partial scoping to TranslationHelper#translate, so if you call translate(".foo") from the people/index.html.erb template, you'll actually be calling I18n.translate("people.index.foo") *DHH*
1314
1315 * Fix a syntax error in current_page?() that was prevent matches against URL's with multiple query parameters #1385, #1868 *chris finne/Andrew White*
1316
1317 * Added localized rescue template when I18n.locale is set (ex: public/404.da.html) #1835 *José Valim*
1318
1319 * Make the form_for and fields_for helpers support the new Active Record nested update options. #1202 *Eloy Duran*
1320
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1321 <% form_for @person do |person_form| %>
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1322 ...
1323 <% person_form.fields_for :projects do |project_fields| %>
1324 <% if project_fields.object.active? %>
1325 Name: <%= project_fields.text_field :name %>
1326 <% end %>
1327 <% end %>
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1328 <% end %>
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1329
1330
1331 * Added grouped_options_for_select helper method for wrapping option tags in optgroups. #977 *Jon Crawford*
1332
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1333 * Implement HTTP Digest authentication. #1230 *Gregg Kellogg, Pratik Naik* Example :
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1334
1335 class DummyDigestController < ActionController::Base
1336 USERS = { "lifo" => 'world' }
1337
1338 before_filter :authenticate
1339
1340 def index
1341 render :text => "Hello Secret"
1342 end
1343
1344 private
1345
1346 def authenticate
1347 authenticate_or_request_with_http_digest("Super Secret") do |username|
1348 # Return the user's password
1349 USERS[username]
1350 end
1351 end
1352 end
1353
1354 * Improved i18n support for the number_to_human_size helper. Changes the storage_units translation data; update your translations accordingly. #1634 *Yaroslav Markin*
1355 storage_units:
1356 # %u is the storage unit, %n is the number (default: 2 MB)
1357 format: "%n %u"
1358 units:
1359 byte:
1360 one: "Byte"
1361 other: "Bytes"
1362 kb: "KB"
1363 mb: "MB"
1364 gb: "GB"
1365 tb: "TB"
1366
1367 * Added :silence option to BenchmarkHelper#benchmark and turned log_level into a hash parameter and deprecated the old use *DHH*
1368
1369 * Fixed the AssetTagHelper cache to use the computed asset host as part of the cache key instead of just assuming the its a string #1299 *DHH*
1370
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1371 * Make ActionController#render(string) work as a shortcut for render :file/:template/:action => string. #1435 *Pratik Naik* Examples:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1372
1373 \# Instead of render(:action => 'other_action')
1374 render('other_action') # argument has no '/'
1375 render(:other_action)
1376
1377 \# Instead of render(:template => 'controller/action')
1378 render('controller/action') # argument must not begin with a '/', but contain a '/'
1379
1380 \# Instead of render(:file => '/Users/lifo/home.html.erb')
1381 render('/Users/lifo/home.html.erb') # argument must begin with a '/'
1382
1383 * Add :prompt option to date/time select helpers. #561 *Sam Oliver*
1384
1385 * Fixed that send_file shouldn't set an etag #1578 *Hongli Lai*
1386
1387 * Allow users to opt out of the spoofing checks in Request#remote_ip. Useful for sites whose traffic regularly triggers false positives. *Darren Boyd*
1388
1389 * Deprecated formatted_polymorphic_url. *Jeremy Kemper*
1390
1391 * Added the option to declare an asset_host as an object that responds to call (see http://github.com/dhh/asset-hosting-with-minimum-ssl for an example) *David Heinemeier Hansson*
1392
1393 * Added support for multiple routes.rb files (useful for plugin engines). This also means that draw will no longer clear the route set, you have to do that by hand (shouldn't make a difference to you unless you're doing some funky stuff) *David Heinemeier Hansson*
1394
1395 * Dropped formatted_* routes in favor of just passing in :format as an option. This cuts resource routes generation in half #1359 *aaronbatalion*
1396
1397 * Remove support for old double-encoded cookies from the cookie store. These values haven't been generated since before 2.1.0, and any users who have visited the app in the intervening 6 months will have had their cookie upgraded. *Michael Koziarski*
1398
1399 * Allow helpers directory to be overridden via ActionController::Base.helpers_dir #1424 *Sam Pohlenz*
1400
1401 * Remove deprecated ActionController::Base#assign_default_content_type_and_charset
1402
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1403 * Changed the default of ActionView#render to assume partials instead of files when not given an options hash *DHH*. Examples:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1404
1405 # Instead of <%= render :partial => "account" %>
1406 <%= render "account" %>
1407
1408 # Instead of <%= render :partial => "account", :locals => { :account => @buyer } %>
1409 <%= render "account", :account => @buyer %>
1410
1411 # @account is an Account instance, so it uses the RecordIdentifier to replace
1412 # <%= render :partial => "accounts/account", :locals => { :account => @account } %>
1413 <%= render(@account) %>
1414
1415 # @posts is an array of Post instances, so it uses the RecordIdentifier to replace
1416 # <%= render :partial => "posts/post", :collection => @posts %>
1417 <%= render(@posts) %>
1418
1419 * Remove deprecated render_component. Please use the plugin from http://github.com/rails/render_component/tree/master *Pratik Naik*
1420
1421 * Fixed RedCloth and BlueCloth shouldn't preload. Instead just assume that they're available if you want to use textilize and markdown and let autoload require them *David Heinemeier Hansson*
1422
1423
1424 ## 2.2.2 (November 21st, 2008) ##
1425
1426 * I18n: translate number_to_human_size. Add storage_units: [Bytes, KB, MB, GB, TB] to your translations. #1448 *Yaroslav Markin*
1427
1428 * Restore backwards compatible functionality for setting relative_url_root. Include deprecation
1429
1430 * Switched the CSRF module to use the request content type to decide if the request is forgeable. #1145 *Jeff Cohen*
1431
1432 * Added :only and :except to map.resources to let people cut down on the number of redundant routes in an application. Typically only useful for huge routesets. #1215 *Tom Stuart*
1433
1434 map.resources :products, :only => :show do |product|
1435 product.resources :images, :except => :destroy
1436 end
1437
1438 * Added render :js for people who want to render inline JavaScript replies without using RJS *David Heinemeier Hansson*
1439
1440 * Fixed that polymorphic_url should compact given array #1317 *hiroshi*
1441
1442 * Fixed the sanitize helper to avoid double escaping already properly escaped entities #683 *antonmos/Ryan McGeary*
1443
1444 * Fixed that FormTagHelper generated illegal html if name contained square brackets #1238 *Vladimir Dobriakov*
1445
1446 * Fix regression bug that made date_select and datetime_select raise a Null Pointer Exception when a nil date/datetime was passed and only month and year were displayed #1289 *Bernardo Padua/Tor Erik*
1447
1448 * Simplified the logging format for parameters (don't include controller, action, and format as duplicates) *David Heinemeier Hansson*
1449
1450 * Remove the logging of the Session ID when the session store is CookieStore *David Heinemeier Hansson*
1451
1452 * Fixed regex in redirect_to to fully support URI schemes #1247 *Seth Fitzsimmons*
1453
1454 * Fixed bug with asset timestamping when using relative_url_root #1265 *Joe Goldwasser*
1455
1456
1457 ## 2.2.0 RC1 (October 24th, 2008) ##
1458
1459 * Fix incorrect closing CDATA delimiter and that HTML::Node.parse would blow up on unclosed CDATA sections *packagethief*
1460
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1461 * Added stale? and fresh_when methods to provide a layer of abstraction above request.fresh? and friends *DHH*. Example:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1462
1463 class ArticlesController < ApplicationController
1464 def show_with_respond_to_block
1465 @article = Article.find(params[:id])
1466
1467
1468 # If the request sends headers that differs from the options provided to stale?, then
1469 # the request is indeed stale and the respond_to block is triggered (and the options
1470 # to the stale? call is set on the response).
1471 #
1472 # If the request headers match, then the request is fresh and the respond_to block is
1473 # not triggered. Instead the default render will occur, which will check the last-modified
1474 # and etag headers and conclude that it only needs to send a "304 Not Modified" instead
1475 # of rendering the template.
1476 if stale?(:last_modified => @article.published_at.utc, :etag => @article)
1477 respond_to do |wants|
1478 # normal response processing
1479 end
1480 end
1481 end
1482
1483 def show_with_implied_render
1484 @article = Article.find(params[:id])
1485
1486 # Sets the response headers and checks them against the request, if the request is stale
1487 # (i.e. no match of either etag or last-modified), then the default render of the template happens.
1488 # If the request is fresh, then the default render will return a "304 Not Modified"
1489 # instead of rendering the template.
1490 fresh_when(:last_modified => @article.published_at.utc, :etag => @article)
1491 end
1492 end
1493
1494
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1495 * Added inline builder yield to atom_feed_helper tags where appropriate *Sam Ruby*. Example:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1496
1497 entry.summary :type => 'xhtml' do |xhtml|
1498 xhtml.p pluralize(order.line_items.count, "line item")
1499 xhtml.p "Shipped to #{order.address}"
1500 xhtml.p "Paid by #{order.pay_type}"
1501 end
1502
1503 * Make PrototypeHelper#submit_to_remote a wrapper around PrototypeHelper#button_to_remote. *Tarmo Tänav*
1504
1505 * Set HttpOnly for the cookie session store's cookie. #1046
1506
1507 * Added FormTagHelper#image_submit_tag confirm option #784 *Alastair Brunton*
1508
1509 * Fixed FormTagHelper#submit_tag with :disable_with option wouldn't submit the button's value when was clicked #633 *Jose Fernandez*
1510
1511 * Stopped logging template compiles as it only clogs up the log *David Heinemeier Hansson*
1512
1513 * Changed the X-Runtime header to report in milliseconds *David Heinemeier Hansson*
1514
1515 * Changed BenchmarkHelper#benchmark to report in milliseconds *David Heinemeier Hansson*
1516
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1517 * Changed logging format to be millisecond based and skip misleading stats *DHH*. Went from:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1518
1519 Completed in 0.10000 (4 reqs/sec) | Rendering: 0.04000 (40%) | DB: 0.00400 (4%) | 200 OK [http://example.com]
1520
1521 ...to:
1522
1523 Completed in 100ms (View: 40, DB: 4) | 200 OK [http://example.com]
1524
1525 * Add support for shallow nesting of routes. #838 *S. Brent Faulkner*
1526
1527 Example :
1528
1529 map.resources :users, :shallow => true do |user|
1530 user.resources :posts
1531 end
1532
1533 - GET /users/1/posts (maps to PostsController#index action as usual)
1534 named route "user_posts" is added as usual.
1535
1536 - GET /posts/2 (maps to PostsController#show action as if it were not nested)
1537 Additionally, named route "post" is added too.
1538
1539 * Added button_to_remote helper. #3641 *Donald Piret, Tarmo Tänav*
1540
1541 * Deprecate render_component. Please use render_component plugin from http://github.com/rails/render_component/tree/master *Pratik Naik*
1542
1543 * Routes may be restricted to lists of HTTP methods instead of a single method or :any. #407 *Brennan Dunn, Gaius Centus Novus*
1544 map.resource :posts, :collection => { :search => [:get, :post] }
1545 map.session 'session', :requirements => { :method => [:get, :post, :delete] }
1546
1547 * Deprecated implicit local assignments when rendering partials *Josh Peek*
1548
1549 * Introduce current_cycle helper method to return the current value without bumping the cycle. #417 *Ken Collins*
1550
1551 * Allow polymorphic_url helper to take url options. #880 *Tarmo Tänav*
1552
1553 * Switched integration test runner to use Rack processor instead of CGI *Josh Peek*
1554
1555 * Made AbstractRequest.if_modified_sense return nil if the header could not be parsed *Jamis Buck*
1556
1557 * Added back ActionController::Base.allow_concurrency flag *Josh Peek*
1558
1559 * AbstractRequest.relative_url_root is no longer automatically configured by a HTTP header. It can now be set in your configuration environment with config.action_controller.relative_url_root *Josh Peek*
1560
1561 * Update Prototype to 1.6.0.2 #599 *Patrick Joyce*
1562
1563 * Conditional GET utility methods. *Jeremy Kemper*
1564 response.last_modified = @post.updated_at
1565 response.etag = [:admin, @post, current_user]
1566
1567 if request.fresh?(response)
1568 head :not_modified
1569 else
1570 # render ...
1571 end
1572
1573 * All 2xx requests are considered successful *Josh Peek*
1574
1575 * Fixed that AssetTagHelper#compute_public_path shouldn't cache the asset_host along with the source or per-request proc's won't run *David Heinemeier Hansson*
1576
1577 * Removed config.action_view.cache_template_loading, use config.cache_classes instead *Josh Peek*
1578
1579 * Get buffer for fragment cache from template's @output_buffer *Josh Peek*
1580
1581 * Set config.action_view.warn_cache_misses = true to receive a warning if you perform an action that results in an expensive disk operation that could be cached *Josh Peek*
1582
1583 * Refactor template preloading. New abstractions include Renderable mixins and a refactored Template class *Josh Peek*
1584
1585 * Changed ActionView::TemplateHandler#render API method signature to render(template, local_assigns = {}) *Josh Peek*
1586
1587 * Changed PrototypeHelper#submit_to_remote to PrototypeHelper#button_to_remote to stay consistent with link_to_remote (submit_to_remote still works as an alias) #8994 *clemens*
1588
1589 * Add :recursive option to javascript_include_tag and stylesheet_link_tag to be used along with :all. #480 *Damian Janowski*
1590
1591 * Allow users to disable the use of the Accept header *Michael Koziarski*
1592
1593 The accept header is poorly implemented by browsers and causes strange
1594 errors when used on public sites where crawlers make requests too. You can use formatted urls (e.g. /people/1.xml) to support API clients in a much simpler way.
1595 To disable the header you need to set:
1596 config.action_controller.use_accept_header = false
1597 * Do not stat template files in production mode before rendering. You will no longer be able to modify templates in production mode without restarting the server *Josh Peek*
1598
1599 * Deprecated TemplateHandler line offset *Josh Peek*
1600
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1601 * Allow caches_action to accept cache store options. #416. *José Valim*. Example:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1602
1603 caches_action :index, :redirected, :if => Proc.new { |c| !c.request.format.json? }, :expires_in => 1.hour
1604
1605 * Remove define_javascript_functions, javascript_include_tag and friends are far superior. *Michael Koziarski*
1606
1607 * Deprecate :use_full_path render option. The supplying the option no longer has an effect *Josh Peek*
1608
1609 * Add :as option to render a collection of partials with a custom local variable name. #509 *Simon Jefford, Pratik Naik*
1610
1611 render :partial => 'other_people', :collection => @people, :as => :person
1612
1613 This will let you access objects of @people as 'person' local variable inside 'other_people' partial template.
1614
1615 * time_zone_select: support for regexp matching of priority zones. Resolves #195 *Ernie Miller*
1616
1617 * Made ActionView::Base#render_file private *Josh Peek*
1618
1619 * Refactor and simplify the implementation of assert_redirected_to. Arguments are now normalised relative to the controller being tested, not the root of the application. *Michael Koziarski*
1620
1621 This could cause some erroneous test failures if you were redirecting between controllers
1622 in different namespaces and wrote your assertions relative to the root of the application.
1623
1624 * Remove follow_redirect from controller functional tests.
1625
1626 If you want to follow redirects you can use integration tests. The functional test version was only useful if you were using redirect_to :id=>...
1627 * Fix polymorphic_url with singleton resources. #461 *Tammer Saleh*
1628
1629 * Replaced TemplateFinder abstraction with ViewLoadPaths *Josh Peek*
1630
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1631 * Added block-call style to link_to *Sam Stephenson/David Heinemeier Hansson*. Example:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1632
1633 <% link_to(@profile) do %>
1634 <strong><%= @profile.name %></strong> -- <span>Check it out!!</span>
1635 <% end %>
1636
1637 * Performance: integration test benchmarking and profiling. *Jeremy Kemper*
1638
1639 * Make caching more aware of mime types. Ensure request format is not considered while expiring cache. *Jonathan del Strother*
1640
1641 * Drop ActionController::Base.allow_concurrency flag *Josh Peek*
1642
1643 * More efficient concat and capture helpers. Remove ActionView::Base.erb_variable. *Jeremy Kemper*
1644
1645 * Added page.reload functionality. Resolves #277. *Sean Huber*
1646
1647 * Fixed Request#remote_ip to only raise hell if the HTTP_CLIENT_IP and HTTP_X_FORWARDED_FOR doesn't match (not just if they're both present) *Mark Imbriaco, Bradford Folkens*
1648
1649 * Allow caches_action to accept a layout option *José Valim*
1650
1651 * Added Rack processor *Ezra Zygmuntowicz, Josh Peek*
1652
1653
1654 ## 2.1.0 (May 31st, 2008) ##
1655
1656 * InstanceTag#default_time_from_options overflows to DateTime *Geoff Buesing*
1657
1658 * Fixed that forgery protection can be used without session tracking (Peter Jones) *#139*
1659
1660 * Added session(:on) to turn session management back on in a controller subclass if the superclass turned it off (Peter Jones) *#136*
1661
1662 * Change the request forgery protection to go by Content-Type instead of request.format so that you can't bypass it by POSTing to "#{request.uri}.xml" *Rick Olson*
1663 * InstanceTag#default_time_from_options with hash args uses Time.current as default; respects hash settings when time falls in system local spring DST gap *Geoff Buesing*
1664
1665 * select_date defaults to Time.zone.today when config.time_zone is set *Geoff Buesing*
1666
1667 * Fixed that TextHelper#text_field would corrypt when raw HTML was used as the value (mchenryc, Kevin Glowacz) *#80*
1668
1669 * Added ActionController::TestCase#rescue_action_in_public! to control whether the action under test should use the regular rescue_action path instead of simply raising the exception inline (great for error testing) *David Heinemeier Hansson*
1670
1671 * Reduce number of instance variables being copied from controller to view. *Pratik Naik*
1672
1673 * select_datetime and select_time default to Time.zone.now when config.time_zone is set *Geoff Buesing*
1674
1675 * datetime_select defaults to Time.zone.now when config.time_zone is set *Geoff Buesing*
1676
1677 * Remove ActionController::Base#view_controller_internals flag. *Pratik Naik*
1678
1679 * Add conditional options to caches_page method. *Paul Horsfall*
1680
1681 * Move missing template logic to ActionView. *Pratik Naik*
1682
1683 * Introduce ActionView::InlineTemplate class. *Pratik Naik*
1684
1685 * Automatically parse posted JSON content for Mime::JSON requests. *Rick Olson*
1686
1687 POST /posts
1688 {"post": {"title": "Breaking News"}}
1689
1690 def create
1691 @post = Post.create params[:post]
1692 # ...
1693 end
1694
1695 * add json_escape ERB util to escape html entities in json strings that are output in HTML pages. *Rick Olson*
1696
1697 * Provide a helper proxy to access helper methods from outside views. Closes #10839 *Josh Peek*
1698 e.g. ApplicationController.helpers.simple_format(text)
1699
1700 * Improve documentation. *Xavier Noria, leethal, jerome*
1701
1702 * Ensure RJS redirect_to doesn't html-escapes string argument. Closes #8546 *Josh Peek, eventualbuddha, Pratik Naik*
1703
1704 * Support render :partial => collection of heterogeneous elements. #11491 *Zach Dennis*
1705
1706 * Avoid remote_ip spoofing. *Brian Candler*
1707
1708 * Added support for regexp flags like ignoring case in the :requirements part of routes declarations #11421 *NeilW*
1709
1710 * Fixed that ActionController::Base#read_multipart would fail if boundary was exactly 10240 bytes #10886 *ariejan*
1711
1712 * Fixed HTML::Tokenizer (used in sanitize helper) didn't handle unclosed CDATA tags #10071 *esad, packagethief*
1713
1714 * Improve documentation. *Ryan Bigg, Jan De Poorter, Cheah Chu Yeow, Xavier Shay, Jack Danger Canty, Emilio Tagua, Xavier Noria, Sunny Ripert*
1715
1716 * Fixed that FormHelper#radio_button would produce invalid ids #11298 *harlancrystal*
1717
1718 * Added :confirm option to submit_tag #11415 *Emilio Tagua*
1719
1720 * Fixed NumberHelper#number_with_precision to properly round in a way that works equally on Mac, Windows, Linux (closes #11409, #8275, #10090, #8027) *zhangyuanyi*
1721
1722 * Allow the #simple_format text_helper to take an html_options hash for each paragraph. #2448 *François Beausoleil, Chris O'Sullivan*
1723
1724 * Fix regression from filter refactoring where re-adding a skipped filter resulted in it being called twice. *Rick Olson*
1725
1726 * Refactor filters to use Active Support callbacks. #11235 *Josh Peek*
1727
1728 * Fixed that polymorphic routes would modify the input array #11363 *thomas.lee*
1729
1730 * Added :format option to NumberHelper#number_to_currency to enable better localization support #11149 *lylo*
1731
1732 * Fixed that TextHelper#excerpt would include one character too many #11268 *Irfy*
1733
1734 * Fix more obscure nested parameter hash parsing bug. #10797 *thomas.lee*
1735
1736 * Added ActionView::Helpers::register_javascript/stylesheet_expansion to make it easier for plugin developers to inject multiple assets. #10350 *lotswholetime*
1737
1738 * Fix nested parameter hash parsing bug. #10797 *thomas.lee*
1739
1740 * Allow using named routes in ActionController::TestCase before any request has been made. Closes #11273 *Eloy Duran*
1741
1742 * Fixed that sweepers defined by cache_sweeper will be added regardless of the perform_caching setting. Instead, control whether the sweeper should be run with the perform_caching setting. This makes testing easier when you want to turn perform_caching on/off *David Heinemeier Hansson*
1743
1744 * Make MimeResponds::Responder#any work without explicit types. Closes #11140 *jaw6*
1745
1746 * Better error message for type conflicts when parsing params. Closes #7962 *spicycode, matt*
1747
1748 * Remove unused ActionController::Base.template_class. Closes #10787 *Pratik Naik*
1749
1750 * Moved template handlers related code from ActionView::Base to ActionView::Template. *Pratik Naik*
1751
1752 * Tests for div_for and content_tag_for helpers. Closes #11223 *Chris O'Sullivan*
1753
1754 * Allow file uploads in Integration Tests. Closes #11091 *RubyRedRick*
1755
1756 * Refactor partial rendering into a PartialTemplate class. *Pratik Naik*
1757
1758 * Added that requests with JavaScript as the priority mime type in the accept header and no format extension in the parameters will be treated as though their format was :js when it comes to determining which template to render. This makes it possible for JS requests to automatically render action.js.rjs files without an explicit respond_to block *David Heinemeier Hansson*
1759
1760 * Tests for distance_of_time_in_words with TimeWithZone instances. Closes #10914 *Ernesto Jimenez*
1761
1762 * Remove support for multivalued (e.g., '&'-delimited) cookies. *Jamis Buck*
1763
1764 * Fix problem with render :partial collections, records, and locals. #11057 *lotswholetime*
1765
1766 * Added support for naming concrete classes in sweeper declarations *David Heinemeier Hansson*
1767
1768 * Remove ERB trim variables from trace template in case ActionView::Base.erb_trim_mode is changed in the application. #10098 *Tim Pope, Chris Kampmeier*
1769
1770 * Fix typo in form_helper documentation. #10650 *Xavier Shay, Chris Kampmeier*
1771
1772 * Fix bug with setting Request#format= after the getter has cached the value. #10889 *cch1*
1773
1774 * Correct inconsistencies in RequestForgeryProtection docs. #11032 *Mislav Marohnić*
1775
1776 * Introduce a Template class to ActionView. #11024 *Pratik Naik*
1777
1778 * Introduce the :index option for form_for and fields_for to simplify multi-model forms (see http://railscasts.com/episodes/75). #9883 *rmm5t*
1779
1780 * Introduce map.resources :cards, :as => 'tarjetas' to use a custom resource name in the URL: cards_path == '/tarjetas'. #10578 *blj*
1781
1782 * TestSession supports indifferent access. #7372 *tamc, Arsen7, mhackett, julik, jean.helou*
1783
1784 * Make assert_routing aware of the HTTP method used. #8039 *mpalmer*
1785 e.g. assert_routing({ :method => 'put', :path => '/product/321' }, { :controller => "product", :action => "update", :id => "321" })
1786
1787 * Make map.root accept a single symbol as an argument to declare an alias. #10818 *bscofield*
1788
1789 e.g. map.dashboard '/dashboard', :controller=>'dashboard'
1790 map.root :dashboard
1791
1792 * Handle corner case with image_tag when passed 'messed up' image names. #9018 *Duncan Beevers, mpalmer*
1793
1794 * Add label_tag helper for generating elements. #10802 *DefV*
1795
1796 * Introduce TemplateFinder to handle view paths and lookups. #10800 *Pratik Naik*
1797
1798 * Performance: optimize route recognition. Large speedup for apps with many resource routes. #10835 *oleganza*
1799
1800 * Make render :partial recognise form builders and use the _form partial. #10814 *Damian Janowski*
1801
1802 * Allow users to declare other namespaces when using the atom feed helpers. #10304 *david.calavera*
1803
1804 * Introduce send_file :x_sendfile => true to send an X-Sendfile response header. *Jeremy Kemper*
1805
1806 * Fixed ActionView::Helpers::ActiveRecordHelper::form for when protect_from_forgery is used #10739 *Jeremy Evans*
1807
1808 * Provide nicer access to HTTP Headers. Instead of request.env["HTTP_REFERRER"] you can now use request.headers["Referrer"]. *Michael Koziarski*
1809
1810 * UrlWriter respects relative_url_root. #10748 *Cheah Chu Yeow*
1811
1812 * The asset_host block takes the controller request as an optional second argument. Example: use a single asset host for SSL requests. #10549 *Cheah Chu Yeow, Peter B, Tom Taylor*
1813
1814 * Support render :text => nil. #6684 *tjennings, PotatoSalad, Cheah Chu Yeow*
1815
1816 * assert_response failures include the exception message. #10688 *Seth Rasmussen*
1817
1818 * All fragment cache keys are now by default prefixed with the "views/" namespace *David Heinemeier Hansson*
1819
1820 * Moved the caching stores from ActionController::Caching::Fragments::* to ActiveSupport::Cache::*. If you're explicitly referring to a store, like ActionController::Caching::Fragments::MemoryStore, you need to update that reference with ActiveSupport::Cache::MemoryStore *David Heinemeier Hansson*
1821
1822 * Deprecated ActionController::Base.fragment_cache_store for ActionController::Base.cache_store *David Heinemeier Hansson*
1823
1824 * Made fragment caching in views work for rjs and builder as well #6642 *Dee Zsombor*
1825
1826 * Fixed rendering of partials with layout when done from site layout #9209 *antramm*
1827
1828 * Fix atom_feed_helper to comply with the atom spec. Closes #10672 *Xavier Shay*
1829
1830 * The tags created do not contain a date (http://feedvalidator.org/docs/error/InvalidTAG.html)
1831 * IDs are not guaranteed unique
1832 * A default self link was not provided, contrary to the documentation
1833 * NOTE: This changes tags for existing atom entries, but at least they validate now.
1834
1835 * Correct indentation in tests. Closes #10671 *Luca Guidi*
1836
1837 * Fix that auto_link looks for ='s in url paths (Amazon urls have them). Closes #10640 *Brad Greenlee*
1838
1839 * Ensure that test case setup is run even if overridden. #10382 *Josh Peek*
1840
1841 * Fix HTML Sanitizer to allow trailing spaces in CSS style attributes. Closes #10566 *wesley.moxam*
1842
1843 * Add :default option to time_zone_select. #10590 *Matt Aimonetti*
1844
1845
1846 ## 2.0.2 (December 16th, 2007) ##
1847
1848 * Added delete_via_redirect and put_via_redirect to integration testing #10497 *philodespotos*
1849
1850 * Allow headers['Accept'] to be set by hand when calling xml_http_request #10461 *BMorearty*
1851
1852 * Added OPTIONS to list of default accepted HTTP methods #10449 *holoway*
1853
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1854 * Added option to pass proc to ActionController::Base.asset_host for maximum configurability #10521 *Cheah Chu Yeow*. Example:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1855
1856 ActionController::Base.asset_host = Proc.new { |source|
1857 if source.starts_with?('/images')
1858 "http://images.example.com"
1859 else
1860 "http://assets.example.com"
1861 end
1862 }
1863
1864 * Fixed that ActionView#file_exists? would be incorrect if @first_render is set #10569 *dbussink*
1865
1866 * Added that Array#to_param calls to_param on all it's elements #10473 *brandon*
1867
1868 * Ensure asset cache directories are automatically created. #10337 *Josh Peek, Cheah Chu Yeow*
1869
1870 * render :xml and :json preserve custom content types. #10388 *jmettraux, Cheah Chu Yeow*
1871
1872 * Refactor Action View template handlers. #10437, #10455 *Josh Peek*
1873
1874 * Fix DoubleRenderError message and leave out mention of returning false from filters. Closes #10380 *Frederick Cheung*
1875
1876 * Clean up some cruft around ActionController::Base#head. Closes #10417 *ssoroka*
1877
1878
1879 ## 2.0.1 (December 7th, 2007) ##
1880
1881 * Fixed send_file/binary_content for testing #8044 *tolsen*
1882
1883 * When a NonInferrableControllerError is raised, make the proposed fix clearer in the error message. Closes #10199 *Jack Danger Canty*
1884
1885 * Update Prototype to 1.6.0.1. *sam*
1886
1887 * Update script.aculo.us to 1.8.0.1. *madrobby*
1888
1889 * Add 'disabled' attribute to <OPTION> separators used in time zone and country selects. Closes #10354 *Josh Susser*
1890
1891 * Added the same record identification guessing rules to fields_for as form_for has *David Heinemeier Hansson*
1892
1893 * Fixed that verification violations with no specified action didn't halt the chain (now they do with a 400 Bad Request) *David Heinemeier Hansson*
1894
1895 * Raise UnknownHttpMethod exception for unknown HTTP methods. Closes #10303 *Tarmo Tänav*
1896
1897 * Update to Prototype -r8232. *sam*
1898
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
1899 * Make sure the optimisation code for routes doesn't get used if :host, :anchor or :port are provided in the hash arguments. *pager, Michael Koziarski* #10292
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
1900
1901 * Added protection from trailing slashes on page caching #10229 *devrieda*
1902
1903 * Asset timestamps are appended, not prepended. Closes #10276 *Mike Naberezny*
1904
1905 * Minor inconsistency in description of render example. Closes #10029 *ScottSchram*
1906
1907 * Add #prepend_view_path and #append_view_path instance methods on ActionController::Base for consistency with the class methods. *Rick Olson*
1908
1909 * Refactor sanitizer helpers into HTML classes and make it easy to swap them out with custom implementations. Closes #10129. *Rick Olson*
1910
1911 * Add deprecation for old subtemplate syntax for ActionMailer templates, use render :partial *Rick Olson*
1912
1913 * Fix TemplateError so it doesn't bomb on exceptions while running tests *Rick Olson*
1914
1915 * Fixed that named routes living under resources shouldn't have double slashes #10198 *Isaac Feliu*
1916
1917 * Make sure that cookie sessions use a secret that is at least 30 chars in length. *Michael Koziarski*
1918
1919 * Fixed that partial rendering should look at the type of the first render to determine its own type if no other clues are available (like when using text.plain.erb as the extension in AM) #10130 *java*
1920
1921 * Fixed that has_many :through associations should render as collections too #9051 *mathie/Jack Danger Canty*
1922
1923 * Added :mouseover short-cut to AssetTagHelper#image_tag for doing easy image swaps #6893 *joost*
1924
1925 * Fixed handling of non-domain hosts #9479 *purp*
1926
1927 * Fix syntax error in documentation example for cycle method. Closes #8735 *foca*
1928
1929 * Document :with option for link_to_remote. Closes #8765 *Ryan Bates*
1930
1931 * Document :minute_step option for time_select. Closes #8814 *brupm*
1932
1933 * Explain how to use the :href option for link_to_remote to degrade gracefully in the absence of JavaScript. Closes #8911 *vlad*
1934
1935 * Disambiguate :size option for text area tag. Closes #8955 *redbeard*
1936
1937 * Fix broken tag in assert_tag documentation. Closes #9037 *mfazekas*
1938
1939 * Add documentation for route conditions. Closes #9041 *innu, Manfred Stienstra*
1940
1941 * Fix typo left over from previous typo fix in url helper. Closes #9414 *Henrik N*
1942
1943 * Fixed that ActionController::CgiRequest#host_with_port() should handle standard port #10082 *moro*
1944
1945 * Update Prototype to 1.6.0 and script.aculo.us to 1.8.0. *sam, madrobby*
1946
1947 * Expose the cookie jar as a helper method (before the view would just get the raw cookie hash) *David Heinemeier Hansson*
1948
1949 * Integration tests: get_ and post_via_redirect take a headers hash. #9130 *simonjefford*
1950
1951 * Simplfy #view_paths implementation. ActionView templates get the exact object, not a dup. *Rick Olson*
1952
1953 * Update tests for ActiveSupport's JSON escaping change. *Rick Olson*
1954
1955 * FormHelper's auto_index should use #to_param instead of #id_before_type_cast. Closes #9994 *mattly*
1956
1957 * Doc typo fixes for ActiveRecordHelper. Closes #9973 *mikong*
1958
1959 * Make example parameters in restful routing docs idiomatic. Closes #9993 *Jack Danger Canty*
1960
1961 * Make documentation comment for mime responders match documentation example. Closes #9357 *yon*
1962
1963 * Introduce a new test case class for functional tests. ActionController::TestCase. *Michael Koziarski*
1964
1965 * Fix incorrect path in helper rdoc. Closes #9926 *viktor tron*
1966
1967 * Partials also set 'object' to the default partial variable. #8823 *Nick Retallack, Jeremy Kemper*
1968
1969 * Request profiler. *Jeremy Kemper*
1970 $ cat login_session.rb
1971 get_with_redirect '/'
1972 say "GET / => #{path}"
1973 post_with_redirect '/sessions', :username => 'john', :password => 'doe'
1974 say "POST /sessions => #{path}"
1975 $ ./script/performance/request -n 10 login_session.rb
1976
1977 * Disabled checkboxes don't submit a form value. #9301 *vladr, robinjfisher*
1978
1979 * Added tests for options to ActiveRecordHelper#form. Closes #7213 *richcollins, mikong, Mislav Marohnić*
1980
1981 * Changed before_filter halting to happen automatically on render or redirect but no longer on simply returning false *David Heinemeier Hansson*
1982
1983 * Ensure that cookies handle array values correctly. Closes #9937 *queso*
1984
1985 * Make sure resource routes don't clash with internal helpers like javascript_path, image_path etc. #9928 *Geoff Buesing*
1986
1987 * caches_page uses a single after_filter instead of one per action. #9891 *Pratik Naik*
1988
1989 * Update Prototype to 1.6.0_rc1 and script.aculo.us to 1.8.0 preview 0. *sam, madrobby*
1990
1991 * Dispatcher: fix that to_prepare should only run once in production. #9889 *Nathaniel Talbott*
1992
1993 * Memcached sessions: add session data on initialization; don't silently discard exceptions; add unit tests. #9823 *kamk*
1994
1995 * error_messages_for also takes :message and :header_message options which defaults to the old "There were problems with the following fields:" and "<count> errors prohibited this <object_name> from being saved". #8270 *rmm5t, zach-inglis-lt3*
1996
1997 * Make sure that custom inflections are picked up by map.resources. #9815 *Mislav Marohnić*
1998
1999 * Changed SanitizeHelper#sanitize to only allow the custom attributes and tags when specified in the call *David Heinemeier Hansson*
2000
2001 * Extracted sanitization methods from TextHelper to SanitizeHelper *David Heinemeier Hansson*
2002
2003 * rescue_from accepts :with => lambda { |exception| ... } or a normal block. #9827 *Pratik Naik*
2004
2005 * Add :status to redirect_to allowing users to choose their own response code without manually setting headers. #8297 *Coda Hale, chasgrundy*
2006
2007 * Add link_to :back which uses your referrer with a fallback to a javascript link. #7366 *eventualbuddha, Tarmo Tänav*
2008
2009 * error_messages_for and friends also work with local variables. #9699 *Frederick Cheung*
2010
2011 * Fix url_for, redirect_to, etc. with :controller => :symbol instead of 'string'. #8562, #9525 *Justin Lynn, Tarmo Tänav, shoe*
2012
2013 * Use #require_library_or_gem to load the memcache library for the MemCache session and fragment cache stores. Closes #8662. *Rick Olson*
2014
2015 * Move ActionController::Routing.optimise_named_routes to ActionController::Base.optimise_named_routes. Now you can set it in the config. *Rick Olson*
2016
2017 config.action_controller.optimise_named_routes = false
2018
2019 * ActionController::Routing::DynamicSegment#interpolation_chunk should call #to_s on all values before calling URI.escape. *Rick Olson*
2020
2021 * Only accept session ids from cookies, prevents session fixation attacks. *bradediger*
2022
2023
2024 ## 2.0.0 Preview Release (September 29th, 2007) Includes duplicates of changes from 1.12.2 - 1.13.3 ##
2025
2026 * Fixed that render template did not honor exempt_from_layout #9698 *pezra*
2027
2028 * Better error messages if you leave out the :secret option for request forgery protection. Closes #9670 *Rick Olson*
2029
2030 * Allow ability to disable request forgery protection, disable it in test mode by default. Closes #9693 *Pratik Naik*
2031
2032 * Avoid calling is_missing on LoadErrors. Closes #7460. *ntalbott*
2033
2034 * Move Railties' Dispatcher to ActionController::Dispatcher, introduce before_ and after_dispatch callbacks, and warm up to non-CGI requests. *Jeremy Kemper*
2035
2036 * The tag helper may bypass escaping. *Jeremy Kemper*
2037
2038 * Cache asset ids. *Jeremy Kemper*
2039
2040 * Optimized named routes respect AbstractRequest.relative_url_root. #9612 *Daniel Morrison, Jeremy Kemper*
2041
2042 * Introduce ActionController::Base.rescue_from to declare exception-handling methods. Cleaner style than the case-heavy rescue_action_in_public. #9449 *Norbert Crombach*
2043
2044 * Rename some RequestForgeryProtection methods. The class method is now #protect_from_forgery, and the default parameter is now 'authenticity_token'. *Rick Olson*
2045
2046 * Merge csrf_killer plugin into rails. Adds RequestForgeryProtection model that verifies session-specific _tokens for non-GET requests. *Rick Olson*
2047
2048 * Secure #sanitize, #strip_tags, and #strip_links helpers against xss attacks. Closes #8877. *Rick Olson, Pratik Naik, Jacques Distler*
2049
2050 This merges and renames the popular white_list helper (along with some css sanitizing from Jacques Distler version of the same plugin).
2051 Also applied updated versions of #strip_tags and #strip_links from #8877.
2052
2053 * Remove use of & logic operator. Closes #8114. *watson*
2054
2055 * Fixed JavaScriptHelper#escape_javascript to also escape closing tags #8023 *Ruy Asan*
2056
2057 * Fixed TextHelper#word_wrap for multiline strings with extra carrier returns #8663 *seth*
2058
2059 * Fixed that setting the :host option in url_for would automatically turn off :only_path (since :host would otherwise not be shown) #9586 *Bounga*
2060
2061 * Added FormHelper#label. #8641, #9850 *jcoglan, Jarkko Laine*
2062
2063 * Added AtomFeedHelper (slightly improved from the atom_feed_helper plugin) *David Heinemeier Hansson*
2064
2065 * Prevent errors when generating routes for uncountable resources, (i.e. sheep where plural == singluar). map.resources :sheep now creates sheep_index_url for the collection and sheep_url for the specific item. *Michael Koziarski*
2066
2067 * Added support for HTTP Only cookies (works in IE6+ and FF 2.0.5+) as an improvement for XSS attacks #8895 *Pratik Naik, Mark Somerville*
2068
2069 * Don't warn when a path segment precedes a required segment. Closes #9615. *Nicholas Seckar*
2070
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
2071 * Fixed CaptureHelper#content_for to work with the optional content parameter instead of just the block #9434 *sandofsky/wildchild*.
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
2072
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
2073 * Added Mime::Type.register_alias for dealing with different formats using the same mime type *DHH*. Example:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
2074
2075 class PostsController < ApplicationController
2076 before_filter :adjust_format_for_iphone
2077
2078 def index
2079 @posts = Post.find(:all)
2080
2081 respond_to do |format|
2082 format.html # => renders index.html.erb and uses "text/html" as the content type
2083 format.iphone # => renders index.iphone.erb and uses "text/html" as the content type
2084 end
2085 end
2086
2087
2088 private
2089 def adjust_format_for_iphone
2090 if request.env["HTTP_USER_AGENT"] && request.env["HTTP_USER_AGENT"][/iPhone/]
2091 request.format = :iphone
2092 end
2093 end
2094 end
2095
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
2096 * Added that render :json will automatically call .to_json unless it's being passed a string *DHH*.
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
2097
2098 * Autolink behaves well with emails embedded in URLs. #7313 *Jeremy McAnally, Tarmo Tänav*
2099
2100 * Fixed that default layouts did not take the format into account #9564 *Pratik Naik*
2101
2102 * Fixed optimized route segment escaping. #9562 *wildchild, Jeremy Kemper*
2103
2104 * Added block acceptance to JavaScriptHelper#javascript_tag. #7527 *Bob Silva, Tarmo Tänav, rmm5t*
2105
2106 * root_path returns '/' not ''. #9563 *Pratik Naik*
2107
2108 * Fixed that setting request.format should also affect respond_to blocks *David Heinemeier Hansson*
2109
2110 * Add option to force binary mode on tempfile used for fixture_file_upload. #6380 *Jonathan Viney*
2111
2112 * Fixed that resource namespaces wouldn't stick to all nested resources #9399 *pixeltrix*
2113
2114 * Moved ActionController::Macros::AutoComplete into the auto_complete plugin on the official Rails svn. #9512 *Pratik Naik*
2115
2116 * Moved ActionController::Macros::InPlaceEditing into the in_place_editor plugin on the official Rails svn. #9513 *Pratik Naik*
2117
2118 * Removed deprecated form of calling xml_http_request/xhr without the first argument being the http verb *David Heinemeier Hansson*
2119
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
2120 * Removed deprecated methods *DHH*:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
2121
2122 - ActionController::Base#keep_flash (use flash.keep instead)
2123 - ActionController::Base#expire_matched_fragments (just call expire_fragment with a regular expression)
2124 - ActionController::Base.template_root/= methods (use ActionController#Base.view_paths/= instead)
2125 - ActionController::Base.cookie (use ActionController#Base.cookies[]= instead)
2126
2127 * Removed the deprecated behavior of appending ".png" to image_tag/image_path calls without an existing extension *David Heinemeier Hansson*
2128
2129 * Removed ActionController::Base.scaffold -- it went through the whole idea of scaffolding (card board walls you remove and tweak one by one). Use the scaffold generator instead (it does resources too now!) *David Heinemeier Hansson*
2130
2131 * Optimise named route generation when using positional arguments. *Michael Koziarski*
2132
2133 This change delivers significant performance benefits for the most
2134 common usage scenarios for modern rails applications by avoiding the
2135 costly trip through url_for. Initial benchmarks indicate this is
2136 between 6 and 20 times as fast.
2137
2138 * Explicitly require active_record/query_cache before using it. *Jeremy Kemper*
2139
2140 * Fix layout overriding response status. #9476 *lotswholetime*
2141
2142 * Add field_set_tag for generating field_sets, closes #9477. *Damian Janowski*
2143
2144 * Allow additional parameters to be passed to named route helpers when using positional arguments. Closes #8930 *Ian White*
2145
2146 * Make render :partial work with a :collection of Hashes, previously this wasn't possible due to backwards compatibility restrictions. *Pratik Naik*
2147
2148 * request.host works with IPv6 addresses. #9458 *yuya*
2149
2150 * Fix bug where action caching sets the content type to the ActionCachePath object. Closes #9282 *mindforge*
2151
2152 * Find layouts even if they're not in the first view_paths directory. Closes #9258 *caio*
2153
2154 * Major improvement to the documentation for the options / select form helpers. Closes #9038 *Chris Kampmeier, jardeon, wesg*
2155
2156 * Fix number_to_human_size when using different precisions. Closes #7536. *RichardStrand, mpalmer*
2157
2158 * Added partial layouts (see example in action_view/lib/partials.rb) *David Heinemeier Hansson*
2159
2160 * Allow you to set custom :conditions on resource routes. *Rick Olson*
2161
2162 * Fixed that file.content_type for uploaded files would include a trailing \r #9053 *Brad Greenlee*
2163
2164 * url_for now accepts a series of symbols representing the namespace of the record *Josh Knowles*
2165
2166 * Make :trailing_slash work with query parameters for url_for. Closes #4004 *nov*
2167
2168 * Make sure missing template exceptions actually say which template they were looking for. Closes #8683 *dasil003*
2169
2170 * Fix errors with around_filters which do not yield, restore 1.1 behaviour with after filters. Closes #8891 *Stefan Kaes*
2171
2172 After filters will *no longer* be run if an around_filter fails to yield, users relying on
2173 this behaviour are advised to put the code in question after a yield statement in an around filter.
2174
2175
2176 * Allow you to delete cookies with options. Closes #3685 *Josh Peek, Chris Wanstrath*
2177
2178 * Allow you to render views with periods in the name. Closes #8076 *Norbert Crombach*
2179
2180 render :partial => 'show.html.erb'
2181
2182 * Improve capture helper documentation. #8796 *Chris Kampmeier*
2183
2184 * Prefix nested resource named routes with their action name, e.g. new_group_user_path(@group) instead of group_new_user_path(@group). The old nested action named route is deprecated in Rails 1.2.4. #8558 *David Chelimsky*
2185
2186 * Allow sweepers to be created solely for expiring after controller actions, not model changes *David Heinemeier Hansson*
2187
2188 * Added assigns method to ActionController::Caching::Sweeper to easily access instance variables on the controller *David Heinemeier Hansson*
2189
2190 * Give the legacy X-POST_DATA_FORMAT header greater precedence during params parsing for backward compatibility. *Jeremy Kemper*
2191
2192 * Fixed that link_to with an href of # when using :method will not allow for click-through without JavaScript #7037 *Steven Bristol, Josh Peek*
2193
2194 * Fixed that radio_button_tag should generate unique ids #3353 *Bob Silva, Rebecca, Josh Peek*
2195
2196 * Fixed that HTTP authentication should work if the header is called REDIRECT_X_HTTP_AUTHORIZATION as well #6754 *Mislav Marohnić*
2197
2198 * Don't mistakenly interpret the request uri as the query string. #8731 *Pratik Naik, Jeremy Kemper*
2199
2200 * Make ActionView#view_paths an attr_accessor for real this time. Also, don't perform an unnecessary #compact on the @view_paths array in #initialize. Closes #8582 *dasil003, julik, Rick Olson*
2201
2202 * Tolerate missing content type on multipart file uploads. Fix for Safari 3. *Jeremy Kemper*
2203
2204 * Deprecation: remove pagination. Install the classic_pagination plugin for forward compatibility, or move to the superior will_paginate plugin. #8157 *Josh Peek*
2205
2206 * Action caching is limited to GET requests returning 200 OK status. #3335 *tom@craz8.com, halfbyte, Dan Kubb, Josh Peek*
2207
2208 * Improve Text Helper test coverage. #7274 *Rob Sanheim, Josh Peek*
2209
2210 * Improve helper test coverage. #7208, #7212, #7215, #7233, #7234, #7235, #7236, #7237, #7238, #7241, #7243, #7244 *Rich Collins, Josh Peek*
2211
2212 * Improve UrlRewriter tests. #7207 *Rich Collins*
2213
2214 * Resources: url_for([parent, child]) generates /parents/1/children/2 for the nested resource. Likewise with the other simply helpful methods like form_for and link_to. #6432 *mhw, Jonathan Vaught, lotswholetime*
2215
2216 * Assume html format when rendering partials in RJS. #8076 *Rick Olson*
2217
2218 * Don't double-escape url_for in views. #8144 *Rich Collins, Josh Peek*
2219
2220 * Allow JSON-style values for the :with option of observe_field. Closes #8557 *kommen*
2221
2222 * Remove RAILS_ROOT from backtrace paths. #8540 *Tim Pope*
2223
2224 * Routing: map.resource :logo routes to LogosController so the controller may be reused for multiple nestings or namespaces. *Jeremy Kemper*
2225
2226 * render :partial recognizes Active Record associations as Arrays. #8538 *Kamal Fariz Mahyuddin*
2227
2228 * Routing: drop semicolon and comma as route separators. *Jeremy Kemper*
2229
2230 * request.remote_ip understands X-Forwarded-For addresses with nonstandard whitespace. #7386 *moses*
2231
2232 * Don't prepare response when rendering a component. #8493 *jsierles*
2233
2234 * Reduce file stat calls when checking for template changes. #7736 *alex*
2235
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
2236 * Added custom path cache_page/expire_page parameters in addition to the options hashes *DHH*. Example:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
2237
2238 def index
2239 caches_page(response.body, "/index.html")
2240 end
2241
2242 * Action Caching speedup. #8231 *Stefan Kaes*
2243
2244 * Wordsmith resources documentation. #8484 *marclove*
2245
2246 * Fix syntax error in code example for routing documentation. #8377. *Norbert Crombach*
2247
2248 * Routing: respond with 405 Method Not Allowed status when the route path matches but the HTTP method does not. #6953 *Josh Peek, defeated, Dan Kubb, Coda Hale*
2249
2250 * Add support for assert_select_rjs with :show and :hide. #7780 *dchelimsky*
2251
2252 * Make assert_select's failure messages clearer about what failed. #7779 *dchelimsky*
2253
2254 * Introduce a default respond_to block for custom types. #8174 *Josh Peek*
2255
2256 * auto_complete_field takes a :method option so you can GET or POST. #8120 *zapnap*
2257
2258 * Added option to suppress :size when using :maxlength for FormTagHelper#text_field #3112 *Tim Pope*
2259
2260 * catch possible WSOD when trying to render a missing partial. Closes #8454 *Jonathan del Strother*
2261
2262 * Rewind request body after reading it, if possible. #8438 *s450r1*
2263
2264 * Resource namespaces are inherited by their has_many subresources. #8280 *marclove, Geoff Garside*
2265
2266 * Fix filtered parameter logging with nil parameter values. #8422 *choonkeat*
2267
2268 * Integration tests: alias xhr to xml_http_request and add a request_method argument instead of always using POST. #7124 *Nik Wakelin, François Beausoleil, Wizard*
2269
2270 * Document caches_action. #5419 *Jarkko Laine*
2271
2272 * Update to Prototype 1.5.1. *Sam Stephenson*
2273
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
2274 * Allow routes to be decalred under namespaces *Tobias Lütke*:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
2275
2276 map.namespace :admin do |admin|
2277 admin.root :controller => "products"
2278 admin.feed 'feed.xml', :controller => 'products', :action => 'feed', :format => 'xml'
2279 end
2280
2281 * Update to script.aculo.us 1.7.1_beta3. *Thomas Fuchs*
2282
2283 * observe_form always sends the serialized form. #5271 *Manfred Stienstra, normelton@gmail.com*
2284
2285 * Parse url-encoded and multipart requests ourselves instead of delegating to CGI. *Jeremy Kemper*
2286
2287 * select :include_blank option can be set to a string instead of true, which just uses an empty string. #7664 *Wizard*
2288
84054a7d » joneslee85
2012-01-04 Fix typos and formats for CHANGELOG
2289 * Added url_for usage on render :location, which allows for record identification *DHH*. Example:
281272ad » jonleighton
2011-11-04 Convert CHANGELOGs to Markdown format.
2290
2291 render :xml => person, :status => :created, :location => person
2292
2293 ...expands the location to person_url(person).
2294
2295 * Introduce the request.body stream. Lazy-read to parse parameters rather than always setting RAW_POST_DATA. Reduces the memory footprint of large binary PUT requests. *Jeremy Kemper*
2296
2297 * Add some performance enhancements to ActionView.
2298
2299 * Cache base_paths in @@cached_base_paths
2300 * Cache template extensions in @@cached_template_extension
2301 * Remove unnecessary rescues
2302
2303 * Assume that rendered partials go by the HTML format by default
2304
2305 def my_partial
2306 render :update do |page|
2307 # in this order
2308 # _foo.html.erb
2309 # _foo.erb
2310 # _foo.rhtml