- Bugfix Ensured ActiveRecord models were using Nosync's
ClassMethodsinstead of the non-threadsafeInstanceMethods
- Feature Added
Remotable.unsafe_nosync!method to setnosyncglobally using a class variable. As the method name indicates, this is not threadsafe and should only be used for testing or other situations where thread safety is not an issue. - Bugfix Stopped deferring to
Thread.mainifnosyncwas unset on the current thread; while convenient for tests (see above), it ended up allowing requests to leak state if they were handled on the main thread.
- Fix Replaced deprecated calls to URI.escape
Bugfix Replaced deprecated calls to URI.escapePulled
- Bugfix Tweaked the behavior of
Remotable.nosync?to defer to a value set on the main thread if no value has been set for the current thread.
- Bugfix Completely removed dependence on
activeresource'sThreadsafeAttributes. This makes multithreaded behavior more deterministic and involves fewer edgecases, since things meant to be global state are reverted back to being so, while things meant to have a per-thread scope are constrained as they should be.
- Bugfix Addressed an issue where
Remotable.with_remote_modelcould leave a model with the wrongremote_modelwhen used in a multithreaded environment.
TODO: Backfill for previous releases