CHANGELOG.md
# Change Log
**ATTN**: This project uses [semantic versioning](http://semver.org/).
## [Unreleased]
# [0.11.5] - 2022-11-27
### Changed
- Support redis 5
- Actionpack more than or equal to 6
## [0.11.4] - 2022-01-29
### Fixed
- Use AbstractSecureStore for security fix
### Changed
- Support actionpack 7.x
- Move from TravisCI to Github Actions
- Drop support for ruby 2.3, 2.4
## [0.11.3] - 2020-07-23
### Fixed
- https://github.com/roidrage/redis-session-store/issues/121
## [0.11.2] - 2020-07-22
### Changed
- Silence deprecation warning when using with redis gem v4.2+
## [0.11.1] - 2019-08-22
### Changed
- Remove the `has_rdoc` parameter from the `.gemspec` file as it has been deprecated.
- Actionpack to '>= 3', remove upper dependency
## [0.11.0] - 2018-08-13
### Changed
- JRuby to jruby-9.2.0.0
- Travis Ruby support: 2.3.7, 2.4.4, 2.5.1
### Added
- :ttl configuration option
## [0.10.0] - 2018-04-14
### Changed
- JRuby to jruby-9.1.15.0
- Redis to '>= 3', '< 5'
- Actionpack to '>= 3', '< 6'
- Rake to 12
### Added
- with_indifferent_access if defined ActiveSupport
## [0.9.2] - 2017-10-31
### Changed
- Actionpack to 5.1
- Travis use jruby 9.1.13.0
## [0.9.1] - 2016-07-03
### Added
- More specific runtime dependencies
### Changed
- Documentation and whitespace
## [0.9.0] - 2016-07-02
### Added
- [`CODE_OF_CONDUCT.md`](./CODE_OF_CONDUCT.md)
- Method alias for `#delete_session` -> `#destroy_session`
### Changed
- Tested version of Ruby 2 up to 2.3.1
- Session config examples to use `redis: { url: '...' }`
### Removed
- Ruby 1.9.3 support due to Rack 2 requirements
## [0.8.1] - 2016-01-25
### Added
- Support for Rails 5 and Rack 2
### Changed
- Error support for redis-rb v3 gem
## [0.8.0] - 2014-08-28
### Added
- Allow for injection of custom redis client
- Explicitly declare actionpack dependency
### Changed
- Spec updates for rspec 3
## [0.7.0] - 2014-04-22
### Fixed
- Issue #38, we now delay writing to redis until a session exists. This is a
backwards-incompatible change, as it removes the `on_sid_collision` option.
There is now no checking for sid collisions, however that is very unlikely.
## [0.6.6] - 2014-04-08
### Fixed
- Issue #37, use correct constant for `ENV_SESSION_OPTIONS_KEY` if not passed.
## [0.6.5] - 2014-04-04
### Fixed
- Issue #36, use setnx to get a new session id instead of get. This prevents a
very rare id collision.
## [0.6.4] - 2014-04-04
### Removed
- `#setnx` usage in v0.6.3 so we can change our sessions
## [0.6.3] - 2014-04-01
### Changed
- Setting session ID with a multi-call `#setnx` and `#expire` instead of
`#setex`.
### Removed
- `#setnx` change in v0.6.2 as it behaved badly under load, hitting yet another
race condition issue and pegging the CPU.
## [0.6.2] - 2014-03-31
### Changed
- Use `#setnx` instead of `#get` when checking for session ID collisions, which
is slightly more paranoid and should help avoid a particularly nasty edge
case.
## [0.6.1] - 2014-03-17
### Fixed
- Compatibility with `ActionDispatch::Request::Session::Options` when destroying
sessions.
## [0.6.0] - 2014-03-17
### Added
- Custom serializer configuration
- Custom handling capability for session load errors
### Changed
- Always destroying sessions that cannot be loaded
## [0.5.0] - 2014-03-16
### Added
- Support for `on_sid_collision` handler option
- Support for `on_redis_down` handler option
### Changed
- Keep generating session IDs until one is found that doesn't collide
with existing session IDs
### Removed
- **BACKWARD INCOMPATIBLE** Drop support for `:raise_errors` option
## [0.4.2] - 2014-03-14
### Changed
- Renaming `load_session` method to not conflict with AbstractStore
## [0.4.1] - (2014-03-13) [YANKED]
### Changed
- Regenerate session ID when session is missing
## [0.4.0] - 2014-02-19
### Added
- Support for `ENV_SESSION_OPTIONS_KEY` rack env option
- Support for `:raise_errors` session option (kinda like Dalli)
### Changed
- Increasing test coverage
## [0.3.1] - 2014-02-19
### Added
- `#destroy_session` method
### Changed
- Clean up remaining RuboCop offenses
- Documentation updates
## [0.3.0] - 2014-02-13
### Added
- Rails 3 compatibility
- Add test coverage
### Changed
- Switch from minitest to rspec
- RuboCop cleanup
## [0.2.4] - 2014-03-16
### Changed
- Keep generating session IDs until one is found that doesn't collide
with existing session IDs
## [0.2.3] - 2014-03-14
### Changed
- Renaming `load_session` method to not conflict with AbstractStore
## [0.2.2] - 2014-03-13 [YANKED]
### Changed
- Regenerate session ID when session is missing
## [0.2.1] - 2013-09-17
### Added
- Explicit MIT license metadata in gemspec
## [0.2.0] - 2013-09-13
### Added
- Gemfile, gemspec, and git updates
- `#destroy` method
- Travis integration
- Some minimal tests to ensure backward compatibility session options
### Changed
- Nest redis-specific options inside a `:redis` key of session options
- Rescue only `Errno::ECONNREFUSED` exceptions
- Handle `nil` cookies during `#destroy`
## [0.1.9] - 2012-03-06
### Changed
- Use `@redis.setex` when expiry provided, else `@redis.set`
- gemification
- Options hash to no longer expect redis options at same level
## [0.1.8] - 2010-12-09
### Removed
- Use of `@redis.pipelined`
## 0.1.7 - 2010-12-08
### Changed
- Using latest redis gem API
## 0.1.6 - 2010-04-18
### Changed
- Using pipelined format with `set` and `expire`
- Changing default port from 6370 to 6379
## 0.1.5 - 2010-04-07
## 0.1.4 - 2010-03-26
### Changed
- Redis parameter from `:server` to `:host`
## 0.1.3 - 2009-12-30
### Changed
- Documentation updates
## 0.1.2 - 2009-12-30
### Changed
- Documentation updates
## 0.1.1 - 2009-12-30
### Changed
- library file renamed to `redis-session-store.rb` to play nicely with
rails require
## 0.1 - 2009-12-30
### Added
- first working version
[Unreleased]: https://github.com/roidrage/redis-session-store/compare/v0.11.1...HEAD
[0.11.1]: https://github.com/roidrage/redis-session-store/compare/v0.11.0...v0.11.1
[0.11.0]: https://github.com/roidrage/redis-session-store/compare/v0.10.0...v0.11.0
[0.10.0]: https://github.com/roidrage/redis-session-store/compare/v0.9.2...v0.10.0
[0.9.2]: https://github.com/roidrage/redis-session-store/compare/v0.9.1...v0.9.2
[0.9.1]: https://github.com/roidrage/redis-session-store/compare/v0.9.0...v0.9.1
[0.9.0]: https://github.com/roidrage/redis-session-store/compare/v0.8.1...v0.9.0
[0.8.1]: https://github.com/roidrage/redis-session-store/compare/v0.8.0...v0.8.1
[0.8.0]: https://github.com/roidrage/redis-session-store/compare/v0.7.0...v0.8.0
[0.7.0]: https://github.com/roidrage/redis-session-store/compare/v0.6.6...v0.7.0
[0.6.6]: https://github.com/roidrage/redis-session-store/compare/v0.6.5...v0.6.6
[0.6.5]: https://github.com/roidrage/redis-session-store/compare/v0.6.4...v0.6.5
[0.6.4]: https://github.com/roidrage/redis-session-store/compare/v0.6.3...v0.6.4
[0.6.3]: https://github.com/roidrage/redis-session-store/compare/v0.6.2...v0.6.3
[0.6.2]: https://github.com/roidrage/redis-session-store/compare/v0.6.1...v0.6.2
[0.6.1]: https://github.com/roidrage/redis-session-store/compare/v0.6.0...v0.6.1
[0.6.0]: https://github.com/roidrage/redis-session-store/compare/v0.5.0...v0.6.0
[0.5.0]: https://github.com/roidrage/redis-session-store/compare/v0.4.2...v0.5.0
[0.4.2]: https://github.com/roidrage/redis-session-store/compare/v0.4.1...v0.4.2
[0.4.1]: https://github.com/roidrage/redis-session-store/compare/v0.4.0...v0.4.1
[0.4.0]: https://github.com/roidrage/redis-session-store/compare/v0.3.1...v0.4.0
[0.3.1]: https://github.com/roidrage/redis-session-store/compare/v0.3.0...v0.3.1
[0.3.0]: https://github.com/roidrage/redis-session-store/compare/v0.2.4...v0.3.0
[0.2.4]: https://github.com/roidrage/redis-session-store/compare/v0.2.3...v0.2.4
[0.2.3]: https://github.com/roidrage/redis-session-store/compare/v0.2.2...v0.2.3
[0.2.2]: https://github.com/roidrage/redis-session-store/compare/v0.2.1...v0.2.2
[0.2.1]: https://github.com/roidrage/redis-session-store/compare/v0.2.0...v0.2.1
[0.2.0]: https://github.com/roidrage/redis-session-store/compare/v0.1.9...v0.2.0
[0.1.9]: https://github.com/roidrage/redis-session-store/compare/v0.1.8...v0.1.9
[0.1.8]: https://github.com/roidrage/redis-session-store/compare/v0.1.7...v0.1.8