<commit_before>## Rails 4.0.0 (unreleased) ##

*   Fix #7646, the log now displays the correct status code when an exception is raised.

    *<NAME>*

*   Allow pass couple extensions to ActionView::Template.register_template_handler call. *<NAME>*

*   Sprockets integration has been extracted from Action Pack and the `sprockets-rails` 
    gem should be added to Gemfile (under the assets group) in order to use Rails asset
    pipeline in future versions of Rails. 

    *<NAME>*

*   `ActionDispatch::Session::MemCacheStore` now uses `dalli` instead of the deprecated 
    `memcache-client` gem. As side effect the autoloading of unloaded classes objects 
    saved as values in session isn't supported anymore when mem_cache session store is 
    used, this can have an impact in apps only when config.cache_classes is false. 

    *<NAME> + <NAME>*

*   Support multiple etags in If-None-Match header. *<NAME>*

*   Allow to configure how unverified request will be handled using `:with`
    option in `protect_from_forgery` method.

    Valid unverified request handling methods are:

    - `:exception` - Raises ActionController::InvalidAuthenticityToken exception.
    - `:reset_session` - Resets the session.
    - `:null_session` - Provides an empty session during request but doesn't
      reset it completely. Used as default if `:with` option is not specified.

    New applications are generated with:

        protect_from_forgery :with => :exception

    *<NAME>*

*   Add .ruby template handler, this handler simply allows arbitrary Ruby code as a template. *<NAME>*

*   Add `separator` option for `ActionView::Helpers::TextHelper#excerpt`:

        excerpt('This is a very beautiful morning', 'very', :separator  => ' ', :radius => 1)
        # => ...a very beautiful...
<commit_msg>cleanup, remove whitespace from CHANGELOG<commit_after>## Rails 4.0.0 (unreleased) ##

*   Fix #7646, the log now displays the correct status code when an exception is raised.

    *<NAME>*

*   Allow pass couple extensions to ActionView::Template.register_template_handler call. *<NAME>*

*   Sprockets integration has been extracted from Action Pack and the `sprockets-rails`
    gem should be added to Gemfile (under the assets group) in order to use Rails asset
    pipeline in future versions of Rails.

    *<NAME>*

*   `ActionDispatch::Session::MemCacheStore` now uses `dalli` instead of the deprecated
    `memcache-client` gem. As side effect the autoloading of unloaded classes objects
    saved as values in session isn't supported anymore when mem_cache session store is
    used, this can have an impact in apps only when config.cache_classes is false.

    *<NAME> + <NAME>*

*   Support multiple etags in If-None-Match header. *<NAME>*

*   Allow to configure how unverified request will be handled using `:with`
    option in `protect_from_forgery` method.

    Valid unverified request handling methods are:

    - `:exception` - Raises ActionController::InvalidAuthenticityToken exception.
    - `:reset_session` - Resets the session.
    - `:null_session` - Provides an empty session during request but doesn't
      reset it completely. Used as default if `:with` option is not specified.

    New applications are generated with:

        protect_from_forgery :with => :exception

    *<NAME>*

*   Add .ruby template handler, this handler simply allows arbitrary Ruby code as a template. *<NAME>*

*   Add `separator` option for `ActionView::Helpers::TextHelper#excerpt`:

        excerpt('This is a very beautiful morning', 'very', :separator  => ' ', :radius => 1)
        # => ...a very beautiful...

{'fraction_non_alphanumeric': 0.08732782369146005, 'fraction_numerical': 0.004407713498622589, 'mean_word_length': 3.6137229987293518, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 27, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7355147', 'n_tokens_mistral': 1048, 'n_tokens_neox': 987, 'n_words': 420}