.. _release_1.42:

fedpkg 1.42 Release Notes
=========================

Released on *February 4, 2022*

This release requires ``rpkg >= 1.64-1``.

Python compatibility
--------------------

fedpkg works with Python 2.7, 3.6, 3.9 and 3.10

What's new in fedpkg 1.42
-------------------------

Enable Python argcomplete
~~~~~~~~~~~~~~~~~~~~~~~~~
``python-argcomplete`` library supports custom completion so there is no need to maintain bash script for 'bash-completion'. This commit introduces argcomplete to fedpkg. Python argcomplete functionality might not have so quick response, but offers all commands and arguments, that bash script could miss.

Original bash completion script still stays in the package during the transition period.

* More information on `GitHub`_.
* Another example how to `activate`_ it (if it already doesn't work in renewed instance of bash) for fedpkg.

Add support for `epel9-next`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Allows requesting 'epel9-next' branches.

This modifies the 'assert_valid_epel_package' function to check the CentOS Stream compose metadata to determine if a package name is valid for EPEL or not. A similar change was made to `fedscm-admin`_.

`mockbuild`: default to use the local Mock configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Other small fixes
~~~~~~~~~~~~~~~~~
* ``set-distgit-token``: create a new user config file if missing instead of erroring out.
* Support for Python 3.10 and support for running tests there
* Fix rsplit() usage to work with Python 2.7
* Fixes working with instance of ConfigParser in Python 2.7
* Fix unittests for Python 2 - no proper package 'rpm' in PyPI
* Fix unittests for Python 2 - missing dependency

Change Logs
-----------
- Fix Jenkins tests (onosek)
- Return bash-completion back because of compatibility (onosek)
- Fix unittests for Python 2 - missing dependency (onosek)
- set-distgit-token: create a missing config file (mark.e.fuller)
- Fix rsplit() usage to work with Python 2.7 - `rhbz#2029175`_ (treydock)
- mockbuild: default to use the local Mock configuration - `#597`_ (praiskup)
- Add support for epel9-next - `#72`_ (carl)
- Remove unused import from setup.py (onosek)
- Enable Python argcomplete (onosek)
- Test and support Python 3.10 (miro)

.. _`rhbz#2029175`: https://bugzilla.redhat.com/show_bug.cgi?id=2029175
.. _`#597`: https://pagure.io/rpkg/pull-request/597
.. _`#72`: https://pagure.io/fedscm-admin/pull-request/72
.. _`fedscm-admin`: https://pagure.io/fedscm-admin/pull-request/72

.. _`GitHub`: https://github.com/kislyuk/argcomplete#activating-global-completion
.. _`activate`: https://docs.pytest.org/en/6.2.x/bash-completion.html