Koji 1.29.0 Release notes ========================= All changes can be found in `the roadmap `_. Most important changes are listed here. Migrating from Koji 1.28/1.28.1 ------------------------------- For details on migrating see :doc:`../migrations/migrating_to_1.29` Security Fixes -------------- None Client Changes -------------- **Retry gssapi_login if it makes sense** | PR: https://pagure.io/koji/pull-request/3248 Only place in CLI where we did not retried when server was inaccessible was rewriteen to retry in some cases when there is an expecetation that it could work. **Fix more users in userinfo** | PR: https://pagure.io/koji/pull-request/3325 Userinfo regressions - it now correctly list information for all users specified on command line. **Allow untag-build for blocked packages** | PR: https://pagure.io/koji/pull-request/3255 When package is blocked in the tag but there was already some build for that package, CLI refused to untag it. It is now fixed. API Changes ----------- **Remove taskReport API call** | PR: https://pagure.io/koji/pull-request/3237 **Add strict option to getRPMHeaders** | PR: https://pagure.io/koji/pull-request/3256 Similarly to other stricts it will raise an error if rpm doesn't exist. Empty dictionary was returned instead which was indistunguishable with missing requested key in existing RPM. This behaviour is still available with ``strict=False``. **Add extra of builds to listTagged call result** | PR: https://pagure.io/koji/pull-request/3282 Pattern of ``listTagged`` followed by multicall of ``getBuild`` is used often, so we decided to put missing info (``extra`` field) directly into ``listTagged`` so only one call is required now. **Add as_string option to showOpts for raw string or dict output** | PR: https://pagure.io/koji/pull-request/3313 | PR: https://pagure.io/koji/pull-request/3349 Usable for koji administration - additional format for getting current configuration in machine-readable format. ``as_string=True`` reflects old behaviour. Builder Changes --------------- **Check ccache size before trying to use it** | PR: https://pagure.io/koji/pull-request/3234 Machine restart could cause failing authentication for the builder as ccache file is not properly deleted. **call git rev-parse before chowning source directory** | PR: https://pagure.io/koji/pull-request/3355 Newer git (2.35.2) fixed long-standing git security issue but we needed to adapt our code as a result. System Changes -------------- **Remove koji.listFaults** | PR: https://pagure.io/koji/pull-request/3238 This method was not used anywhere in koji code and could complicate future exception redesign, so we've removed it. **Add log file for match_rpm warnings in cg_import** | PR: https://pagure.io/koji/pull-request/3257 CG import was writing errors to hub logs when rpm were not found in koji. As it could be a problem in some workflows, we've added more visibility by uploading separate log to the imported build which lists these errors. **Return 400 codes when client fails to send a full request** | PR: https://pagure.io/koji/pull-request/3269 Changing to errcode instead of exception will allow client to retry it. So, another type of network problems can be handled more transparently. **Weak dep on httpd.service for kojid/ra - koji** | PR: https://pagure.io/koji/pull-request/3277 In case more services are running on same node (e.g. hub + kojira) this change will trigger ``kojid``/``kojira`` after hub is running resulting in no initial errors due to inaccessible hub. **Log content-length when we get an error reading request** | PR: https://pagure.io/koji/pull-request/3289 Additional logging information for unstable networks. **Hub, plugins and tools inputs validation** | PR: https://pagure.io/koji/pull-request/3318 Internal changes improving security via better input handling. **Add admin check when priority has negative value in wrapperRPM** | PR: https://pagure.io/koji/pull-request/3321 | PR: https://pagure.io/koji/pull-request/3347 It was a bug present in the code, where ``wrapperRPM`` s could have been set to negative priority even by their owners. Negative priorities are reserved just for admins. **Permit forcing releasever/arch within mock per tag** | PR: https://pagure.io/koji/pull-request/3358 Mock's ``forcearch`` and ``relver`` options are now accesible via tag extras. Web --- **Add free task for admin** | PR: https://pagure.io/koji/pull-request/3272 In addition to cancelling task, admin now has also "free" button available. **Add blocked option to packages page** | PR: https://pagure.io/koji/pull-request/3334 | PR: https://pagure.io/koji/pull-request/3329 New filter to see blocked packages in webui. **Display load/capacity at hosts page** | PR: https://pagure.io/koji/pull-request/3346 It is sometimes useful to see these values there. Plugins ------- **Adding Driver Update Disk building support** | PR: https://pagure.io/koji/pull-request/3217 Previously Driver Update Disks were done by custom scripts or by `ddiskit `_. Now it can be done in koji, so it benefits from auditability, etc. **koji-sidetag-cleanup: delete inactive tags** | PR: https://pagure.io/koji/pull-request/3294 New cleanup option allow to delete sidetags which are no longer active (no new builds are tagged there). **Add tag2distrepo plugin to hub** | PR: https://pagure.io/koji/pull-request/3326 Plugin will trigger ``distrepo`` tasks for configured tags when a new build arrives. **Fix age to max_age in protonmsg** | PR: https://pagure.io/koji/pull-request/3344 Incoherent naming in documentation and code is now unified. Documentation ------------- **Clarify rpm imports** | PR: https://pagure.io/koji/pull-request/3301 **Better description for kiwi channel requirements** | PR: https://pagure.io/koji/pull-request/3331 **Winbuild documentation updates** | PR: https://pagure.io/koji/pull-request/3333 **Document "list-signed" requires filesystem access** | PR: https://pagure.io/koji/pull-request/3342