From e3c84e25808dab956b0c0ab8ff86ef16eb83f866 Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Sep 17 2024 11:03:39 +0000 Subject: Release notes 1.35 Related: https://pagure.io/koji/issue/4168 --- diff --git a/docs/source/migrations/migrating_to_1.35.rst b/docs/source/migrations/migrating_to_1.35.rst new file mode 100644 index 0000000..f69f922 --- /dev/null +++ b/docs/source/migrations/migrating_to_1.35.rst @@ -0,0 +1,22 @@ +Migrating to Koji 1.35 +====================== + +You should consider the following changes when migrating to 1.35: + +DB Updates +---------- + +Changes for new repo handling introduced a few new tables. + +As in previous releases, we provide a migration script that updates the database. + +:: + + # psql koji koji < /usr/share/doc/koji/docs/schema-upgrade-1.34-1.35.sql + + +Other changes +------------- + +There are numerous other changes in 1.35 that should not have a direct impact +on migration. For details see: :doc:`../release_notes/release_notes_1.35` diff --git a/docs/source/migrations/migrations.rst b/docs/source/migrations/migrations.rst index 3f8c8eb..0f7ee21 100644 --- a/docs/source/migrations/migrations.rst +++ b/docs/source/migrations/migrations.rst @@ -5,6 +5,7 @@ Migrations .. toctree:: :maxdepth: 1 + migrating_to_1.35 migrating_to_1.34 migrating_to_1.33 migrating_to_1.32 diff --git a/docs/source/release_notes/release_notes.rst b/docs/source/release_notes/release_notes.rst index aeac26e..a4f06f1 100644 --- a/docs/source/release_notes/release_notes.rst +++ b/docs/source/release_notes/release_notes.rst @@ -5,6 +5,7 @@ Release Notes .. toctree:: :maxdepth: 1 + release_notes_1.35 release_notes_1.34.1 release_notes_1.34 release_notes_1.33.1 diff --git a/docs/source/release_notes/release_notes_1.35.rst b/docs/source/release_notes/release_notes_1.35.rst new file mode 100644 index 0000000..570164f --- /dev/null +++ b/docs/source/release_notes/release_notes_1.35.rst @@ -0,0 +1,352 @@ + +Koji 1.35.0 Release notes +========================= + +All changes can be found in `the roadmap `_. +Most important changes are listed here. + +Major change is this release is kojira rewrite and repos on-demand. + +Migrating from Koji 1.34/1.34.1 +------------------------------- + +For details on migrating see :doc:`../migrations/migrating_to_1.35` + + +Security Fixes +-------------- + +None + + +Client Changes +-------------- + +**Don't try to resolve server version for old hubs** + +| PR: https://pagure.io/koji/pull-request/3891 + +Some CLI commands have extended capabilities with newer hub versions. But if +they were run against really old version (one that doesn't report its version), +they've failed completely. Now the correctly use older API signatures. + +**New CLI command list-users** + +| PR: https://pagure.io/koji/pull-request/3970 +| PR: https://pagure.io/koji/pull-request/4008 +| PR: https://pagure.io/koji/pull-request/4051 + +As we're more using user groups in policies, ``list-users`` with +``--perm=`` and ``--inherited-perm`` options now could help with +finding and debugging such users. + +``--type`` option would limit NORMAL/HOST/GROUP user types. + +**Fix remove-tag-inheritance with priority** + +| PR: https://pagure.io/koji/pull-request/4000 + +Better handling of ``remove-tag-inheritance `` command +variant. + +**Taskinfo CLI and webUI info message why output is not in the list** + +| PR: https://pagure.io/koji/pull-request/4075 + +Informational messages for missing logs and task outputs. + +API Changes +----------- + +**Anonymous getGroupMembers and getUserGroups** + +| PR: https://pagure.io/koji/pull-request/3912 + +First call was previously requiring ``admin`` permission. As the same +information is available through other paths this requirement was dropped. Alse +new ``getUserGroups`` API call was added. + +**Better default handling for getMultiArchInfo** + +| PR: https://pagure.io/koji/pull-request/4164 + +Simple API default update. + + **Allow None in repoInfo for backwards compat** + +| PR: https://pagure.io/koji/pull-request/4192 + +Web UI had in some cases problems to corectly display taskinfo page +because of the older regression. + +System Changes +-------------- + +**Keep schema upgrade transactional** + +| PR: https://pagure.io/koji/pull-request/4141 + +Simple fix to migration scripts. Indices are now created as part of the +transaction as it doesn't take much time even in big deployments. + +**Backup signature headers in delete_rpm_sig** + +| PR: https://pagure.io/koji/pull-request/3944 + +Signatures can be deleted by admin-only call. It is anyway a good practice to +store even deleted signatures, so we can audit such situations. They are now +stored in build directory. + +**Stop lowercasing the policy failure reason** + +| PR: https://pagure.io/koji/pull-request/3953 + +Simple update to not convert messages in policies. + +**Let ``tag.extra`` override tag arches for noarch** + +| PR: https://pagure.io/koji/pull-request/4013 + +In some cases noarch packages can't be built on some architectures. As there is +no first-class support for such routing, tag can be modified via +``extra.noarch_arches`` key. + +**Better index for rpm lookup** + +| PR: https://pagure.io/koji/pull-request/4026 + +Improved index after addition of draft builds. + +**Auto arch refusal for noarch tasks** + +| PR: https://pagure.io/koji/pull-request/4060 + +Scheduler improvement for noarch tasks which could have been assigned to +builders without access to relevant buildroot architecture repos. It would +speedup correct assigning of noarch tasks in some cases. + +**Fix errors in channel policy** + +| PR: https://pagure.io/koji/pull-request/4066 + +Channel policy can refer to non-existent tags, etc. Policy would have failed +even in case where there would be other valid rule. + +**Sort checksums before inserting** + +| PR: https://pagure.io/koji/pull-request/4073 + +``create_rpm_checksums`` could have triggered deadlock. This change would +prevent it. + +**Handle volumes when clearing stray build dirs** + +| PR: https://pagure.io/koji/pull-request/4092 + +``recycle_build`` ignored some files and left them on non-default volumes +instead of deleting. Newly created build then already contained some files and +failed while trying to recreate them. + +**Drop unused DBHandler class** + +| PR: https://pagure.io/koji/pull-request/4095 + +Logging class which is not used anywhere. + +**Stop suggesting that users need repo permission** + +| PR: https://pagure.io/koji/pull-request/4097 + +``regen-repo`` is the correct permission which should be granted to users. +``repo`` is a privileged one and is mostly intended for kojira. + +**CG import updates** + +| PR: https://pagure.io/koji/pull-request/4113 + +Content generator API now allows uploading subdirectories instead of just flat +structure. ``CG_import`` policy gets also ``version``, ``release`` and +``btypes`` fields for additional checks. + +**Fix tz mismatch issues with various queries** + +| PR: https://pagure.io/koji/pull-request/4115 + +Further unification of timestamp/timezone usage. + +**RetryError is subclass of AuthError** + +| PR: https://pagure.io/koji/pull-request/4117 + +Small fix for unreachable code. + +**Provide tag data in policy_data_from_task_args** + +| PR: https://pagure.io/koji/pull-request/4121 + +More data available for policy tests. + + +Builder Changes +--------------- + +**Use dnf5-compatible "group install" command** + +| PR: https://pagure.io/koji/pull-request/3974 + +Dnf5 dropped support for ``group install`` command so, we've made a dnf4/5 +compatible changes. + +**Split out buildroot log watching logic** + +| PR: https://pagure.io/koji/pull-request/4023 + +Rewritten code for handling mock's logs. It now allows to fetch more logs than +before. + +**Update getNextTask for scheduler** + +| PR: https://pagure.io/koji/pull-request/4044 + +Followup work after introducing new scheduler. Mostly builder code +simplification. + +**Log if a restart is pending** + +| PR: https://pagure.io/koji/pull-request/4076 + +Builder is more verbose about this situation. + +**Refuse image tasks when required deps are missing** + +| PR: https://pagure.io/koji/pull-request/4083 + +If image-supporting libraries are not present on builder it will decline the +image tasks without trying them, so they'll not fail. + +**Don't ignore files in uploadFile** + +| PR: https://pagure.io/koji/pull-request/4093 + +Empty files were ignored before. Now we upload also these. + +Kojira +------ + +**Kojira on demand** + +| PR: https://pagure.io/koji/pull-request/4033 +| PR: https://pagure.io/koji/pull-request/4127 + +Massive overwrite of repo regeneration. Previously, kojira was in charge of +regenerating everything what is out of date. It could have been thousands of +repos which will be never used. We've moved to on-demand behaviour drastically +limiting number of ``newRepo`` tasks. + +Full description of behaviour change is at :doc:`../repo_generation`. + +Web UI +------ + +**Show only active channels at clusterhealth** + +| PR: https://pagure.io/koji/pull-request/4011 + +Simplification of web ui. + +**Drop part of code related to host without update_ts** + +| PR: https://pagure.io/koji/pull-request/4086 + + +Plugins +------- + +SCMPolicy +......... +| PR: https://pagure.io/koji/pull-request/3969 + +New policy plugin which can decide if build can proceed with data based on SCM +checkout results. Typical usecase would be checking that commit beeing built is +present on some explicit branch. + +Kiwi +.... +**Generate full logs with debug information** + +| PR: https://pagure.io/koji/pull-request/4046 + +Uploading additional logs for easier kiwi debugging. + +**Only add buildroot repo if user repositories are not defined** + +| PR: https://pagure.io/koji/pull-request/4063 + +We've changed default behaviour that kiwi has access to buildroot repo. Now it +must be explicitly specified via ``--buildroot-repo`` option. + + +**Add support for overriding image type attributes** + +| PR: https://pagure.io/koji/pull-request/4156 +| PR: https://pagure.io/koji/pull-request/4181 + +CLI option ``--set-type-attr`` for kiwi. For possible values look at `kiwi docs +`_. + +**Add support for overriding kiwi image file name format** + +| PR: https://pagure.io/koji/pull-request/4157 + +CLI option ``--bundle-format`` for kiwi. For possible values look at `kiwi docs +`_. + + +**Add support for overriding version and releasever** + +| PR: https://pagure.io/koji/pull-request/4184 + +``--version`` and ``--repo-releasever`` CLI options for overriding these in the +resulting image. + +Devtools and tests +------------------ + +**Updates for various tests** + +| PR: https://pagure.io/koji/pull-request/4068 +| PR: https://pagure.io/koji/pull-request/4082 +| PR: https://pagure.io/koji/pull-request/4087 +| PR: https://pagure.io/koji/pull-request/4110 +| PR: https://pagure.io/koji/pull-request/4111 +| PR: https://pagure.io/koji/pull-request/4118 +| PR: https://pagure.io/koji/pull-request/4132 +| PR: https://pagure.io/koji/pull-request/4133 +| PR: https://pagure.io/koji/pull-request/4158 +| PR: https://pagure.io/koji/pull-request/4186 + +**setup.py: Fix version retrieval on Python 3.13+** + +| PR: https://pagure.io/koji/pull-request/4100 + +**make clean - more files** + +| PR: https://pagure.io/koji/pull-request/4103 + + +Documentation +------------- + +**Mock's configuration** + +| PR: https://pagure.io/koji/pull-request/4025 + +**Add external koji dev environments' links** + +| PR: https://pagure.io/koji/pull-request/4104 + +**Drop unused auth options** + +| PR: https://pagure.io/koji/pull-request/4107 + +Dropping some older options from example configuration files and documentation. diff --git a/docs/source/repo_generation.rst b/docs/source/repo_generation.rst index e848edd..f9beb05 100644 --- a/docs/source/repo_generation.rst +++ b/docs/source/repo_generation.rst @@ -1,4 +1,3 @@ - Repo Generation =============== diff --git a/koji.spec b/koji.spec index a18a912..16b7f81 100644 --- a/koji.spec +++ b/koji.spec @@ -83,7 +83,7 @@ %define release %{baserelease} %endif Name: koji -Version: 1.34.1 +Version: 1.35.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+ @@ -651,6 +651,63 @@ rm -rf $RPM_BUILD_ROOT %endif %changelog +* Fri Aug 16 2024 Tomas Kopecek - 1.35.0-1 +- PR#3891: Don't try to resolve server version for old hubs +- PR#3912: anonymous getGroupMembers and getUserGroups +- PR#3944: Backup signature headers in delete_rpm_sig +- PR#3953: Stop lowercasing the policy failure reason +- PR#3969: New scmpolicy plugin +- PR#3970: Add CLI with users with given permission +- PR#3974: Use dnf5-compatible "group install" command +- PR#4000: Fix remove-tag-inheritance with priority +- PR#4008: CLI list-users with filters from listUsers +- PR#4011: Show only active channels at clusterhealth +- PR#4013: let tag.extra override tag arches for noarch +- PR#4023: split out buildroot log watching logic +- PR#4025: docs: mock's configuration +- PR#4026: Better index for rpm lookup +- PR#4033: kojira on demand +- PR#4044: Update getNextTask for scheduler +- PR#4046: kiwi: Generate full logs with debug information +- PR#4051: fixes for list-users +- PR#4060: auto arch refusal for noarch tasks +- PR#4063: kiwi: Only add buildroot repo if user repositories are not defined +- PR#4066: fix errors in channel policy +- PR#4068: Rework mocking of QueryProcessor in DBQueryTestCase +- PR#4073: sort checksums before inserting +- PR#4075: taskinfo CLI and webUI info message why output is not in the list +- PR#4076: log if a restart is pending +- PR#4082: More mocking cleanup +- PR#4083: refuse image tasks when required deps are missing +- PR#4086: Drop part of code related to host without update_ts +- PR#4087: Increase index.py unit tests +- PR#4090: Koji 1.34.1 release notes +- PR#4092: handle volumes when clearing stray build dirs +- PR#4093: don't ignore files in uploadFile +- PR#4095: drop unused DBHandler class +- PR#4097: stop suggesting that users need repo permission +- PR#4100: setup.py: Fix version retrieval on Python 3.13+ +- PR#4103: make clean - more files +- PR#4104: Add external koji dev environments' links +- PR#4107: Drop unused auth options +- PR#4110: DBHandler class dropped from API test +- PR#4111: fix flake8 +- PR#4113: cg import updates +- PR#4115: fix tz mismatch issues with various queries +- PR#4117: RetryError is subclass of AuthError +- PR#4118: basic unit test for kojid main +- PR#4121: Provide tag data in policy_data_from_task_args +- PR#4127: handle cases where there is no event before our ts +- PR#4132: check-api: only warn for external type changes +- PR#4133: more missing tearDowns +- PR#4141: Keep schema upgrade transactional +- PR#4158: Fix asserts in unit tests +- PR#4164: better default handling for getMultiArchInfo +- PR#4181: Fix a typo in the kiwi image type attribute override patch +- PR#4184: kiwi: Add support for overriding version and releasever +- PR#4186: Basic tests for kiwi plugin +- PR#4192: allow None in repoInfo for backwards compat + * Mon May 6 2024 Tomas Kopecek - 1.34.1-1 - PR#3931: web: add some handy links for module builds - PR#3942: policy_data_from_task_args: set target to None when it doesn't exist diff --git a/koji/_version.py b/koji/_version.py index 375e770..bad3f23 100644 --- a/koji/_version.py +++ b/koji/_version.py @@ -1,2 +1,2 @@ -__version_info__ = (1, 34, 1) +__version_info__ = (1, 35, 0) __version__ = '.'.join([str(x) for x in __version_info__])