…method_missing with Marshal.dump and Marshal.load is changing in ruby 2.0.0 later.
* 3-2-sec: bumping version remove ruby-prof Fix issue with attr_protected where malformed input could circumvent protection fixing call to columns hash. run the damn tests when you backport! Bump rack dependency to 1.4.5 Merge pull request #9224 from dylanahsmith/bigdecimal-takes-string Merge pull request #9208 from dylanahsmith/3-2-mysql-quote-numeric Conflicts: Gemfile activerecord/CHANGELOG.md
There is an inconsistency between the conditional logic in the definition of ActiveSupport::TestCase and the conditional logic in ActiveSupport::Testing::SetupAndTeardown . In some circumstances, it's possible for MiniTest to be defined, but for ActiveSupport::TestCase *not* to have MiniTest::Unit::TestCase or MiniTest::Assertions in its ancestor chain. e.g. in Ruby 1.8 with the minitest gem included in the bundle. In this case, the Test::Unit/MiniTest shim/wrapper is not present and so Test::Unit::TestCase (and therefore ActiveSupport::TestCase) is completely independent of MiniTest::Unit::TestCase. The conditional logic in the definition of ActiveSupport::TestCase does not take this scenario into account, whereas the logic in ActiveSupport::Testing::SetupAndTeardown does take it into account. The changes in this commit are an alternative to the change in  which was reverted in . Similar conditional logic exists in ActiveSupport::Testing::Isolation , ActiveSupport::Testing::Pending , ActiveSupport::Testing::Performance , and in their respective tests. I have not addressed these, because I know less about what's going on there, but it would be worth bringing them all into line too.  https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/setup_and_teardown.rb#L13  c3e186e  267fb61  https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/isolation.rb#L41  https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/pending.rb#L14  https://github.com/rails/rails/blob/3-2-stable/activesupport/lib/active_support/testing/performance.rb#L17
* 3-2-sec: bumping version CVE-2013-0156: Safe XML params parsing. Doesn't allow symbols or yaml. * Strip nils from collections on JSON and XML posts. [CVE-2013-0155] * dealing with empty hashes. Thanks Damien Mathieu Avoid Rack security warning no secret provided Conflicts: actionpack/CHANGELOG.md activerecord/CHANGELOG.md activesupport/CHANGELOG.md
Latest released tag was not fully merged into the stable branch (missed version bumping)
The encoding scheme (e.g. ☠ -> "\u2620") was broken for characters not in the Basic Multilingual Plane. It is possible to escape them for json using the weird encoding scheme of a twelve-character sequence representing the UTF-16 surrogate pair (e.g. '𠜎' -> "\u270e\u263a") but this wasn't properly handled in the escaping code. Since raw UTF-8 is allowed in json, it was decided to simply pass through the raw bytes rather than attempt to escape them. Backport of zbskii@9ace3a8 Conflicts: activesupport/CHANGELOG.md activesupport/lib/active_support/json/encoding.rb activesupport/test/json/encoding_test.rb
Ruby 1.8 does not support this format in Time, so the format will only be added to the available date formats on Ruby 1.9. Changelog entry was changed to explain that as well.
Increase numeric-timestamp precision to nanoseconds Conflicts: activesupport/lib/active_support/core_ext/time/conversions.rb
See ruby/ruby@9c1b316 All Active Support tests pass in 2.0.0preview2 after this change. Closes #8409
This reverts commit c3e186e. Reason: too many incompatibilities make a lot of Rails tests fail in 1.9. Might need more work to get this done properly in 3-2 if necessary.
Fix 3-2-stable to work with Mocha v0.13.0
Mocha is now using a single AssertionCounter which needs a reference to the testcase as opposed to the result. This change is an unfortunate consequence of the copying of a chunk of Mocha's internal code in order to monkey-patch Test::Unit.
ActiveSupport::TestCase was always inheriting from Test::Unit::TestCase. This works fine in Ruby 1.9 where Test::Unit::TestCase is a thin wrapper around MiniTest::Unit::TestCase, but does not work in Ruby 1.8 if the MiniTest gem is used. What happens is that ActiveSupport inherits from the Test::Unit::TestCase provided by the standard library, but then since Minitest is defined, it then seems to proceed on the assumption that ActiveSupport::TestCase has MiniTest::Unit::TestCase in its ancestor chain. However, in this case it does not. The fix is simply to choose which test library TestCase to inherit from using the same logic used elsewhere to detect MiniTest. I noticed this bug causing issues when using MiniTest and Mocha in Ruby 1.8, but there may well be other issues.
A bug was fixed  in Mocha's integration with Test::Unit, but this monkey-patching code was copied before the fix. We need to copy the fixed version. The bug meant that an unexpected invocation against a mock within the teardown method caused a test *error* and not a test *failure*.  freerange/mocha@f1ff647#diff-5
Setting options in a custom `#as_json` method had side effects. Modifications of the `options` hash leaked outside and influenced the conversion of other objects contained in the hash. Conflicts: activesupport/CHANGELOG.md
Atomic.rb assumes it may chown/chmod a file but doesn't handle the EPERM error. Conflicts: activesupport/CHANGELOG.md guides/source/active_support_core_extensions.md