All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added:
ClimateControl.unsafe_modify
for a thread-unsafe version ofClimateControl.modify
(useful for minitest-around for instance) - Deprecates
ClimateControl.env
,ENV
should be used instead
- Fixed: ENV was not restored if an error was thrown when assigning ENV
- Refactor to use
Monitor
instead ofMutex
- Add documentation about thread-safety
- Allow ClimateControl.modify to be called without environment variables
- Add test for concurrent access needed to be inside block
- Relax development dependencies
- Require minimum Ruby version of 2.5.0
- Commit to supporting latest patch versions of Ruby 2.5+
- Improve documentation
- Format code with StandardRB
- Bump gem dependencies
- Allow nested environment changes in the same thread
- Remove ActiveSupport dependency
- Improved thread safety
- Handle TypeErrors during assignment
- Improve documentation
- Initial release