===================
REST API
--------
Features
~~~~~~~~
- Raise error when syncing content with a checksum not included in ``ALLOWED_CONTENT_CHECKSUMS``.
:redmine:`7854`
- User can evaluate how many content units are affected with checksum type change with 'pulpcore-manager handle-artifact-checksums --report'.
:redmine:`7986`
- The fields ``proxy_username`` and ``proxy_password`` have been added to remotes.
Credentials can no longer be specified as part of the ``proxy_url``.
A data migration will move the proxy auth information on existing remotes to the new fields.
:redmine:`8167`
- Added the ``WORKER_TTL`` setting, that specifies the interval a worker is considered missing after its last heartbeat.
:redmine:`8291`
- Due to the removal of ``md5`` and ``sha1`` from the ``ALLOWED_CONTENT_CHECKSUMS`` setting, every
system that had any Artifacts synced in in prior to 3.11 will have to run the ``pulpcore-manager
handle-content-checksums`` command. A data migration is provided with 3.11 that will run this
automatically as part of the ``pulpcore-manager migrate`` command all upgrades must run anyway.
:redmine:`8322`
Bugfixes
~~~~~~~~
- Fixed a bug experienced by the migration plugin where all content objects are assumed to have a
remote associated with them.
:redmine:`7876`
- Restored inadvertently-changed content-guards API to its correct endpoint.
In the process of adding generic list-endpoints, the /pulp/api/v3/contentguards
API was inadvertently rehomed to /pulp/api/v3/content_guards. This change restores
it to its published value.
:redmine:`8283`
- Added headers field to the list of fields in the ``RemoteSerializer`` base class and marked it optional to make it accessible via the REST api.
:redmine:`8330`
- Fixed AccessPolicy AttributeError.
:redmine:`8395`
Improved Documentation
~~~~~~~~~~~~~~~~~~~~~~
- Removed correlation id feature from tech preview.
:redmine:`7927`
- Removed 'tech preview' label from ``handle-artifact-checksums`` command.
``handle-artifact-checksums`` is now a fully-supported part of Pulp3.
:redmine:`7928`
- Added a warning banner to the ``ALLOWED_CONTENT_CHECKSUMS`` setting section indicating the setting
is not fully enforcing in ``pulpcore`` code and various plugins.
:redmine:`8342`
Removals
~~~~~~~~
- The ``component`` field of the ``versions`` section of the status API /pulp/api/v3/status/`` now
lists the Django app name, not the Python package name. Similarly the OpenAPI schema at
``/pulp/api/v3`` does also.
:redmine:`8198`
- Removed sensitive fields ``username``, ``password``, and ``client_key`` from Remote responses. These
fields can still be set and updated but will no longer be readable.
:redmine:`8202`
- Adjusted the ``ALLOWED_CONTENT_CHECKSUMS`` setting to remove ``md5`` and ``sha1`` since they are
insecure. Now, by default, the ``ALLOWED_CONTENT_CHECKSUMS`` contain ``sha224``, ``sha256``,
``sha384``, and ``sha512``.
:redmine:`8246`
Misc
~~~~
- :redmine:`7797`, :redmine:`7984`, :redmine:`8315`
Plugin API
----------
Features
~~~~~~~~
- Allow developers to use more than one WorkingDirectory() within a task, including nested calls. Tasks will also now use a temporary working directory by default.
:redmine:`7815`
- Added the ``pulpcore.app.pulp_hashlib`` module which provides the ``new`` function and ensures only
allowed hashers listed in ``ALLOWED_CONTENT_CHECKSUMS`` can be instantiated. Plugin writers should
use this instead of ``hashlib.new`` to generate checksum hashers.
:redmine:`7984`
- Add a ``get_content`` method to ``pulpcore.plugin.models.RepositoryVersion`` that accepts a
queryset and returns a list of content in that repository using the given queryset.
This allows for specific content type to be returned by executing
``repo_version.get_content(content_qs=MyContentType.objects)``.
:redmine:`8375`
Improved Documentation
~~~~~~~~~~~~~~~~~~~~~~
- Added docs identifying plugin writers to use the ``pulpcore.app.pulp_hashlib`` module which provides
the ``new`` function and ensures only allowed hashers can be instantiated. This should be used in
place of ``hashlib.new``.
:redmine:`7984`
- The use of ``tempdir.TemporaryDirectory`` in tasks has been documented.
:redmine:`8231`
Removals
~~~~~~~~
- Adjusted the ``ALLOWED_CONTENT_CHECKSUMS`` setting to remove ``md5`` and ``sha1`` since they are
insecure. Now, by default, the ``ALLOWED_CONTENT_CHECKSUMS`` contain ``sha224``, ``sha256``,
``sha384``, and ``sha512``.
:redmine:`8246`
- Removed unused `get_plugin_storage_path` method.
:redmine:`8343`
- It is not longer possible to address AccessPolicy via the viewset's classname. Viewset's urlpattern should be used instead.
:redmine:`8397`
- Removed deprecated `key` field returned by the signing service.
Plugin writers must now refer directly to the `public_key` field on the signing service object.
:redmine:`8398`
Deprecations
~~~~~~~~~~~~
- ``pulpcore.plugin.tasking.WorkingDirectory`` has been deprecated.
:redmine:`8231`