oops, template replay needs to happen after bundle. :orz:
stop doing the same calculation over and over
The enum value constant isn't used, so rm it for now.
ask the fixture set for the sql statements
Refactor File.expand_path usage to remove additional File.join
Merge pull request #12752 from notalex/expand_path_refactoring

Refactor File.expand_path usage to remove additional File.join
Use 1.9 Hash syntax consistently
Improve Errors when Controller Name or Action isn't specfied

These errors occur when, there routes are wrongly defined.

example, the following line would cause a missing :action error

    root "welcomeindex"

Mostly beginners are expected to hit these errors, so lets improve the error message a bit to make their learning experience bit better.
Merge pull request #12773 from ptn/use_19_syntax_in_schema_test

Use 1.9 Hash syntax consistently
Remove private API test
Merge pull request #12390 from kennyj/rename_to_association_methods

Renamed generated_feature_methods to generated_association_methods.

Conflicts:
	activerecord/lib/active_record/associations/builder/association.rb
	activerecord/lib/active_record/associations/builder/singular_association.rb
	activerecord/test/cases/base_test.rb
define enum methods inside a `Module` to make them overwritable.
Clarify HTML Safe Translations [ci-skip]

I think it's confusing to say "Use them in views without escaping." We
use all keys in views without escaping - the escaping is done for us
automatically _unless_ we call html_safe or the key ends in _html.
Merge pull request #12776 from derekprior/dp-i18n-doc-fix

Clarify HTML Safe Translations
direct enum assignment rasies ArgumentError for unknown values.
store enum mapping using `Strings` instead of `Symbols`.

This allows to assign both `String` and `Symbol` values to the enum
without having to call `to_sym`, which is a security problem.
Don't swallow exceptions in transctional statements

The MySQL connection adapater swallows all StandardError exceptions,
which includes Mysql::Error and Mysql2::Error. The comment in the
exception clause claims errors thrown here indicate that transactions
aren't supported by the server but that isn't necessarily true. It's
possible the MySQL server has gone away and swallowing a failed commit
may let the application return a successful response when the data has
not been saved. Also, replication libraries like Galera require that the
application handle exceptions thrown at BEGIN/COMMIT.

I'm unable to determine what version of MySQL threw an exception for
transactional statements. I tried as far back as 3.23.49 with InnoDB
disabled but BEGIN & COMMIT statements do not throw an error. If there's
a real case for this logic to continue, we could instead push this
behavior into a configuration setting.

The exception swallowing has been there since the beginning:
db045dbbf60b53dbe013ef25554fd013baf88134
Fixed Object#as_json and Struct#as_json with options
These methods now takes the same options as Hash#as_json, for example:

    struct = Struct.new(:foo, :bar).new
    struct.foo = "hello"
    struct.bar = "world"
    json = struct.as_json(only: [:foo]) # => {foo: "hello"}

This is extracted from PR #11728 from @sergiocampama, see also the
discussion in #11460.
Merge pull request #12782 from chancancode/fix_object_and_struct_as_json

Fixed Object#as_json and Struct#as_json with options
Fix AS changelog indent, remove tabs and extra spaces [ci skip]