Pulpcore

Latest version: v3.53.0

Safety actively analyzes 629678 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 47 of 57

3.15.0

Not secure
===================
REST API
--------

Features
~~~~~~~~

- Added encryption in the database for ``Remote`` fields ``username``, ``password``,
``proxy_username``, ``proxy_password``, and ``client_key``.
:redmine:`8192`
- Added feature to reclaim disk space for a list of repositories.
:redmine:`8459`
- Added ``method`` field to filesystem exporters to customize how they export files. Users can now
export files by writing them to the filesystem, using hardlinks, or using symlinks.
:redmine:`8695`
- Changed orphan cleanup task to be a non-blocking task that can be run at any time. Added a
``ORPHAN_PROTECTION_TIME`` setting that can be configured for how long orphan Content and
Artifacts are kept before becoming candidates for deletion by the orphan cleanup task.
:redmine:`8824`
- Added a ``/v3/exporters/core/filesystem/`` endpoint for exporting publications or repository
versions to the filesystem.
:redmine:`8860`
- Added a periodical cleanup to the pulpcore-worker class to keep the `Worker` table clean.
:redmine:`8931`
- Added new content guard that uses RBAC policies to protect content
:redmine:`8940`
- Added authentication to the content app.
:redmine:`8951`
- A new setting ``ALLOW_SHARED_TASK_RESOURCES`` was temporarily added to allow plugins to use specific
resources concurrently, during task execution. It defaults to ``False``. It will switch to ``True``
with 3.16 and will eventually be removed.
:redmine:`9148`


Bugfixes
~~~~~~~~

- In stages-pipeline and new-version sanity-checks, added full error-info on path-problems.
:redmine:`8133`
- Improved disk usage during the synchronization.
:redmine:`8295`
- Fixed an internal server error that was raised when a user provided invalid parameters while
assigning new permissions to an object.
:redmine:`8500`
- Fixed a bug, where new tasks were assigned to dead workers.
:redmine:`8779`
- Fixed bug where content app would not respond to ``Range`` HTTP Header in requests when
``remote.policy`` was either ``on_demand`` or ``streamed``. For example this request is used by
Anaconda clients.
:redmine:`8865`
- Unpublished content can no longer be accessed from content app if publication based-plugin has
defined their distributions as publication serving
:redmine:`8870`
- Fixed a bug that caused a serializer to ignore form data for ``pulp_labels``.
:redmine:`8954`
- Fixed inability for users to disable RBAC at the settings level by changing the
``DEFAULT_PERMISSION_CLASSES`` like any user configuring a DRF project expects to.
:redmine:`8974`
- Fixed signal handling to properly kill a task when double ctrl-c is used to shut down a worker fast.
:redmine:`8986`
- Added an attempt to cancel a task if a worker needed to abort it on graceful shutdown.
:redmine:`8987`
- Fixed a bug where on-demand downloads would fill up ``/var/run/`` by not deleting downloaded files.
:redmine:`9000`
- Fixed a regression preventing syncs from file:// urls.
:redmine:`9003`
- Removed ambiguity from the OpenAPI schema for Exports. The exported_resources are now a list of URI strings.
:redmine:`9008`
- Use proxy auth from Remote config to download content from a remote repository.
:redmine:`9024`
- Fixed the behavior of setting "repository" on a distribution for publication-based plugins.
:redmine:`9039`
- Set Redis connection information in status to null unless it's used. Redis is
needed for RQ tasking or content caching.
:redmine:`9070`
- Fixed server error when accessing invalid files from content app base directory
:redmine:`9074`
- Fixed improper validation of remotes' URLs.
:redmine:`9080`
- Artifacts are now being properly updated for Content after switching from 'on_demand' to 'immediate'.
:redmine:`9101`
- Made all database queries run serially using a single connection to the database.
:redmine:`9129`
- Move files to artifact storage only when they originate from WORKING_DIRECTORY.
Copy files from all other sources.
:redmine:`9146`
- Content app now properly sets Content-Type header for artifacts being served from S3
:redmine:`9216`
- Fixed repository sync performance regression introduced in pulpcore 3.14.
:redmine:`9243`
- Stop using insecure hash function blake2s for calculating 64 bit lock identifier from uuid.
:redmine:`9249`
- Fixed another occurence of the HTTP 500 error and `connection already closed` in the logs while accessing content.
:redmine:`9275`


Removals
~~~~~~~~

- Dropped support for Python 3.6 and 3.7. Pulp now supports Python 3.8+.
:redmine:`8855`
- Renamed the ``retained_versions`` field on repositories to ``retain_repo_versions``.
:redmine:`9030`


Deprecations
~~~~~~~~~~~~

- The traditional tasking system (formerly the default in ``pulpcore<=3.13``) is deprecated and
will be removed in ``pulpcore==3.16``. If you are using the ``USE_NEW_WORKER_TYPE=False`` that
will no longer give you the traditional tasking system starting with ``pulpcore==3.16``.
:redmine:`9159`


Misc
~~~~

- :redmine:`5582`, :redmine:`8996`, :redmine:`9010`, :redmine:`9056`, :redmine:`9112`, :redmine:`9120`, :redmine:`9171`, :redmine:`9174`


Plugin API
----------

Features
~~~~~~~~

- Content model has a new boolean class constant ``PROTECTED_FROM_RECLAIM`` for plugins to enable the
reclaim disk space feature provided by core.
:redmine:`8459`
- Added endpoints for managing Alternate Content Sources.
:redmine:`8607`
- Orphan cleanup task has a new optional parameter ``orphan_protection_time`` that decides for how
long Pulp will hold orphan Content and Artifacts before they become candidates for deletion for this
particular orphan cleanup task.
:redmine:`8824`
- Distribution model has a new boolean class variable ``SERVE_FROM_PUBLICATION`` for plugins to declare
whether their distributions serve from publications or directly from repository versions
:redmine:`8870`
- The settings file switched ``DEFAULT_PERMISSION_CLASSES`` to use ``AccessPolicyFromDB`` instead of
``IsAdminUser`` with a fallback to a behavior of ``IsAdminUser``. With this feature plugin writers
no longer need to declare ``permission_classes`` on their Views or Viewsets to use
``AccessPolicyFromDB``.
:redmine:`8974`
- Upgraded django from 2.2 to 3.2.
:redmine:`9018`
- `pulpcore.plugin.models.ProgressReport` now has async interfaces: asave(), aincrease_by(),
aincrement(), __aenter__(), _aexit__(). Plugins should switch to the async interfaces in their
Stages.
`pulpcore.plugin.sync.sync_to_async_iterator` is a utility method to synchronize the database
queries generated when a QuerySet is iterated.
:redmine:`9129`
- Added ``shared_resources`` to the ``dispatch`` call, so tasks can run concurrently if they need overlapping resources for read only.
:redmine:`9148`
- Added ``touch`` to Artifact and Content query sets for bulk operation.
:redmine:`9234`
- Added `ContentManager` to the plugin API - all subclasses of `Content` that add their own custom manager should have the manager subclass `ContentManager`.
:redmine:`9269`


Bugfixes
~~~~~~~~

- Added kwarg to RemoteArtifactSaver init to allow enabling handling of rare error edge-case.

`fix_mismatched_remote_artifacts=True` enables workaround for a failure-scenario that
(so far) is only encountered by pulp_rpm. Current behavior is the default.
:redmine:`8133`


Removals
~~~~~~~~

- Removed the ``pulpcore.plugin.viewsets.NewDistributionFilter``. Instead use
``pulpcore.plugin.viewsets.DistributionFilter``.
:redmine:`8479`
- Removed ``FilesystemExporterSerializer`` and ``PublicationExportSerializer`` from the plugin api.
Filesystem exports are now handled by pulpcore.
:redmine:`8860`
- The ``pulpcore.plugin.download.http_giveup`` method has been removed from the plugin API. Plugins
used to have to use this to wrap the ``_run`` method defined on subclasses of ``HttpDownloader``,
but starting with pulpcore 3.14 the backoff is implemented directly in the ``HttpDownloader.run()``
method which subclasses do not override. Due to ``pulpcore`` implementing it, it is no longer needed
or available for plugins to use.
:redmine:`8913`


Deprecations
~~~~~~~~~~~~

- ContentSaver._pre_save() and ContentSaver._post_save() hooks are no longer coroutines. They should
be implemented as synchronous functions.
:redmine:`9129`
- Deprecate the compatibility layer for access policies. As of pulpcore 3.16, all plugins should
properly use the "condition" and "condition_expression" fields in the access policy statements.
:redmine:`9160`
- Deprecate the ``resources`` argument of ``dispatch`` in favor of ``exclusive_resources`` and ``shared_resources``.
:redmine:`9257`


Misc
~~~~

- :redmine:`8606`, :redmine:`9160`

3.14.19

Not secure
====================
REST API
--------

Bugfixes
~~~~~~~~

- Fixed another rare deadlock for high-concurrency/overlapping-content syncs.
:github:`3111`
- Another step on closing the deadlock-window when syncing overlapping content.
:github:`3284`


Plugin API
----------

No significant changes.

3.14.18

Not secure
====================
REST API
--------

Bugfixes
~~~~~~~~

- Started showing errors when users try to export remote artifacts.
:github:`2817`
- Restore multiple-retry logic for PulpImport.
:github:`2854`
- Configured aiohttp to avoid rewriting redirect URLs, as some web servers (e.g. Amazon CloudFront) can be tempermental about the encoding of the URL.
:github:`2964`


Plugin API
----------

No significant changes.

3.14.17

Not secure
====================
REST API
--------

Bugfixes
~~~~~~~~

- Loosened the version-restrictions on PulpImport to only require X.Y matching.
:github:`2269`
- Taught PulpImport to stream imports rather than reading files into memory in one chunk.

This largely alleviates the memory-pressure that results from importing multiple
large repositories in parallel.
:github:`2307`
- Ensure downloader resets file on retry.
:github:`2576`
- Taught PulpImport to retry more than once in the event of creation-collisions.

This fixes a rare import-failure during high-concurrency, high-content-overlap imports.
:github:`2589`


Plugin API
----------

No significant changes.

3.14.16

Not secure
====================
REST API
--------

Bugfixes
~~~~~~~~

- Fixed two instances of Pulp not writing to the task worker's temporary directory.
:github:`2061`
- Fixed a (rare) deadlock around bulk_update() during syncs with overlapping content.
:github:`2430`
- Fixed a bug where notifications to workers may go unnoticed. This may lead to idle workers while
there are tasks waiting.
:github:`2506`


Plugin API
----------

No significant changes.

3.14.15

Not secure
====================
REST API
--------

Bugfixes
~~~~~~~~

- Fix delete repository version causing "duplicate key value violates unique constraint" error.
:github:`2047`
- Reduced memory usage during tasks like sync by holding fewer objects in-memory unnecessarily.
:github:`2069`
- This fix prevents the lost track of a content removed version when deleting a repository version that deletes a content that is added back in the subsequent version, but deleted again in a later version.
:github:`2267`
- Fixes duplicate key error ``Key (content_artifact_id, remote_id)`` when creating ``RemoteArtifacts``
during syncs in pulp_container and possibly other plugins.
:github:`2381`
- Declared proper dependency on user model in migration 0040.
:github:`2403`
- Fixed a rare deadlock when sync'ing overlapping content in high-concurrency envs.
:github:`2420`


Plugin API
----------

Bugfixes
~~~~~~~~

- Adjusted the default size of the queues between pipelines to be 1 instead of 1000. The batchers in
the stage will still accumulate up to 500 (by default) items so batching is still in-effect there
where it matters.
:github:`2069`

Page 47 of 57

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.