Release notes koji 1.30

Related: https://pagure.io/koji/issue/3465
This commit is contained in:
Tomas Kopecek 2022-08-17 13:23:14 +02:00
parent 20b809e01f
commit 43fa6c7730
7 changed files with 300 additions and 3 deletions

View file

@ -1,7 +1,7 @@
Migrating to Koji 1.29
======================
You should consider the following changes when migrating to 1.28:
You should consider the following changes when migrating to 1.29:
DB Updates
----------

View file

@ -0,0 +1,22 @@
Migrating to Koji 1.30
======================
You should consider the following changes when migrating to 1.30:
DB Updates
----------
There is a simple schema change adding descriptions to individual permissions.
As in previous releases, we provide a migration script that updates the database.
::
# psql koji koji < /usr/share/doc/koji/docs/schema-upgrade-1.29-1.30.sql
Other changes
-------------
There are numerous other changes in 1.30 that should not have a direct impact on migration. For
details see: :doc:`../release_notes/release_notes_1.30`

View file

@ -5,6 +5,7 @@ Migrations
.. toctree::
:maxdepth: 1
migrating_to_1.30
migrating_to_1.29
migrating_to_1.28
migrating_to_1.27

View file

@ -5,6 +5,7 @@ Release Notes
.. toctree::
:maxdepth: 1
release_notes_1.30
release_notes_1.29.1
release_notes_1.29
release_notes_1.28.1

View file

@ -0,0 +1,239 @@
Koji 1.30.0 Release notes
=========================
All changes can be found in `the roadmap <https://pagure.io/koji/roadmap/1.30/>`_.
Most important changes are listed here.
Migrating from Koji 1.29/1.29.1
-------------------------------
For details on migrating see :doc:`../migrations/migrating_to_1.30`
Security Fixes
--------------
None
Client Changes
--------------
**Remove --paths option from list-buildroot**
| PR: https://pagure.io/pull-request/3352
This option was not used and was deprecated. Now it was removed.
**list-channels with specific arch**
| PR: https://pagure.io/pull-request/3363
New filtering ``--arch`` option.
**download-task retry download file**
| PR: https://pagure.io/pull-request/3385
Additional place where we retry download in case of temporary network issues.
**Add a utility function to watch builds**
| PR: https://pagure.io/pull-request/3406
For CLI plugin development we've separated ``wait_repo`` function to library.
**Rewritten download-task**
| PR: https://pagure.io/pull-request/3425
| PR: https://pagure.io/pull-request/3430
| PR: https://pagure.io/pull-request/3438
| PR: https://pagure.io/pull-request/3459
| PR: https://pagure.io/pull-request/3462
``download-task`` command was rewritten to solve some long-standing issues. E.g.
downloading image scratch builds or some conflicting files. Command should be
backward-compatible but allows additional options like ``--dir-per-arch`` and
additional filtering.
API Changes
-----------
**Remove force option from groupPackageListRemove hub call**
| PR: https://pagure.io/pull-request/3354
Deprecated unused option was finally removed.
**Remove deprecated remove-channel/removeChannel**
| PR: https://pagure.io/pull-request/3357
Same here - same functionality is available via ``disable-channel/editChannel``.
**Use compression_type in addArchiveType**
| PR: https://pagure.io/pull-request/3391
Archive files had available listing for some specific extensions (zip, tar).
Other archives couldn't been displayed even if they had the same compression
format (e.g. jar which is hidden zip). Explicitly specifying compression type
via ``addArchiveType`` allows also these other types to be inspected.
Library Changes
---------------
**Fix rpm_hdr_size file closing**
| PR: https://pagure.io/pull-request/3423
Simple fix for potential file descriptor leak in user scripts.
**Authtype as enum and getSessionInfo prints authtype name**
| PR: https://pagure.io/pull-request/3437
``koji.AUTHTYPE_*`` were converted to enum like other ``koji.*`` constants. It
unifies the usage + prints human-readable strings instead of numeric IDs.
**parse_arches allows string and list of arches**
| PR: https://pagure.io/pull-request/3440
Utility conversion function now accepts more types than before.
System Changes
--------------
**Server-side clonetag**
| PR: https://pagure.io/pull-request/3308
Major rehaul of ``clone-tag`` command. It was completely removed from CLI-side
and everything happens at hub now. It is immensely faster in real workload (for
big tags from hours to seconds). Nevertheless, we've lost some functionality -
typically verbose mode is no more possible as everything happens in one
transaction now, so there is almost no text output. We believe it is worth the
speed improvements. There are also very minor semantical changes (e.g. event ids
for separate steps) which shouldn't be noticed by vast majority of users.
If target tag doesn't exist, things are even more faster as we don't need to
check what is there, etc.
New API calls related to this behaviour are now available: ``massTag``, ``snapshotTag``,
``snapshotTagModify``. Especially ``massTag`` could be used by many admins as it
is basically batch call of ``tagBuildBypass`` ('tag' permission needed) dropping
need of ``tagBuildBypass`` multicall overhead.
**Drop old indices**
| PR: https://pagure.io/pull-request/3359
Few unused old indices could still exists in some deployments. Migration script
will drop them.
**Correct getAverageDuration values for most GC builds**
| PR: https://pagure.io/pull-request/3402
| PR: https://pagure.io/pull-request/3457
``getAverageDuration`` was not making much sense for packages which had also
imported content. Now we ignore zero times for imported content getting better
estimation of real koji builds.
**Consistence pre/postPackageListChange sequence**
| PR: https://pagure.io/pull-request/3403
If ``packageListAdd`` ended with no action because package is already in the
list, only ``prePackageListChange`` callback was run. In such case no callback
should be run.
**Check release/version format in cg_import**
| PR: https://pagure.io/pull-request/3422
Failed builds could have had non-sense in release/version. It was never true for
completed builds as koji wouldn't allow such build to finish. Anyway, it was
confusing to see such items in failed builds list, so we've denied it from the
beginning.
**Expect dict for chainmaven builds**
| PR: https://pagure.io/pull-request/3444
Regression fix for ``chainMaven`` API call which was refusing correct input from
1.29.
Builder Changes
---------------
**Catch koji.AuthError and bail out**
| PR: https://pagure.io/pull-request/3364
kojid and kojira now fail on authentication errors and don't try forever.
Anyway, daemons will be restarted via systemd (possibly loading updated
certificates, keytabs, ...) so it could help in some situations.
**Don't propagate SIGHUP ignore to child processes**
| PR: https://pagure.io/pull-request/3404
Some packages are testing SIGHUP behaviour (e.g. cpython) in their test suite.
Previously we've been blocking SIGHUP in child processes (mock), so it needed
some care from packagers. There is no need to do that, so we've dropped this
behaviour.
**Beautify logged commands issued by koji**
| PR: https://pagure.io/pull-request/3405
In few cases (e.g. createrepo) koji logs very long command lines. They are now
wrapped to 80 characters for easier log reading.
**Don't crash in _checkImageState if there's no image.os_plugin**
| PR: https://pagure.io/pull-request/3445
In some cases ImageFactory tried to tear down the VM even in case there wasn't
right code/plugin for that.
Web Changes
-----------
**archivelist and rpmlist raise error when imageID is unknown**
| PR: https://pagure.io/pull-request/3382
Don't crash on non-existing IDs.
**Set SameSite and Set-Cookie2**
| PR: https://pagure.io/pull-request/3390
We've added these http headers to increase the security.
**Convert data to string in escapeHTML first**
| PR: https://pagure.io/pull-request/3450
Better rendering of some non-textual (int, datetime) values.
Plugin Changes
--------------
**proton: save messages when connection fails**
| PR: https://pagure.io/pull-request/3360
Further improvement of handling message bus issues. Some types of errors were
not treated as a connection problem (DNS resolution) thus losing messages.
**kiwi: fix arches check**
| PR: https://pagure.io/pull-request/3428
Regression fix.
Documentation
-------------
**Increase unit tests**
| PR: https://pagure.io/pull-request/3380
| PR: https://pagure.io/pull-request/3383

View file

@ -83,7 +83,7 @@
%define release %{baserelease}
%endif
Name: koji
Version: 1.29.1
Version: 1.30.0
Release: %{release}%{?dist}
License: LGPLv2 and GPLv2+
# the included arch lib from yum's rpmUtils is GPLv2+
@ -645,6 +645,40 @@ rm -rf $RPM_BUILD_ROOT
%endif
%changelog
* Thu Aug 18 2022 Tomas Kopecek <tkopecek at redhat.com> - 1.30.0-1
- PR#3308: server-side clonetag
- PR#3352: CLI: Remove --paths option from list-buildroot
- PR#3354: remove force option from groupPackageListRemove hub call
- PR#3357: Remove deprecated remove-channel/removeChannel
- PR#3359: Drop old indices
- PR#3360: proton: save messages when connection fails
- PR#3363: CLI: list-channels with specific arch
- PR#3364: Catch koji.AuthError and bail out
- PR#3380: Increase hub unit tests
- PR#3382: www: archivelist and rpmlist raise error when imageID is unknown
- PR#3383: Increase www unit tests
- PR#3385: koji download-task retry download file
- PR#3390: www: Set SameSite and Set-Cookie2
- PR#3391: Use compression_type in listArchiveFiles
- PR#3401: CLI: download-task prints "No files for download found." to stdout
- PR#3402: Correct getAverageDuration values for most GC builds
- PR#3403: Consistence pre/postPackageListChange sequence
- PR#3404: don't propagate SIGHUP ignore to child processes
- PR#3405: beautify logged commands issued by koji
- PR#3406: Add a utility function to watch builds
- PR#3422: hub: check release/version format in cg_import
- PR#3423: Fix rpm_hdr_size file closing
- PR#3425: Fix download-task all files in build/buildArch method tasks
- PR#3428: Fix arches check in kiwi plugin
- PR#3430: Fix download-task with wait option
- PR#3437: Authtype as enum and getSessionInfo prints authtype name
- PR#3438: CLI: More details when files conflict in download-task
- PR#3440: Parse_arches allows string and list of arches
- PR#3444: expect dict for chainmaven builds
- PR#3445: Don't crash in _checkImageState if there's no image.os_plugin
- PR#3450: convert data to string in escapeHTML first
- PR#3457: Fix query with LIKE string in getAverageBuildDirection
* Mon Jun 27 2022 Tomas Kopecek <tkopecek at redhat.com> - 1.29.1-1
- PR#3343 Download output for all type of task in download-task
- PR#3388 postgresql hub: date_part instead of EXTRACT

View file

@ -1,2 +1,2 @@
__version_info__ = (1, 29, 1)
__version_info__ = (1, 30, 0)
__version__ = '.'.join([str(x) for x in __version_info__])