Inspired by Keep a Changelog.
Note: this project adheres to Semantic Versioning.
- Support for Rails 7.0
- Fixed issues in Rails 6.1+
- Changed to Ruby 3.2.1 with Async rather than EventMachine+Synchrony. Only support Rails 6.0 as Rails 7
already has a similar feature:
isolation_level: :fiber
.
- Added support for Rails 6+ by adding knowledge of lazy transactions to the adapter.
- Upgraded Bundler to 2.2.29 and Ruby to 2.7.5. Removed support for Rails 4.
- Modified FiberedMysql2::FiberedConditionVariable class to ensure compatibility with newer Ruby versions.
- Disable the ConnectionPool::Reaper in Rails 5 and 6 as it was in 4. This is important since it is threaded, not fibered.
- When checking that @owner is a Fiber, allow nil.
- Added checking to be certain that @owner is never overwritten with a non-Fiber by another mixin.
- Fixed bug with Rails 5+ adapter where connections that have
steal!
called on them were not having their owner updated to the current Fiber, which would then cause an exception when trying to expire the connection (this showed up with the Rails 5ConnectionPool::Reaper
that reaps unused connections)
- Updated Rails 6 dependency to 6.0.x for now as 6.1+ requires a newer version of the mysql gem (0.5+) that we do not yet support
- Added an adapter for Rails 4, 5, and 6.
- Added appraisals for Rails 4, 5, and 6.
- Added TravisCI unit test pipeline.
- Added coverage reports via Coveralls.