======================
Pulp 2.2 Release Notes
======================

Pulp 2.2.0
==========

New Features
------------

* The yum importer is all-new. It performs sync operations in less time, and it
  uses much less RAM than in the past.
* The ISO Distributor now supports repository protection. See the API documentation for more details.
* The ISO Importer now allows ISO uploads.
* The ISO Importer now allows synchronization cancellation.

CLI Changes
-----------

* The ``pulp-admin rpm repo uploads rpm`` command now supports a flag (``--skip-existing``) to skip
  re-uploading packages that are already in the destination repository.
* The ``pulp-admin rpm repo copy`` command now has a ``--all`` flag.
* Many commands that used to display a task ID will now automatically poll the
  server and display progress until the task is complete.
* There is a new ISO section in the pulp-admin client. It currently allows syncing, creating, and updating
  repositories.

API Changes
-----------

Yum Importer
^^^^^^^^^^^^

Some of the configuration names for the yum importer have changed. See the table below for the mapping
of old names to new names.

+----------------------+------------------+
| Old name             | New Name         |
+======================+==================+
| feed_url             | feed             |
+----------------------+------------------+
| ssl_verify           | ssl_validation   |
+----------------------+------------------+
| num_threads          | max_downloads    |
+----------------------+------------------+
| proxy_url            | proxy_host       |
+----------------------+------------------+
| proxy_user           | proxy_username   |
+----------------------+------------------+
| proxy_pass           | proxy_password   |
+----------------------+------------------+
| verify_checksum      | validate         |
+----------------------+------------------+
| remove_old           | remove_missing   |
+----------------------+------------------+
| num_old_packages     | retain_old_count |
+----------------------+------------------+

The following configuration values are no longer supported.

``newest``
  The idea of only downloading the newest RPM is handled by the ``retain_old_count`` value.

``verify_size``
  Verifying the size and checksum have been consolidated into a single parameter called ``validate``.
  During migration, the value for ``validate`` will be set on existing repositories using the
  ``verify_checksum`` value.

All existing yum importers will be migrated by pulp-manage-db, but any non-Pulp code that creates
or updates yum importers with the API will need to be updated to use these new names.

ISO Importer
^^^^^^^^^^^^

Some of the configuration names for the ISO importer have changed. See the table below for the mapping
of old names to new names.

+----------------------+----------------+
| Old name             | New Name       |
+======================+================+
| feed_url             | feed           |
+----------------------+----------------+
| num_threads          | max_downloads  |
+----------------------+----------------+
| proxy_url            | proxy_host     |
+----------------------+----------------+
| proxy_user           | proxy_username |
+----------------------+----------------+
| remove_missing_units | remove_missing |
+----------------------+----------------+
| validate_units       | validate       |
+----------------------+----------------+


All existing ISO importers will be migrated by pulp-manage-db, but any non-Pulp code that creates
or updates ISO importers with the API will need to be updated to use these new names.


Upgrade Instructions
--------------------

Please see the
`Pulp Platform upgrade instructions <https://docs.pulpproject.org/en/latest/user-guide/release-notes/2.2.x.html>`_
for information on how to complete the upgrade.

The location of the global configuration file for the yum importer has changed. Any
custom changes to the pre-2.2.0 file
(``/usr/lib/pulp/plugins/importers/yum_importer/yum_importer.conf``), such as those
suggested when :ref:`configuring a proxy <configure-proxy>`, are removed during upgrade.
The new location of this file is ``/etc/pulp/server/plugins.conf.d/yum_importer.json``.
Keep in mind the configuration property name changes above when re-adding proxy
information.

Pulp 2.2.1
==========

Multiple proxy-related issues related to authentication and HTTPS to the proxy
were fixed in `RHBZ #1022662 <https://bugzilla.redhat.com/show_bug.cgi?id=1022662>`_ and
`RHBZ #1014368 <https://bugzilla.redhat.com/show_bug.cgi?id=1014368>`_.

A `version comparison bug <https://bugzilla.redhat.com/show_bug.cgi?id=1026907>`_ that
caused recursive copies to not copy all dependencies was fixed.

A race condition with XML namespace parsing
`was fixed <https://bugzilla.redhat.com/show_bug.cgi?id=1019865>`_.

Several ISO-related bugs were fixed. They can be seen in the list of
`all fixed bugs <https://bugzilla.redhat.com/buglist.cgi?bug_status=VERIFIED&
bug_status=RELEASE_PENDING&bug_status=CLOSED&classification=Community&component=iso-support&
component=rpm-support&list_id=3357893&product=Pulp&version=2.2.1>`_.
