Added test to ensure that DescendantsTracker does not leak memory on singleton classes
ActiveSupport::Notifications::Instrumenter#instrument should yield
its payload the same way that ActiveSupport::Notifications does.
Fix spelling in test name.
Use ActionView::OutputBuffer#safe_append= from templates
avoid extra method calls for appending newlines

before:

        ');@output_buffer.append= ( content_icon row[:content] );@output_buffer.safe_concat('
');@output_buffer.safe_concat('        ');@output_buffer.append= ( spinner_img );@output_buffer.safe_concat('
');@output_buffer.safe_concat('      </td>
      <td class="content">
        ');@output_buffer.append= ( content_link row[:content] );@output_buffer.safe_concat('
');@output_buffer.safe_concat('      </td>
      <td class="message">
');

after:

        ';@output_buffer.append=( content_icon row[:content] );@output_buffer.safe_append='
        ';@output_buffer.append=( spinner_img );@output_buffer.safe_append='
      </td>
      <td class="content">
        ';@output_buffer.append=( content_link row[:content] );@output_buffer.safe_append='
      </td>
      <td class="message">
';
Change ActionController::Parameters#require behavior when value is empty
When the value for the required key is empty an ActionController::ParameterMissing is raised which gets caught by ActionController::Base and turned into a 400 Bad Request reply with a message in the body saying the key is missing, which is misleading.

With these changes, ActionController::EmptyParameter will be raised which ActionController::Base will catch and turn into a 400 Bad Request reply with a message in the body saying the key value is empty.
I think "uniq" is more Rails-y than select("distinct(categories.id)")
Minor copy editing
update README since email-service isn't a word
Uniq cannot be used directly on an ActiveRecord model. 'DISTINCT field' is the only pluck query that translates into the aforementioned SQL
Cast number to string in Postgres

fixes #9170
Document nested attributes as hash of hashes

Document the possibility to use a hash of hashes for nested attributes for a one-to-many association (in addition to the documented possibility to use an array of hashes).
Align indentation in comments
Also quote extension name in disable_extension

A patch was committed recently which quoted the extension name in the SQL for `enable_extension`. But the same wasn't done for `disable_extension`.
Merge pull request #9687 from stouset/patch-1

Also quote extension name in disable_extension
Fix my typo
Fix missing closing <tt> tag
Document change to clashing named route selection from journey commit 98a9802a
drop memory consumption and startup speed by switching to define_method
removing out of date comment.  :heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart: @pixeltrix
clarify verbiage