Move to_param to to_query, also Improve tests
Bug fix for assert_template when opening a new session.

See https://github.com/rails/rails/pull/16234#commitcomment-7115670.
Improve description of tests.
Add support for Postgresql JSONB

[Philippe Creux, Chris Teague]
Remove finishing? method from transaction.

The finishing variable on the transaction object was a work-around for
the savepoint name, so after a rollback/commit the savepoint could be
released with the previous name.

related:
9296e6939bcc786149a07dac334267c4035b623a
60c88e64e26682a954f7c8cd6669d409ffffcc8b
adding indexes on tables in migration scripts

missed one migration script in last commit

remove some empty lines

using the belongs_to index option to be more concise
Add password:digest information to scaffold generator help text [ci skip]
Additional clarification on password:digest in scaffold and model generator help [ci skip]
Merge pull request #16272 from tgxworld/fix_template_assertion_when_opening_a_session

Fix template assertion when opening a session.
Merge pull request #16220 from pcreux/postgresql-jsonb-support

Add support for Postgresql JSONB
Merge pull request #16258 from mattwarrenrnp/master

adding indexes on tables in migration scripts [ci skip]
docs, add ref where to find valid `head` status symbols.

[ci skip]
Fix documentation of SQlite3Adapter.columns

As of https://github.com/rails/rails/commit/e781aa31fc52a7c696115302ef4d4e02bfd1533b SQLite3Column has been dropped.
Remove references to SQLite3Column from documentation
Merge pull request #16285 from noinkling/password_digest_docs

Add password:digest information to scaffold generator help text
Merge pull request #16290 from a3gis/master

[ci skip] Fix documentation of SQLite3Adapter.columns where SQLite3Column was removed in e781aa31fc52a7c696115302ef4d4e02bfd1533b
Extract iterator method in AR::SchemaDumper

Gems which wish to tie into ActiveRecord::SchemaDumper need to
duplicate this logic currently. [Foreigner] is one such example, as is a
library I'm currently working on but which hasn't been released yet:

    def tables_with_foreign_keys(stream)
      tables_without_foreign_keys(stream)
      @connection.tables.sort.each do |table|
        next if ['schema_migrations', ignore_tables].flatten.any? do |ignored|
          case ignored
          when String; table == ignored
          when Regexp; table =~ ignored
          else
            raise StandardError, 'ActiveRecord::SchemaDumper.ignore_tables accepts an array of String and / or Regexp values.'
          end
        end
        foreign_keys(table, stream)
      end
    end

[Foreigner]: https://github.com/matthuhiggins/foreigner/blob/master/lib/foreigner/schema_dumper.rb#L36-L43

Extract the skip logic to a method, making it much simpler to follow
this same behavior in gems that are tying into the migration flow and
let them dump only tables that aren't skipped without copying this block
of code. The above code could then be simplified to:

    def tables_with_foreign_keys(stream)
      tables_without_foreign_keys(stream)
      @connection.tables.sort.each do |table|
        foreign_keys(table, stream) unless ignored?(table)
      end
    end

It also, in my opinion, simplifies the logic on ActiveRecord's side, and
clarifies the intent of the skip logic.
Fix that render layout should also be picked up by the template dependency tracker, but only half-ways. You can add that layout option on the same render call, and both templates should be added to the dependency tree. But thats going to require a more serious rework of the tracker. Please do help fix this part of it too. For now, render layout needs to be on its own line.
add comment to the empty each method for not removing it in future
Fix protect_from_forgery docs