Validation constraints can be defined in the ConfigEntityType annotation as well as in the corresponding config schema type.
This can lead to different results when validating a config entity, depending on how you ask the question if something's valid.
For example:
$config_entity = Editor::load('basic_html');
$violations = ConfigEntityAdapter::createFromEntity($config_entity)->validate();
and
$config_entity = Editor::load('basic_html');
$violations = \Drupal::service('config.typed')->createFromNameAndData(
$config_entity->getConfigDependencyName(),
$config_entity->toArray()
)->validate();
would produce two different sets of validation errors. Even though they are both validating the same exact piece of config.
#3427106: Config validation: config entities should get the same validation errors when validated as plain config vs ConfigEntityAdapter fixes this, both of these methods of validation will now yield the same results. This might break your tests if you were, even indirectly, depending on the previous is-it-there-or-isn't-it behavior.
This was only the case when you have invalid config entities, valid configuration was never an issue.