Breaking: The job validation settings are merged per field 

Description 

When more than one package ships Configuration/AcademicJobs/Settings.yaml, the files are merged the way the persons settings are: in package loading order, a later package changes only the fields it names, at any depth. A list of flags replaces the flags of that field, and ~ removes the field.

Until now the files were merged on the top level only, so a site package that defined validations replaced the whole block, and the manual asked for a copy of it.

Impact 

A copy of the whole block keeps the flags of every field it names, including the ones academic_jobs changed since: a copy of the 2.x block keeps number on the contact phone, which the settings now apply to the backend, see Breaking: The job validation settings reach the backend. A field the copy leaves out is no longer dropped: it keeps the flags academic_jobs ships.

Affected installations 

Installations whose site package ships Configuration/AcademicJobs/Settings.yaml and leaves out a field the shipped file configures, to make that field optional.

Migration 

Name the field with an empty list, or with ~ to remove it. The difference shows in the backend: an empty list makes the field optional there as well, ~ leaves the backend field as the TCA declares it. The rest of the copy can go, a site package needs to name only what it changes:

EXT:my_sitepackage/Configuration/AcademicJobs/Settings.yaml
validations:
  job:
    description: []
Copied!