Features
    * The PSA driver wrapper generator generate_driver_wrappers.py now
      supports a subset of the driver description language, including
      the following entry points: import_key, export_key, export_public_key,
      get_builtin_key, copy_key.

Requirement changes
   * When building with PSA drivers using generate_driver_wrappers.py, or
     when building the library from the development branch rather than
     from a release, the Python module jsonschema is now necessary, in
     addition to jinja2. The official list of required Python modules is
     maintained in scripts/basic.requirements.txt and may change again
     in the future.
