- Allow for injection of custom redis client
- Explicitly declare actionpack dependency
- Spec updates for rspec 3
- Fix 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.
- Fix issue #37, use correct constant for
ENV_SESSION_OPTIONS_KEY
if not passed.
- Fix issue #36, use setnx to get a new session id instead of get. This prevents a very rare id collision.
- Reverting
setnx
usage in v0.6.3 so we can change our sessions.
- Reverting the
#setnx
change in0.6.2
as it behaved badly under load, hitting yet another race condition issue and pegging the CPU. - Setting session ID with a multi-call
#setnx
and#expire
instead of#setex
.
- 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.
- Fix compatibility with
ActionDispatch::Request::Session::Options
when destroying sessions.
- Add custom serializer configuration
- Add custom handling capability for session load errors
- Always destroying sessions that cannot be loaded
- Keep generating session IDs until one is found that doesn't collide with existing session IDs
- Add support for
on_sid_collision
handler option - Add support for
on_redis_down
handler option - BACKWARD INCOMPATIBLE Drop support for
:raise_errors
option
- Renaming
load_session
method to not conflict with AbstractStore
- Regenerate session ID when session is missing
- Add support for
ENV_SESSION_OPTIONS_KEY
rack env option - Add support for
:raise_errors
session option (kinda like Dalli) - Increasing test coverage
- Add
#destroy_session
method - Clean up remaining RuboCop offenses
- Documentation updates
- Rails 3 compatibility
- Switch from minitest to rspec
- Add test coverage
- RuboCop cleanup
- Keep generating session IDs until one is found that doesn't collide with existing session IDs
- Renaming
load_session
method to not conflict with AbstractStore
- Regenerate session ID when session is missing
- Add explicit MIT license metadata in gemspec
- Use
@redis.setex
when expiry provided, else@redis.set
- Gemfile, gemspec, and git updates
- Nest redis-specific options inside a
:redis
key of session options - Add
#destroy
method - Rescue only
Errno::ECONNREFUSED
exceptions - Handle
nil
cookies during#destroy
- Add Travis integration
- Add some minimal tests to ensure backward compatibility session options
- Remove use of
@redis.pipelined
- Using latest redis gem API
- Using pipelined format with
set
andexpire
- Changing default port from 6370 to 6379
- Changed redis parameter from
:server
to:host
- Documentation updates
- Documentation updates
- library file renamed to
redis-session-store.rb
to play nicely with rails require
- first working version