- Removed redis profiler storage feature
snc_redis.profiler_storage
-
Bumped Symfony minimum version to 3.4
-
Bumped PHP minimum version to 7.1.3
-
Bumped Predis minimum version to 1.1
-
Dropped official support for HHVM
-
RedisSessionHandler is now implementing \SessionUpdateTimestampHandlerInterface by extending Symfony's AbstractSessionHandler. This requires Symfony 3.4 or above but brings session fixation protection as well as better performance as it avoids writing back the session data on every request. Session data is only written if it changed.
-
All services created by the bundle are now private as per Symfony recommended practices. Use Dependency Injection or Service Locators/Service Subscribers to access services.
-
Option "replication" with value "false" has been removed as it is not supported anymore by Predis.
-
Removed all client services aliases in favor of one definition which is
snc_redis.{alias}. Thus,snc_redis.{alias}_clientandsnc_redis.phpredis.{alias}have been removed.
-
Passwords in DSNs must now be properly urlencoded if they contain any of the following special characters:
@,%or:. Encode them as%40,%25and%3Arespectively. The\@notation for escaping@has been removed. -
The
Snc\RedisBundle\Monolog\Handler\RedisHandlerclass has been removed in favor of using the native Monolog RedisHandler. -
The session keys changed from
$prefix:$keyto simply$prefix$key, no more:added in the middle, so add it to your prefix if you want one. -
The argument truncation limit in the logs was increased from 32 bytes to 10KB.
The monolog handler was renamed from monolog.handler.redis to
snc_redis.monolog.handler, you have to update your configuration.
Before:
monolog:
handlers:
main:
type: service
id: monolog.handler.redis
level: debugAfter:
monolog:
handlers:
main:
type: service
id: snc_redis.monolog.handler
level: debugThe configuration syntax has been simplified. The connections setting was
merged into the clients setting.
Before:
snc_redis:
connections:
default:
alias: default
host: localhost
port: 6379
database: 0
clients:
default:
alias: default
connection: defaultAfter:
snc_redis:
clients:
default:
type: predis
alias: default
dsn: redis://localhostThe service names have been simplified, too. The above configuration will
register the service snc_redis.default. The old service names like
snc_redis.default_client are still available as an alias.
If you are using the Monolog or SwiftMailer features, then you have to
update your configuration by renaming the connection setting to client.
The master branch is now in sync with the symfony master branch.
Please use the 2.0 branch if you are working with Symfony 2.0.
The RedisSessionStorage class was refactored to reflect the changes
in the symfony master branch. The data is not saved in a HASH anymore
so keep in mind that your old sessions get lost.
If you want to use any of the doctrine caches, you now have to
configure the entity_manager and/or document_manager parameters.
Previously the bundle registered the caches for the default managers.
The RedisBundle is now vendor prefixed.
Please follow the following steps to update your Symfony project.
Replace new Snc\RedisBundle\RedisBundle() with new Snc\RedisBundle\SncRedisBundle().
Replace redis: with snc_redis: in all of you .yml config files.
All services are now prefixed by snc_redis. instead of redis..