Change record status: 
Project: 
Introduced in branch: 
10.3.x
Introduced in version: 
10.3.0
Description: 

The serializer service is passed now as a new parameter to DatabaseBackendFactory and DatabaseBackend constructors. Note that, for backward compatibility reasons, the parameter is optional. In Drupal 11.0.x it will be mandatory and the position in constructor signature will change.

Before

In services file:

cache.backend.database:
  class: Drupal\Core\Cache\DatabaseBackendFactory
  arguments: ['@database', '@cache_tags.invalidator.checksum', '@settings']

Service classes:

class DatabaseBackendFactory implements CacheFactoryInterface {
  ...
  public function __construct(Connection $connection, CacheTagsChecksumInterface $checksum_provider, Settings $settings = NULL) {
    ...
  }
  ...
}
class DatabaseBackend implements CacheBackendInterface {
  ...
  public function __construct(Connection $connection, CacheTagsChecksumInterface $checksum_provider, $bin, $max_rows = NULL) {
    ...
  }
  ...
}

After

In services file:

cache.backend.database:
  class: Drupal\Core\Cache\DatabaseBackendFactory
  arguments: ['@database', '@cache_tags.invalidator.checksum', '@settings', '@serialization.phpserialize']

Service classes:

class DatabaseBackendFactory implements CacheFactoryInterface {
  ...
  public function __construct(Connection $connection, CacheTagsChecksumInterface $checksum_provider, Settings $settings = NULL, ObjectAwareSerializationInterface $serializer = NULL) {
    ...
  }
  ...
}
class DatabaseBackend implements CacheBackendInterface {
  ...
  public function __construct(Connection $connection, CacheTagsChecksumInterface $checksum_provider, $bin, ObjectAwareSerializationInterface $serializer = NULL, $max_rows = NULL) {
    ...
  }
  ...
}

Other change notices for same issue

Impacts: 
Module developers
Site templates, recipes and distribution developers