* Dom and Selector assertions has extracted to rails-dom-testing to better be used in both Action Pack and Action View.
Note:
This also changes the substitution values syntax in `assert_select`.
`assert_select "div#?", /\d+/`
`assert_select "div:match('id', ?)", /\d+/`
The attribute to match should be enclosed in quotes to avoid
issues with Nokogiri's css selector syntax parsing.
It is not necessary to do so with the question mark.
Calling `assert_select` with an invalid selector will emit a deprecation warning and skip the assertions.
*Kasper Timm Hansen*
* The sanitizers in `sanitize_helper` have been extracted to rails-html-sanitizer. Loofah is used for sanitization instead of html-scanner.
This means:
`sanitize` can now take a `Loofah::Scrubber` for powerful scrubbing.
[See some examples of scrubbers here](https://github.com/flavorjones/loofah#loofahscrubber)
`PermitScrubber` has been added. Set the attributes and tags you want to keep and get everything else stripped.
`TargetScrubber` has been added. Set the attributes and tags you want to have stripped and keep everything else.
The documentation for `PermitScrubber` and `TargetScrubber` explains how you can gain complete control over when and how elements should be stripped.
*Kasper Timm Hansen*
* Fix `html_escape_once` to properly handle hex escape sequences (e.g. ᨫ)
*John F. Douthat*
* Added String support for min and max properties for date field helpers.
*Todd Bealmear*
* The `highlight` helper now accepts a block to be used instead of the `highlighter`
option.
*Lucas Mazza*
* The `except` and `highlight` helpers now accept regular expressions.
*Jan Szumiec*
* Flatten the array parameter in `safe_join`, so it behaves consistently with
`Array#join`.
*Paul Grayson*
* Honor `html_safe` on array elements in tag values, as we do for plain string
values.
*Paul Grayson*
* Add `ActionView::Template::Handler.unregister_template_handler`.
It performs the opposite of `ActionView::Template::Handler.register_template_handler`.
*Zuhao Wan*
* Bring `cache_digest` rake tasks up-to-date with the latest API changes
*Jiri Pospisil*
* Allow custom `:host` option to be passed to `asset_url` helper that
overwrites `config.action_controller.asset_host` for particular asset.
*Hubert Łępicki*
* Deprecate `AbstractController::Base.parent_prefixes`.
Override `AbstractController::Base.local_prefixes` when you want to change
where to find views.
*Nick Sutterer*
* Take label values into account when doing I18n lookups for model attributes.
The following:
# form.html.erb
<%= form_for @post do |f| %>
<%= f.label :type, value: "long" %>
<% end %>
# en.yml
en:
activerecord:
attributes:
post/long: "Long-form Post"
Used to simply return "long", but now it will return "Long-form
Post".
*Joshua Cody*
* Change `asset_path` to use File.join to create proper paths:
Before:
https://some.host.com//assets/some.js
After:
https://some.host.com/assets/some.js
*Peter Schröder*
* Change `favicon_link_tag` default mimetype from `image/vnd.microsoft.icon` to
`image/x-icon`.
Before:
#=> favicon_link_tag 'myicon.ico'
After:
#=> favicon_link_tag 'myicon.ico'
*Geoffroy Lorieux*
* Remove wrapping div with inline styles for hidden form fields.
We are dropping HTML 4.01 and XHTML strict compliance since input tags directly
inside a form are valid HTML5, and the absense of inline styles help in validating
for Content Security Policy.
*Joost Baaij*
* `collection_check_boxes` respects `:index` option for the hidden filed name.
Fixes #14147.
*Vasiliy Ermolovich*
* `date_select` helper with option `with_css_classes: true` does not overwrite other classes.
*Izumi Wong-Horiuchi*
* `number_to_percentage` does not crash with `Float::NAN` or `Float::INFINITY`
as input.
Fixes #14405.
*Yves Senn*
* Add `include_hidden` option to `collection_check_boxes` helper.
*Vasiliy Ermolovich*
* Fixed a problem where the default options for the `button_tag` helper is not
applied correctly.
Fixes #14254.
*Sergey Prikhodko*
* Take variants into account when calculating template digests in ActionView::Digestor.
The arguments to ActionView::Digestor#digest are now being passed as a hash
to support variants and allow more flexibility in the future. The support for
regular (required) arguments is deprecated and will be removed in Rails 5.0 or later.
*Piotr Chmolowski, Łukasz Strzałkowski*
Please check [4-1-stable](https://github.com/rails/rails/blob/4-1-stable/actionview/CHANGELOG.md) for previous changes.