From 95eb28048f175f96a1f8e1b26dda65bd570d6c3a Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Feb 16 2023 08:20:33 +0000 Subject: PR#3675: Release notes 1.32 Merges #3675 https://pagure.io/koji/pull-request/3675 Fixes: #3621 https://pagure.io/koji/issue/3621 Release notes 1.32 --- diff --git a/docs/source/migrations/migrating_to_1.32.rst b/docs/source/migrations/migrating_to_1.32.rst new file mode 100644 index 0000000..a6a61e9 --- /dev/null +++ b/docs/source/migrations/migrating_to_1.32.rst @@ -0,0 +1,22 @@ +Migrating to Koji 1.32 +====================== + +You should consider the following changes when migrating to 1.32: + +DB Updates +---------- + +There is a simple schema change adding new index. + +As in previous releases, we provide a migration script that updates the database. + +:: + + # psql koji koji < /usr/share/doc/koji/docs/schema-upgrade-1.31-1.32.sql + + +Other changes +------------- + +There are numerous other changes in 1.32 that should not have a direct impact on migration. For +details see: :doc:`../release_notes/release_notes_1.32` diff --git a/docs/source/release_notes/release_notes_1.32.rst b/docs/source/release_notes/release_notes_1.32.rst new file mode 100644 index 0000000..f287b66 --- /dev/null +++ b/docs/source/release_notes/release_notes_1.32.rst @@ -0,0 +1,183 @@ + +Koji 1.32.0 Release notes +========================= + +All changes can be found in `the roadmap `_. +Most important changes are listed here. + +Migrating from Koji 1.31/1.31.1 +------------------------------- + +For details on migrating see :doc:`../migrations/migrating_to_1.32` + +Security Fixes +-------------- + +None + +Client Changes +-------------- +**download-tasks has sorted tasks in check closed/not closed tasks** + +| PR: https://pagure.io/koji/pull-request/3672 + +Simple change to have deterministic output + + +API Changes +----------- +**Remove krbLogin API** + +| PR: https://pagure.io/koji/pull-request/3599 + +This call is deprecated for long and should have been replaced by ``sslLogin`` +everywhere. In this case ``sslLogin`` is backed up by GSSAPI. + +**Add checksum API** + +| PR: https://pagure.io/koji/pull-request/3628 + +We've added complete API for computing/storing/querying full file checksums for +individual RPM files. Basic set of checksum types is computed when RPM is +imported into koji (via import or build task). This set is defined in +``hub.conf`` via ``RPMDefaultChecksums`` which is md5 and sha256 by default. +All users can query stored checksums via ``getRPMChecksums`` call. + +Builder Changes +--------------- +**Handle migrated rpmdb path** + +| PR: https://pagure.io/koji/pull-request/3618 + +RPM db was in recent Fedora's moved from ``/var/lib/rpm`` to +``/usr/lib/sysimage/rpm``. For builds based on that koji was unable to determine +buildroot content correctly resulting in empty buildroot listings. + +System Changes +-------------- +**Use_fast_upload=True as default everywhere** + +| PR: https://pagure.io/koji/pull-request/3530 + +It is seamless change for almost everybody. Fast upload mechanism is here for +more than ten years. Clients now has one less call to do (determining if server +supports it) + +**rpmdiff: replace deprecated rpm call** + +| PR: https://pagure.io/koji/pull-request/3562 + +``rpmdiff`` was adapted to current rpm API + +**Move hub code to site-packages** + +| PR: https://pagure.io/koji/pull-request/3588 + +We've moved hub code to site-packages allowing further refactoring. Important is +that _everybody_ needs to fix their ``httpd.conf`` to point to new app location: + +.. code-block:: diff + + - Alias /kojihub /usr/share/koji-hub/kojixmlrpc.py + + Alias /kojihub /usr/share/koji-hub/kojiapp.py + +**Continuing internal refactoring for safer SQL handling.** + +| PR: https://pagure.io/koji/pull-request/3589 +| PR: https://pagure.io/koji/pull-request/3632 +| PR: https://pagure.io/koji/pull-request/3668 + + +**Fix default archivetypes extensions** + +| PR: https://pagure.io/koji/pull-request/3614 + +Simple fix of default extensions for VHDX compressed images. + +**unify migration scripts** + +| PR: https://pagure.io/koji/pull-request/3624 + +Merged few older redundant migration scripts. + +**Deprecated get_sequence_value** + +| PR: https://pagure.io/koji/pull-request/3636 + +For plugin writers - this internal method is now deprecated and similar method +``koji.db.nextval`` should be used instead. + +**Remove DisableGSSAPIProxyDNFallback option on Hub** + +| PR: https://pagure.io/koji/pull-request/3649 + +Deprecated setting finally removed. + +**replace deprecated distutils** + +| PR: https://pagure.io/koji/pull-request/3654 + +We've dropped deprecated distutils. + +**Add custom_user_metadata to build info for wrapperRPM build type** + +| PR: https://pagure.io/koji/pull-request/3660 + +**Recreate timeouted session** + +| PR: https://pagure.io/koji/pull-request/3664 +| PR: https://pagure.io/koji/pull-request/3659 +| PR: https://pagure.io/koji/pull-request/3657 + +Sessions now can have defined lifetime. After that they'll be marked as +``expired`` still allowing client to reauthenticate and reuse that session. +Calling ``logout`` will finally destroy the session with no possibility of +reviving. This change should be seamless for most users. (E.g. builder code +needed no change as it is completely transparent behaviour for pythong client) + +Expiration time is not defined anywhere now. It is up to admins to either expire +sessions selectively or set up cron job expiring all sessions after some time. +If not handled, koji sessions will behave exactly same way as in previous +releases. + +This is a new behaviour to improve koji's security. + +Utilities +--------- +**koji-gc: use history to query trashcan contents** + +| PR: https://pagure.io/koji/pull-request/3608 + +Performance improvement lowering memory usage on the hub. + +VM +-- +**kojikamid: remove clamav scanner** + +| PR: https://pagure.io/koji/pull-request/3584 + +As ClamAV is no more supported on cygwin, we're going to drop source and +artifcats scanning support for windows build expecting that this scanning should +happen outside of koji (or via plugin). We're not scanning any other artifact +type, so it makes more sense to outsource it here also. + +Content Generator Changes +------------------------- +**metadata for koji task id** + +| PR: https://pagure.io/koji/pull-request/3656 + +Metadata format was extended to allow linking to koji task. So new key +``metadata['build']['task_id']`` is allowed now. For OSBS there is a +compatibility fallback on ``metadata['extra']['container_koji_task_id']`` for +older builds. + +Documentation +------------- +**Fix auth unit tests** + +| PR: https://pagure.io/koji/pull-request/3661 + +**Improve help for call --python option** + +| PR: https://pagure.io/koji/pull-request/3663 diff --git a/koji.spec b/koji.spec index e68edc6..dc28350 100644 --- a/koji.spec +++ b/koji.spec @@ -83,7 +83,7 @@ %define release %{baserelease} %endif Name: koji -Version: 1.31.1 +Version: 1.32.0 Release: %{release}%{?dist} License: LGPL-2.1-only and GPL-2.0-or-later # the included arch lib from yum's rpmUtils is GPLv2+ @@ -648,6 +648,31 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Fri Feb 3 2023 Tomas Kopecek - 1.32.0-1 +- PR#3530: use_fast_upload=True as default everywhere +- PR#3562: rpmdiff: replace deprecated rpm call +- PR#3584: kojikamid: remove clamav scanner +- PR#3588: Move hub code to site-packages +- PR#3589: Replace _multiRow, _singleRow, _singleValue with QP +- PR#3599: Remove krbLogin API +- PR#3608: koji-gc: use history to query trashcan contents +- PR#3614: fix default archivetypes extensions +- PR#3618: handle migrated rpmdb path +- PR#3624: unify migration scripts +- PR#3632: Next rewrite Select/Update queries +- PR#3636: Deprecated get_sequence_value +- PR#3647: hub: remove print statement +- PR#3649: Remove DisableGSSAPIProxyDNFallback option on Hub +- PR#3654: replace deprecated distutils +- PR#3657: Fix callnum handling +- PR#3659: rawdata not needed for callnum update +- PR#3660: Add custom_user_metadata to build info for wrapperRPM build type +- PR#3661: Fix auth unit tests +- PR#3663: cli: improve help for call --python option +- PR#3664: Recreate timeouted session +- PR#3668: Reset build processor values with specific value only +- PR#3672: CLI download-tasks has sorted tasks in check closed/not closed tasks + * Mon Jan 9 2023 Tomas Kopecek - 1.31.1-1 - PR#3644: www: fix target link in taskinfo page - PR#3650: Add test cases for help diff --git a/koji/_version.py b/koji/_version.py index 0e999e8..61dfc24 100644 --- a/koji/_version.py +++ b/koji/_version.py @@ -1,2 +1,2 @@ -__version_info__ = (1, 31, 1) +__version_info__ = (1, 32, 0) __version__ = '.'.join([str(x) for x in __version_info__])