Bodhi 2.10.0 released
Compatibility changes
This release of Bodhi has a few changes that are technically backward incompatible in some senses, but it was determined that each of these changes are justified without raising Bodhi’s major version, often due to features not working at all or being unused. Justifications for each are given inline.
- dnf and iniparse are now required dependencies for the Python bindings. Justification: Technically, these were needed before for some of the functionality, and the bindings would traceback if that functionality was used without these dependencies being present. With this change, the module will fail to import without them, and they are now formal dependencies.
- Support for EL 5 has been removed in this release. Justification: EL 5 has become end of life.
- The pkgtags feature has been removed. Justification: It did not work correctly and enabling it was devastating (#1634).
- Some bindings code that could log into Koji with TLS certificates was removed. Justification: It was unused (b4474676).
- Bodhi’s short-lived
ci_gating
feature has been removed, in favor of the new Greenwave integration feature. Thus, theci.required
andci.url
settings no longer function in Bodhi. Thebodhi-babysit-ci
utility has also been removed. Justification: The feature was never completed and thus no functionality is lost (#1733).
Features
- There are new search endpoints in the REST API that perform ilike queries to support case insensitive searching. Bodhi’s web interface now uses these endpoints (#997).
- It is now possible to search by update alias in the web interface (#1258).
- Exact matches are now sorted first in search results (#692).
- The CLI now has a
--mine
flag when searching for updates or overrides (#811, #1382). - The CLI now has more search parameters when querying overrides (#1679).
- The new case insensitive search is also used when hitting enter in the search box in the web UI (#870).
- Bodhi is now able to query Pagure for FAS groups for ACL info (f9414601).
- The Python bindings’
candidates()
method now automatically intiializes the username (6e8679b6). - CLI errors are now printed in red text (431b9078).
- The graphs on the metrics page now have mouse hovers to indicate numerical values (#209).
- Bodhi now has support for using Greenwave to gate updates based on test results. See the new
test_gating.required
,test_gating.url
, andgreenwave_api_url
settings inproduction.ini
for details on how to enable it. Note also that this feature introduces a new server CLI tool,bodhi-check-policies
, which is intended to be run via cron on a regular interval. This CLI tool communicates with Greenwave to determine if updates are passing required tests or not (#1733).
Bug fixes
- The autokarma check box’s value now persists when editing updates (#1692, #1482, and #1308).
- The CLI now catches a variety of Exceptions and prints user readable errors instead of tracebacks (#1126, #1626).
- The Python bindings’
get_releases()
method now uses a GET request (#784). - The HTML sanitization code has been refactored, which fixed a couple of issues where Bodhi didn’t correctly escape things like e-mail addresses (#1656, #1721).
- The bindings’ docstring for the
comment()
method was corrected to state that theemail
parameter is used to make anonymous comments, rather than to enable or disable sending of e-mails (#289). - The web interface now links directly to libravatar’s login page instead of POSTing to it (#1674).
- The new/edit update form in the web interface now works with the new typeahead library (#1731).
Development improvements
- Several more modules have been documented with PEP-257 compliant docblocks.
- Several new tests have been added to cover various portions of the code base, and Bodhi now has
89% line test coverage. The goal is to reach 100% line coverage within the next 12 months, and
then begin to work towards 100% branch coverage.
Release contributors
The following developers contributed to Bodhi 2.10.0:
- Ryan Lerch
- Matt Jia
- Matt Prahl
- Jeremy Cline
- Ralph Bean
- Caleigh Runge-Hottman
- Randy Barlow