aboutsummaryrefslogtreecommitdiffstats
path: root/tasks
diff options
context:
space:
mode:
authorJon Moss <me@jonathanmoss.me>2017-08-17 13:43:43 -0400
committerJon Moss <me@jonathanmoss.me>2017-08-17 13:45:19 -0400
commit835246e622dc0431af3cb951db22ef78876006af (patch)
tree02163694a17cf48557354960016ad8c78924dd74 /tasks
parent25ccf03af248a402a668295ebd2dcadd656c0f1d (diff)
downloadrails-835246e622dc0431af3cb951db22ef78876006af.tar.gz
rails-835246e622dc0431af3cb951db22ef78876006af.tar.bz2
rails-835246e622dc0431af3cb951db22ef78876006af.zip
Add note about JSON/JSONB serialization changes
The initial commit (efaa6e4f79d457c2cdd08cbc56d63bc972a6993c) that changed this behavior was intended to be a minor change, but ended up becoming a large-ish breaking change within Active Record. This is because instead of only JSON encoding `Hash`es or `Array`s in `#serialize`, we now encode all values passed in. This is an issue if you're passing in a `String`, that has already been transformed from a `Hash` to a `String`, since your data is now being double encoded. Unfortunately, the change was included in one of the v5.0.0 beta releases, and it is too late to revert without huge ripple effects. Thus, all we can do is update the documentation (via this commit), and add some test coverage (coming soon in a PR) for the new behavior. Please note that in the documentation I talk about deserialization, not about serialization, where the actual change occurred. This is because you won't notice any changes in serialized data until you try and deserialize it. Also to make the change itself (confusing until you read through everything multiple times) easier to understand. Related #27788, #25594, #26101, #24234, #28292, #28285, #28285, and probably others. [ci skip]
Diffstat (limited to 'tasks')
0 files changed, 0 insertions, 0 deletions