We are happy to announce the release of Pulpcore 3.15!

In this blog, we will look at the headline features of the release. However, as well as the headline features, this release contains a myriad of bugfixes, enhancements, as well as a host of new features for the plugin API. for a full list of changes, take a look at the changelog

Plugin writers: there are substantial changes made in this release that your plugins will need to be adjusted to accomodate. For more information and further discussion, see Plugin Adjustents for 3.15.

Pulpcore 3.15 Features

Here’s what’s new in this release.

Encryption for remote database keys #8192

Although authentication and authorization mechanisms in Pulp keep credentials safe, if the database was compromised, secrets could have been read in plain text.

In this release, encryption has been added for the following fields in the database: Remote fields username, password, proxy_username, proxy_password, and client_key.

Reclaiming disk space #8459

With this new feature, you have more control about how to manage disk space. You now have options to reclaim disk space for:

  • content that you no longer need to serve but want to keep in the repo for historical reasons.
  • repos that were synced with the on_demand download policy and contain downloaded files that you want to clear.

For more information, see the documentation.

Customize how you export files #8695

Previously, the FileSystemExporter encountered errors because of differences in file system structures on different operating systems.

With this release, users can now use the method field to customize how they export files to filesystem exporters, using hardlinks or symlinks.

With the

Improvements to the orphan cleanup process #8824

The orphan cleanup task has been changed and is now a non-blocking task that can be run at any time. With the new ORPHAN_PROTECTION_TIME setting, you can configure the time interval that you want to keep orphan Content and Artifacts before they become candidates for deletion by the orphan cleanup task.

New Filesystem exporter endpoint #8860

A new endpoint: /v3/exporters/core/filesystem/ for exporting publications or repository versions to the filesystem has been added.

Keeping things clean #8931

With the introduction of the new tasking system, all workers that are considered offline are automatically removed from the database periodically to keep the Worker table clean.

Content app authentication #8951

With this release, authentication has been added to the content app so that plugins writers can require authentication to access and download content.

Temporary ALLOW_SHARED_TASK_RESOURCES setting #9148

This temporary option takes effect when using the queue-less worker type. This option allows plugins to use specific resources concurrently, during task execution. In this release, the default setting is False. In the 3.16 release, the default setting will change to True with 3.16, and in a later release, this setting will eventually be removed.

Removals

Python Support Update #8855

Dropped support for Python 3.6 and 3.7. Pulp now supports Python version 3.8 and higher.

Update field name for consistency #9030

The retained_versions field on repositories has been renamed to retain_repo_versions.

Deprecations

Legacy Tasking System #9159

The legacy tasking system, the former default in previous versions of Pulpcore, is deprecated and will be removed in pulpcore==3.16. If you have configured your deployment with USE_NEW_WORKER_TYPE=False, this setting will no longer give you the legacy tasking system starting with pulpcore==3.16.