#3575 [WIP] Release notes 1.31
Merged a year ago by tkopecek. Opened a year ago by tkopecek.
tkopecek/koji issue3574  into  master

@@ -0,0 +1,22 @@ 

+ Migrating to Koji 1.31

+ ======================

+ 

+ You should consider the following changes when migrating to 1.31:

+ 

+ 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.30-1.31.sql

+ 

+ 

+ Other changes

+ -------------

+ 

+ There are numerous other changes in 1.31 that should not have a direct impact on migration. For

+ details see: :doc:`../release_notes/release_notes_1.31`

@@ -5,6 +5,7 @@ 

  .. toctree::

      :maxdepth: 1

  

+     migrating_to_1.31

      migrating_to_1.30

      migrating_to_1.29

      migrating_to_1.28

@@ -5,6 +5,7 @@ 

  .. toctree::

      :maxdepth: 1

  

+     release_notes_1.31

      release_notes_1.30.1

      release_notes_1.30

      release_notes_1.29.1

@@ -0,0 +1,255 @@ 

+ 

+ Koji 1.31.0 Release notes

+ =========================

+ 

+ All changes can be found in `the roadmap <https://pagure.io/koji/roadmap/1.31/>`_.

+ Most important changes are listed here.

+ 

+ 

+ Migrating from Koji 1.30/1.30.1

+ -------------------------------

+ 

+ For details on migrating see :doc:`../migrations/migrating_to_1.31`

+ 

+ 

+ Security Fixes

+ --------------

+ 

+ None

+ 

+ 

+ Client Changes

+ --------------

+ **download-task more specific info for non-CLOSED tasks**

+ 

+ | PR: https://pagure.io/koji/pull-request/3488

+ 

+ A bit more info about state of the task.

+ 

+ **Add count and size for download-build**

+ 

+ | PR: https://pagure.io/koji/pull-request/3516

+ 

+ Unification of output how many files are being downloaded.

+ 

+ **list-hosts fix when list of channels is empty**

+ 

+ | PR: https://pagure.io/koji/pull-request/3533

+ 

+ Command was failing when builder was not assigned to any channel.

+ 

+ **edit-channel set default return value and print error msg to stderr**

+ 

+ | PR: https://pagure.io/koji/pull-request/3535

+ 

+ Unification of return values and error-handling.

+ 

+ **Fix nvr sorting in list-builds**

+ 

+ | PR: https://pagure.io/koji/pull-request/3542

+ 

+ Confusing default ``--sort-key=nvr`` was replaced by ``--sort-key=build_id``.

+ NVR sorting was/is in reality alphabetic sort, not NVR sort. We're not planning

+ to introduce NVR comparison anywhere, so we've changed the default here.

+ 

+ **Add regex --filter and --skip option for download-task**

+ 

+ | PR: https://pagure.io/koji/pull-request/3552

+ 

+ ``download-task`` command can download many files and default filters like

+ ``--arch`` can be insufficient and lead to downloading much more content than

+ needed. Two new regexp filters are introduced to further limit bandwith.

+ 

+ API Changes

+ -----------

+ **Allow buildTagID and destTagID as string and dict in getBuildTargets**

+ 

+ | PR: https://pagure.io/koji/pull-request/3550

+ 

+ A bit more comfort in specifying these values.

+ 

+ Builder Changes

+ ---------------

+ **Remove login shell from kojibuilder user**

+ 

+ | PR: https://pagure.io/koji/pull-request/3476

+ 

+ Login shell is not needed for normal ``kojid`` usage. It was meant more for

+ debugging but it is better to lock it off by default due to potential security

+ risks.

+ 

+ **Enable fetching any ref from git repo**

+ 

+ | PR: https://pagure.io/koji/pull-request/3509

+ 

+ Support for fetching any refs which were not fetched by original ``git clone``.

+ Typically merge requests.

+ 

+ **Error on list-tagged --sigs --paths without mount**

+ 

+ | PR: https://pagure.io/koji/pull-request/3531

+ 

+ It was confusing for users that there is no output if they don't have

+ ``/mnt/koji`` (or other topdir) mounted. Such combination of options now fail

+ instead of printing empty output.

+ 

+ **Fix restartHosts on py 3.5+**

+ 

+ | PR: https://pagure.io/koji/pull-request/3541

+ 

+ Newer python introduced behaviour which leads to non-working ``restartHosts``

+ task parent.

+ 

+ System Changes

+ --------------

+ **Build policy**

+ 

+ | PR: https://pagure.io/koji/pull-request/3407

+ 

+ New ``build_rpm`` policy for specifying which builds are allowed. It is

+ superceeding ``build_from_srpm`` and ``build_from_repo_id`` policies,

+ effectively adding capability for ``build_from_scm`` policy and merging these to

+ one more simple. Former two are now deprecated and will be removed in 1.33.

+ 

+ **Save source for wrapperRPM**

+ 

+ | PR: https://pagure.io/koji/pull-request/3417

+ 

+ ``wrapperRPM`` is now more compatible with regular rpm builds storing

+ ``source`` into metadata.

+ 

+ **Header-based sessions**

+ 

+ | PR: https://pagure.io/koji/pull-request/3426

+ 

+ Formerly, we've had session id and key as a part of URL. These values are now

+ moved to HTTP headers to be more in line with current security practices.

+ Backward compatibility is still ensured and can be turned off by

+ ``DisableURLSessions`` in config. Old-style session support will be removed in

+ 1.34.

+ 

+ **Move database classes and functions to koji/db.py**

+ 

+ | PR: https://pagure.io/koji/pull-request/3474

+ | PR: https://pagure.io/koji/pull-request/3489

+ | PR: https://pagure.io/koji/pull-request/3563

+ | PR: https://pagure.io/koji/pull-request/3513

+ 

+ Most of the database queries are rewritten to use ``*Processor`` classes which

+ improves maintanability and allows easier migration to SQLAlchemy or other

+ library. Also all db code is now in ``koji/db.py``, so also other tools can

+ utilize it (typically ``koji-sweep-db`` script).

+ 

+ **Emphasize non-working image XML**

+ 

+ | PR: https://pagure.io/koji/pull-request/3490

+ 

+ Koji is supporting more output formats for images than libvirt can utilize. For

+ these we're adding some more info directly to libvirt's XML, so end-user is more

+ informed about need to convert the data to some format libvirt supports.

+ 

+ **Log when session ID, session key and hostip is not related**

+ 

+ | PR: https://pagure.io/koji/pull-request/3557

+ 

+ Additional logging for security/audit reasons, so we can more easily detect

+ e.g. session stealing.

+ 

+ **Fedora 37 compatibility update**

+ 

+ | PR: https://pagure.io/koji/pull-request/3592

+ 

+ Python 3.11 finally dropped ``inspect.getargspec``, so hub/web are not running

+ on F37. Simple update to ``getfullargspec`` fixes it. Change is backward-compatible to

+ python 3.6 which is still oldest :doc:`supported version

+ <../supported_platforms>` for hub/web.

+ 

+ Web

+ ---

+ **Add active sessions web page**

+ 

+ | PR: https://pagure.io/koji/pull-request/3446

+ 

+ In line with other security/transparency items in this release, we've added

+ simple web page to list all active sessions user currently have.

+ 

+ **More generic taskinfo parameter handling**

+ 

+ | PR: https://pagure.io/koji/pull-request/3455

+ 

+ Task web page sometimes shows cryptic messages like "Parameters are not right

+ for this method" and for some less integrated plugins it shows just python dict

+ of values. This was improved to handle such values more systematically.

+ 

+ Plugins

+ -------

+ **kiwi: Fix include path**

+ 

+ | PR: https://pagure.io/koji/pull-request/3555

+ 

+ More safe include handling in kiwi's profiles.

+ 

+ **kiwi: Propagate --type option**

+ 

+ | PR: https://pagure.io/koji/pull-request/3558

+ 

+ New option to select image type.

+ 

+ **kiwi: Bind builders's /dev only in old_chroot**

+ 

+ | PR: https://pagure.io/koji/pull-request/3585

+ 

+ Device-mapper based images needs exposed /dev/mapper/control file, but not whole

+ dev filesystem. /dev filesystem is now mounted only in ``old_chroot`` buildroots.

+ Nspawn-based buildroots (``mock.new_chroot=True``) don't bind it and for dm there

+ is a corresponding mock `change

+ <https://github.com/rpm-software-management/mock/pull/1005>`_.

+ 

+ Utilities

+ ---------

+ **koji-gc: Fix check for type cc_addr, bcc_addr**

+ 

+ | PR: https://pagure.io/koji/pull-request/3573

+ 

+ **koji-sweep-db: fix**

+ 

+ | PR: https://pagure.io/koji/pull-request/3566

+ 

+ **Add absolute to clean sessions in koji-sweep-db**

+ 

+ | PR: https://pagure.io/koji/pull-request/3569

+ 

+ 

+ VM

+ --

+ **Various updates to kojivmd**

+ 

+ | PR: https://pagure.io/koji/pull-request/3503

+ | PR: https://pagure.io/koji/pull-request/3504

+ | PR: https://pagure.io/koji/pull-request/3505

+ | PR: https://pagure.io/koji/pull-request/3507

+ | PR: https://pagure.io/koji/pull-request/3538

+ | PR: https://pagure.io/koji/pull-request/3576

+ | PR: https://pagure.io/koji/pull-request/3577

+ | PR: https://pagure.io/koji/pull-request/3578

+ 

+ Various updates to changes in libvirt, improving error handling, VM cleanup,

+ better repo handling, python3 and documentation fixes.

+ 

+ Documentation

+ -------------

+ **Explain waitrepo tasks in vm channel**

+ 

+ | PR: https://pagure.io/koji/pull-request/3506

+ 

+ **Change license identifiers to SPDX format**

+ 

+ | PR: https://pagure.io/koji/pull-request/3521

+ 

+ **Increase unit tests**

+ 

+ | PR: https://pagure.io/koji/pull-request/3528

+ | PR: https://pagure.io/koji/pull-request/3548

+ | PR: https://pagure.io/koji/pull-request/3546

+ 

+ 

file modified
+49 -1
@@ -83,7 +83,7 @@ 

  %define release %{baserelease}

  %endif

  Name: koji

- Version: 1.30.1

+ Version: 1.31.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+
@@ -649,6 +649,54 @@ 

  %endif

  

  %changelog

+ * Mon Nov  7 2022  Tomas Kopecek <tkopecek at redhat.com> - 1.31.0-1

+ - PR#3407: build policy

+ - PR#3417: save source for wrapperRPM

+ - PR#3426: header-based sessions

+ - PR#3446: Add active sessions web page

+ - PR#3453: Index for rpm search

+ - PR#3455: www: more generic taskinfo parameter handling

+ - PR#3474: Move database classes and functions from kojihub.py to koji/db.py

+ - PR#3476: Remove login shell from kojibuilder user

+ - PR#3481: Fix URLs to pull requests

+ - PR#3488: CLI download-task more specific info for not CLOSED tasks.

+ - PR#3489: Rewrite DB query to Procesors

+ - PR#3490: Emphasize non-working image XML

+ - PR#3503: kojivmd: import xmlrpc.server

+ - PR#3504: kojivmd: narrow error handling for missing VMs

+ - PR#3505: kojivmd: pass "-F qcow2" to qemu-img create

+ - PR#3506: doc: explain waitrepo tasks in vm channel

+ - PR#3507: kojivmd: cleanup VMs with UNDEFINE_NVRAM

+ - PR#3509: Enable fetching any ref from git repo

+ - PR#3513: Return data when query execute asList with transform

+ - PR#3516: Add number and size for download-build

+ - PR#3521: spec: change license identifiers

+ - PR#3528: Increase CLI unit tests

+ - PR#3531: Error on list-tagged --sigs --paths without mount

+ - PR#3533: CLI list-hosts fix when list of channels is empty

+ - PR#3535: CLI edit-channel set default value for None and error msg to stderr.

+ - PR#3538: vm: handle waitrepo tasks in kojivmd

+ - PR#3540: kojid: use session correctly

+ - PR#3541: kojid: fix restartHosts on py 3.5+

+ - PR#3542: cli: fix nvr sorting in list-builds

+ - PR#3544: doc: use bullets for winbuild "buildrequires" syntax

+ - PR#3546: Increase list-tag-inheritance unit tests

+ - PR#3548: Increase unit tests

+ - PR#3550: Allow buildTagID and destTagID as string and dict in getBuildTargets

+ - PR#3552: Add regex --filter and --skip option for download-task

+ - PR#3555: fix include path

+ - PR#3557: Log when session ID, session key and hostip is not related

+ - PR#3558: kiwi: propagate --type option

+ - PR#3560: Rename global session in kojid

+ - PR#3563: Rewrite Query DB to Processors in auth.py

+ - PR#3565: kojira: fix docs

+ - PR#3566: Fix koji-sweep-db

+ - PR#3569: Add absolute to clean sessions in koji-sweep-db

+ - PR#3573: koji-gc: fix check for type cc_addr, bcc_addr

+ - PR#3576: kojivmd: improve topurl example and error handling

+ - PR#3585: kiwi: Make /dev mounting by magic

+ - PR#3592: Use inspect.getfullargspec instead of getargspec on hub and web

+ 

  * Mon Oct  3 2022  Tomas Kopecek <tkopecek at redhat.com> - 1.30.1-1

  - PR#3464: cli: allow redirects for file size checking

  - PR#3469: Fix dist-repo repo.json url

file modified
+1 -1
@@ -1,2 +1,2 @@ 

- __version_info__ = (1, 30, 1)

+ __version_info__ = (1, 31, 0)

  __version__ = '.'.join([str(x) for x in __version_info__])

Shouldn't the listed PRs be merged first, though?

Of course, it is just WIP (release in ~two weeks)

1 new commit added

  • wip
a year ago

Metadata Update from @tkopecek:
- Pull-request tagged with: no_qe

a year ago

There's a stray 1.29.0 reference that you can edit to 1.31

1 new commit added

  • fixes
a year ago

This no longer applies for 1.31.

rebased onto aef684cbdd1b3c7377e1a2f656ae35042b13379e

a year ago

rebased onto 40568e87a3e466f8466db9ee9635c86c8c48975c

a year ago

rebased onto a90f6cd

a year ago

Commit eb73457 fixes this pull-request

Pull-Request has been merged by tkopecek

a year ago