#2850 Release notes 1.25
Merged a year ago by tkopecek. Opened a year ago by tkopecek.
tkopecek/koji issue2845  into  master

@@ -85,6 +85,7 @@ 

  

  

  .. code-block:: shell

+ 

      # merge PR into main repository  

      if [ -n "$REPO" -a -n "$BRANCH" ]; then  

          git config --global user.email "test@example.com"  

@@ -0,0 +1,26 @@ 

+ Migrating to Koji 1.25

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

+ 

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

+ 

+ DB Updates

+ ----------

+ 

+ This release includes one schema change.

+ 

+ Each repo now contains a link to the task which was used to create it (`Issue #888

+ <https://pagure.io/koji/issue/888>`_)

+ 

+ 

+ As in previous releases, we provide a migration script that updates the database.

+ 

+ ::

+ 

+     # psql koji koji < /usr/share/doc/koji/docs/schema-upgrade-1.24-1.25.sql

+ 

+ 

+ Other changes

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

+ 

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

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

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

  .. toctree::

      :maxdepth: 1

  

+     migrating_to_1.25

      migrating_to_1.24

      migrating_to_1.23

      migrating_to_1.22

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

  .. toctree::

      :maxdepth: 1

  

+     release_notes_1.25

      release_notes_1.24.1

      release_notes_1.24

      release_notes_1.23.1

@@ -0,0 +1,342 @@ 

+ Koji 1.25.0 Release notes

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

+ 

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

+ Most important changes are listed here.

+ 

+ 

+ Migrating from Koji 1.24/1.24.1

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

+ 

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

+ 

+ 

+ Security Fixes

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

+ 

+ None

+ 

+ 

+ Client Changes

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

+ **More verbose error/warning messages**

+ 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

+ 

+ We've revised many calls which previously returned empty results to raise more

+ meaningful errors. For example, ``koji list-untagged package_x`` previously did

+ not distinguish between the case where ``package_x`` had no untagged builds

+ and the case where ``package_x`` did not exist.

+ Also, all warning and error messages were unified in their wording.

+ 

+ **Show connection exception for anonymous calls**

+ 

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

+ 

+ Calls which don't need authentication were not properly propagating

+ connection-related exceptions with ``--debug``.

+ 

+ **list-api option for one method**

+ 

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

+ 

+ Now you don't need to scroll through ``list-api`` output if you want a single

+ method signature. The ``koji list-api listBuilds`` command will show just one.

+ 

+ **Add wait/nowait to all calls**

+ 

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

+ 

+ Some commands had ``--wait`` and/or ``--nowait`` options. We've made it

+ consistent, so all eligible commands now contain both variants.

+ These options override waiting behavior for the command.

+ 

+ If neither option is specified, the default depends on the runtime context.

+ If the client is running on a TTY, then it defaults to waiting.

+ If it is running in the background, then it defaults to not waiting.

+ 

+ This is not new behaviour, just adding explicit options in cases

+ where they were not present.

+ 

+ **Use multicall for cancel, list-hosts and write-signed-rpm commands**

+ 

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

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

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

+ 

+ These commands are now much faster when acting on multiple items.

+ 

+ **Using 'call' command without authentication**

+ 

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

+ 

+ The ``call`` command authenticates by default, which is not always desired.

+ This authentication can be disabled with the the global ``--noauth`` option.

+ The help text now clarifies this.

+ 

+ **Support modules and other btypes in download-build**

+ 

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

+ 

+ The ``download-build`` command now downloads all regular archives. Previously it

+ was limited to a subset of file types.

+ 

+ 

+ Library Changes

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

+ **Better failed authentication/connections**

+ 

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

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

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

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

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

+ 

+ Connection errors now provide a bit more information for debugging.

+ Some errors were masked by more generic ones. We're now trying to display more

+ information about these, and to help with debugging krbV/GSSAPI errors. We have

+ added a :doc:`documentation page <../kerberos_gssapi_debug>` for common GSSAPI

+ errors, which the CLI now refers to.

+ 

+ **More portable BadStatusLine checking**

+ 

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

+ 

+ Python 3 versions had some problems detecting expired keepalive connections.

+ We've made the code a bit more portable so you shouldn't see these errors now.

+ 

+ **Missing default values in read_config**

+ 

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

+ 

+ Some default values were missing in the config parsing which could have led to

+ mysterious behaviour. The configuration values in question were related to

+ retry behavior when making calls to the hub.

+ 

+ **Use parse_task_params for taskLabel**

+ 

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

+ 

+ The ``taskLabel`` function (used in various places to generate a short label

+ for a given task) has been updated to use the newer ``parse_task_params``

+ function instead of parsing the parameters itself.

+ As a result, the function is simpler and more accurate.

+ 

+ The ``parse_task_params`` function is currently the preferred way to interpret

+ task parameters. We recommend that developers use it rather than ad-hoc code.

+ 

+ API Changes

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

+ **Fail early on wrong info in create*Build methods**

+ 

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

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

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

+ 

+ The ``createWinBuild``, ``createImageBuild``, and ``createMavenBuild`` hub

+ calls will now raise an exception when some data in buildinfo are missing,

+ and their exception text should be clearer than before.

+ 

+ **getVolume with strict option**

+ 

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

+ 

+ This new option brings ``getVolume`` in line with other similar calls.

+ When the requested volume does not exist, the call will either return ``None``

+ (when ``strict=False``, the default) or raise an exception (when

+ ``strict=True``).

+ 

+ **getLastHostUpdate ts option**

+ 

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

+ 

+ Historically we've passed around dates as text strings. Almost everywhere we're

+ now also sending GMT timestamps to better handle timezone problems. This new

+ option in the ``getLastHostUpdate`` call allows you to get a timestamp instead

+ of a string value.

+ 

+ **Be tolerant with duplicate parents in _writeInheritanceData**

+ 

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

+ 

+ Regression fix - call will now not raise an exception if there are duplicated

+ parents in inheritance chain.

+ 

+ **with_owners options for readPackageList and listPackages**

+ 

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

+ 

+ Performance improvement. Most of the calls to these functions don't need

+ information about the package owner. Dropping this data simplifies the

+ underlying query to a faster one. If you're using this call in your automation

+ give it a chance to lower your database load.

+ 

+ System Changes

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

+ **Task priority policy**

+ 

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

+ 

+ There is a new ``priority`` policy which can be used to alter task priorities

+ based on data about task/build.

+ See :doc:`../defining_hub_policies` for details.

+ 

+ **Python egginfo**

+ 

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

+ 

+ After years of struggling with pip/setuptools/rpm packaging we should finally

+ have something compatible. So, now egginfo, etc. should be properly installed

+ and usable in virtualenvs.

+ 

+ **Task ID for repos**

+ 

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

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

+ 

+ When debugging buildroot content issues it is often important to find out which

+ repo was used and when it was created, investigate createrepo and mergerepo

+ logs, etc. It was not easy to find the task that created a given repo.

+ This information is now tracked in the database, and reported in the web and CLI

+ interfaces.

+ It is also recorded in the ``repo.json`` file for the repo.

+ 

+ **Add squashfs-only and compress-arg options to livemedia**

+ 

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

+ 

+ Livemedia tasks can now use these options for passing to ImageFactory.

+ 

+ Web

+ ---

+ **Show VCS and DistURL tags as links when appropriate**

+ 

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

+ 

+ Previously these values were shown as plain text in the web interface.

+ Now they should appears as links.

+ 

+ **Don't use count(*) on first tasks page**

+ 

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

+ 

+ The tasks list page can be quite slow in many cases.

+ The primary cause of this is pagination and the underlying ``count(*)``

+ query.

+ As PostgreSQL is very slow for this type of query we've removed the page count

+ for the first page which is loaded most often.

+ Subsequent pages will continue to show the count (and therefore also the

+ performance penalty in some situations).

+ 

+ **Additional info on API page**

+ 

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

+ 

+ We've added some simple example client code to the API page, to help users get

+ started without having to dig through the rest of the documentation.

+ 

+ 

+ Plugins

+ -------

+ **Configurable sidetags suffixes**

+ 

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

+ 

+ The sidetag plugin now allows defining a set of allowed suffixes which can be used

+ when creating the sidetag. You can distinguish between different types (private,

+ gating, ...)

+ 

+ **Protonmsg: fixes for persistent queue**

+ 

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

+ 

+ The persistent message queue option (see :ref:`protonmsg-config`) was

+ broken. Now it should work correctly.

+ 

+ 

+ Utilities

+ ---------

+ 

+ Kojira

+ ......

+ **Faster startup**

+ 

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

+ 

+ Multicall is used to prefetch tag data from hub. It significantly improves

+ startup time for larger installations.

+ 

+ **Check repo.json before deleting**

+ 

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

+ 

+ Previously kojira refused to delete repositories if the path did not match

+ the name of the tag the repo was based on.

+ This kept kojira from cleaning up repos after a build tag was renamed.

+ Now kojira also consults the ``repo.json`` which records the name of the tag

+ at the time the repo was created.

+ 

+ **Tolerate floats in metadata timestamps**

+ 

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

+ 

+ External repositories sometimes can use float timestamp. We now correctly parse

+ that.

+ 

+ **Fix fork-related issues**

+ 

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

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

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

+ 

+ Forking while deleting is causing some issues (mostly with loggign module)

+ especially with the latest python.  These can result in kojira not deleting

+ repos at all.

+ 

+ Garbage Collector

+ .................

+ **Allow specifying all CLI options in config**

+ 

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

+ 

+ Every option that can be specified on the command line can now be also put into

+ the configuration file.

+ 

+ **Implement hastag policy for koji-gc**

+ 

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

+ 

+ The gc policy now offers a ``hastag`` test for builds, similar to the test

+ offered by hub policies.

+ 

+ This can be used in numerous ways.

+ One example (a ``protected`` tag that protects builds from pruning) is

+ described in the `original request <https://pagure.io/koji/issue/2813>`_.

+ 

+ Documentation

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

+ **Updated docs and devtools**

+ 

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

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

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

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

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

+ 

+ Numerous small updates.

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

  %define release %{baserelease}

  %endif

  Name: koji

- Version: 1.24.1

+ Version: 1.25.0

  Release: %{release}%{?dist}

  License: LGPLv2 and GPLv2+

  # the included arch lib from yum's rpmUtils is GPLv2+
@@ -616,6 +616,88 @@ 

  %systemd_postun kojira.service

  

  %changelog

+ * Mon May 10 2021 Tomas Kopecek <tkopecek at redhat.com> - 1.25.0-1

+ - PR#2844: protonmsg: use consistent data format for messages

+ - PR#2764: kojira: faster startup

+ - PR#2831: Add wait/nowait to tag-build, image-build-indirection

+ - PR#2827: web: don't use count(*) on first tasks page

+ - PR#2833: Add squashfs-only and compress-arg options to livemedia

+ - PR#2828: web: additional info on API page

+ - PR#2826: Add kerberos debug message

+ - PR#2821: Python egginfo

+ - PR#2843: update dockerfiles for f34

+ - PR#2824: lib: is_conn_error catch more exceptions

+ - PR#2823: Add default task ID to prep_repo_init/done

+ - PR#2816: koji-gc: Allow specifying all CLI options in config

+ - PR#2817: koji-gc: Implement hastag policy for koji-gc

+ - PR#2771: lib: use parse_task_params for taskLabel

+ - PR#2829: fix tests for changed helpstring

+ - PR#2688: cli: list-api method

+ - PR#2791: with_owners options for readPackageList and readTaggedBuilds

+ - PR#2802: Repo info with task id

+ - PR#2803: unify warn messages

+ - PR#2808: cli: multicalls for write-signed-rpm

+ - PR#2796: api: getVolume with strict

+ - PR#2792: cli: mock-config check arch

+ - PR#2790: cli: list-builds sort-key warning

+ - PR#2756: Show VCS and DistURL tags as links when appropriate

+ - PR#2819: lib: more portable BadStatusLine checking

+ - PR#2818: hub: Fix typo in postRepoInit callback from distRepo

+ - PR#2779: 1.24.1 release notes

+ - PR#2810: cli: fix multicall usage in list_hosts

+ - PR#2798: Fix list-hosts and hostinfo for older hub

+ - PR#2773: unify error messages for web

+ - PR#2799: kojid.conf: fix linewrapped comment

+ - PR#2794: lib: set sinfo=None for failed ssl_login

+ - PR#2689: lib: missing default values in read_config

+ - PR#2784: Tolerate floats in metadata timestamps

+ - PR#2787: Revert "requests exception"

+ - PR#2770: cli: buildinfo returns error for non exist build

+ - PR#2766: api getLastHostUpdate returns timestamp

+ - PR#2735: lib: more verbose conn AuthError for ssl/gssapi

+ - PR#2782: Be tolerant with duplicate parents in _writeInheritanceData

+ - PR#2615: cli: catch koji.ParameterError in list_task_output_all_volumes

+ - PR#2749: web: optional KojiHubCA usage

+ - PR#2753: drop PyOpenSSL usage

+ - PR#2765: kojira: check repo.json before deleting

+ - PR#2777: docs: fix Fedora's koji URL

+ - PR#2722: cli: use multicall for cancel command

+ - PR#2772: Fix small documentation typo

+ - PR#2699: Fix race handling in rmtree

+ - PR#2755: kojira: check rm queue before adding new path

+ - PR#2769: cli: hostinfo with non-exist host

+ - PR#2768: tests: fix locale setting

+ - PR#2721: API: createWinBuild with wrong win/build info

+ - PR#2761: cli: rpminfo with non-exist rpm

+ - PR#2736: api: createMavenBuild wrong buildinfo/maveninfo

+ - PR#2732: api: createImageBuild non-existing build wrong buildinfo

+ - PR#2733: Unify error messages

+ - PR#2759: tests: stop mock in DBQueryTest

+ - PR#2754: doc: jenkins fedora -> centos migration

+ - PR#2744: devtools: updated Dockerfiles

+ - PR#2715: acquire logging locks before forking

+ - PR#2747: Escape vcs and disturl

+ - PR#2705: cli: show connection exception

+ - PR#2703: cli: list-untagged returns error non-exist package

+ - PR#2738: cli: fix help message formatting

+ - PR#2737: plugins: fix typo

+ - PR#2734: cli: --no-auth for 'call' command

+ - PR#2711: Task priority policy

+ - PR#2730: configurable sidetags suffixes

+ - PR#2678: support modules and other btypes in download-build

+ - PR#2731: web: set WSGIProcessGroup inside Directory

+ - PR#2727: Fix progname

+ - PR#2717: doc: Additional docs for CVE-CVE-2020-15856

+ - PR#2723: better ssl_login() error message when cert is None

+ - PR#2725: doc: remove "ca" option from server howto

+ - PR#2724: doc: update kojid steps in server howto

+ - PR#2692: adding check for the license header key

+ - PR#2702: cli: list-history error non-exist channel, host

+ - PR#2706: hub: document getNextRelease method

+ - PR#2709: cli: mock-config error for non existing buildroot

+ - PR#2694: adding invalid target name error message

+ - PR#2713: set correct import_type for volume policy in completeImageBuild

+ 

  * Thu Feb  4 2021 Tomas Kopecek <tkopecek at redhat.com> - 1.24.0-1

  - PR#2637: plugin hooks for repo modification

  - PR#2680: fix the mode of tarfile.open

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

- __version_info__ = (1, 24, 1)

+ __version_info__ = (1, 25, 0)

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

rebased onto f2306ced7ba940698448a5eae8cdf4bae500c4e6

a year ago

rebased onto 0401caed9a022c7ef53f5a1d3e985821ca842524

a year ago

rebased onto 17c5d7b

a year ago

1 new commit added

  • update release notes
a year ago

2 new commits added

  • fix code block
  • misc fixes
a year ago

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

a year ago

1 new commit added

  • add pr
a year ago

Commit 0bdbaa9 fixes this pull-request

Pull-Request has been merged by tkopecek

a year ago