JodaOrg/joda-time — pull request #67 by eduardsi (2013-09-27 19:03:00+00:00)
Title: add thread-local MillisProvider support

Backward-compatible addition that allows MillisProvider to be set in a thread-safe manner. If thread-local MillisProvider is set, it's put in front of default / statically set MillisProvider.

Rationale:
- Original implementation with static MillisProvider is not thread-safe
- Original implementation does not allow using different MillisProviders in multi-threaded environment
- Original implementation impacts tests that work perfectly well with default SystemMillisProvider even if only a single test requires custom MillisProvider

Even though aforementioned issues can be worked-around by implementing thread-safe MillisProvider that falls-back to system time when thread has no time, it still leaves JodaTIme thread-unsafe advocating bad design.

Adding thread-safety and fallback to system time out of the box is a good step forward.