Let's be precise about what, exactly, was changed.
1. `Object#as_json` and `Struct#as_json` properly recurse through the hashes they return.
2. Circular references are correctly detected in deeply-nested arrays and hashes.
3. ??

The `as_json` method was already meant to return JSON primitives only, so that standard has not changed.