Release notes¶
v5.3.0¶
This is a minor release.
Dependency changes¶
Splitted handle_update task into two celery tasks for bugs and testcases. These two new tasks will make use of Celery’s autoretry_for and retry_backoff features to circumvent external services connection problems. retry_backoff needs Celery >= 4.2 (PR#3989).
Features¶
Associate bugs mentioned in rpm changelog to automatically created Rawhide updates; the bugs mentioned with the format fix(es)|close(s) (fedora|epel|rh|rhbz)#BUG_ID will be associated to the update and automatically closed (#3925).
Bug fixes¶
Use jquery-typeahead for bodhi searchbar and always show the input field (#1455).
Reset update.date_testing when editing builds (#3493).
Removed pending_testing tag when self.request is still in UpdateRequest.testing (#3944).
Fix the broken privacy policy link for update’s comment box. (#3971).
Do not bound the database session created using TransactionalSessionMaker class to the object created. Since threads are sharing the memory binding to the session object, it makes it possible for threads to override a previous session leading to unexpected behaviours. (#3979).
Editing builds in an update should not remove override tags (#3988).
Make Test Cases look clickable. (#4003).
If an update include no builds, use alias as title (#4012).
Development improvements¶
Revise display for update’s settings
Showed a ‘stable by karma: disabled’ and a ‘stable by time: disabled’ in the UI when appropriate. Also added a ‘Autotime: <Bool>’ to the CLI output. (#3957).
Avoid using a database session in the tag_update_builds_task. (#3981).
Avoid using a database session in the handle side tag task. (#3983).
Ignore celery task’s results we don’t use. (#3995).
Documentation improvements¶
Reference the state that happens when an update is revoked (#2902).
Document the full set of bug trackers that can be reference in Bodhi’s markdown. Also added a section to Bodhi’s Sphinx docs about Bodhi markdown, and listed the bug trackers there as well. (#3209).
Add information to Bodhi docs that Bodhi has frozen release state (#3505).
Contributors¶
The following developers contributed to this release of Bodhi:
Clement Verna
Karma Dolkar
Mattia Verga
Richard O. Gregory
Tomas Kopecek
v5.2.2¶
This is a bugfix release.
v5.2.1¶
This is a bugfix release.
v5.2.0¶
This is a feature and bugfix release.
Features¶
Added __current__, __pending__ and __archived__ macro filters to quickly filter Updates by Release status (PR#3892).
Added search filtering capabilities to the Overrides page (PR#3903).
Output the update install command into the bugs comments. Also change the stable_bug_msg and testing_bug_msg settings format to use placeholders in place of %s: if you have customized these settings you will need to adjust them to the new format. Here it is the list of the available placeholders: {update_title}, {update_beauty_title}, {update_alias}, {repo}, {install_instructions}, {update_url} (#740).
Tag builds for updates asynchronously using Celery tasks. (#3061).
Add a Liveness and Readyness endpoints for OpenShift probes. (#3854).
Allow revoking the push to stable action (#3921).
Bug fixes¶
Place 404 Not Found in the middle of the website (PR#3835).
RPM changelog was not automatically added in the notes for Rawhide updates as expected (PR#3931).
Add back the ability to add abitairy text as a build. (#3707, #3765).
Allow to comment on update that were pushed to stable. (#3748).
Make comments submission to use common code with other forms and avoid clearing the spinner until the page refreshes (#3837).
Try to avoid timeout error when requesting latest_candidates with hide_existing=true (#3841).
Allow task id to be null in the bodhi.update.status.testing message schema. (#3852).
Sent UpdateReadyForTestingV1 only for rpm (#3855).
Prevent whitespaces string to be set as display name of an update (#3877).
Fixed pagination issue when using multiple values for the same filter (#3885).
Make sure we send the fedora-messaging messages before trigerring a celery task. (#3904).
Prevent updates from sidetags being stuck in Testing (#3912).
Do not allow to push back to testing a stable update (#3936).
Development improvements¶
Other changes¶
Use Celery Beat instead of cron jobs. The corresponding CLIs have been adjusted to trigger the task. They will still block until the task is done, but it may not be running on the host that the CLI was called on. The affected CLIs are:
bodhi-clean-old-composes
,bodhi-expire-overrides
,bodhi-approve-testing
, andbodhi-check-policies
(#2867).
Contributors¶
The following developers contributed to this release of Bodhi:
Adam Saleh
Aurélien Bompard
Adam Williamson
Clement Verna
Eli Young
Karma Dolkar
Mattia Verga
Michal Konečný
Nils Philippsen
Pierre-Yves Chibon
Elliott Sales de Andrade
Richard O. Gregory
Rick Elrod
Ryan Lerch
Stephen Coady
subhamkrai
Sebastian Wojciechowski
v5.1.1¶
This is a bugfix release.
Bug fixes¶
Fix the Fedora Messaging exception caught for publish backoff (PR#3871).
Only pass scalar arguments to celery tasks to avoid lingering database transactions (PR#3902).
Fix bug title escaping to prevent a JS crash while editing updates (#3714).
Fix potential race condition with the celery worker accessing an update before the web request was commited. (#3858).
Contributors¶
The following developers contributed to this release of Bodhi:
Aurélien Bompard
Clement Verna
Mattia Verga
v5.1.0¶
This is a feature and bugfix release.
Features¶
Bug fixes¶
Fix BuildrootOverrides editing/expiring from the UI (#3710).
Fix the traceback when builds are being signed without being included in an update (#3720).
Increase the size of the update alias column (#3779).
Fix JS error when removing a bug from the list in the update form (PR#3796).
Disable warnings when adding Security Response bugs to an update (#3789).
Manage single build update conflicting builds. (#3828).
Contributors¶
The following developers contributed to this release of Bodhi:
Aurélien Bompard
Clement Verna
Mattia Verga
Pierre-Yves Chibon
Rick Elrod
Ryan Lerch
v5.0.0¶
This is a major release with many backwards incompatible changes.
Backwards incompatible changes¶
Celery is introduced to handle the long-running tasks (#2851).
Fedmenu was removed from the UI (#2194).
Remove deprecated
search_packages
path (PR#3411).Remove
critpath_karma
from the UI (#2194).Remove unused and incorrect
server.bugs.Bugzilla.get_url()
function.Print errors to stderr in command line tools.
Server upgrade instructions¶
This release contains database migrations. To apply them, run:
$ sudo -u apache /usr/bin/alembic -c /etc/bodhi/alembic.ini upgrade head
Features¶
Update fedora-bootstrap to latest 1.5.0.
Add ctype to the ComposeComplete (#3297).
Add knowledge of branch freezes to the Release model (#1038, #1563).
API: Create/edit updates from Koji tags (#3009).
Add javascript confirmation for unpushing updates.
Use versioned dir name for static files.
Improve the performance of validate_build_uniqueness.
Add option to create/edit updates side tags to CLI (#2325).
Overhaul the new update form.
Mark updates not composed by bodhi as pushed when stable.
Allow multiple status params for update list views (#3429).
Send a message when an update is ready to be tested (#3428).
Create additional side tags on multi build tag (#3473).
Create comment when CI tests starts, but don’t send an email (#3403).
Add support for creating sidetag updates to webui.
Create a Dashboard for logged in users.
Clean up Javascript, CSS and fonts.
Add a new config item,
automatic_updates_blacklist
, which is a list of users to not process auto updates from.Document what the update states mean for rawhide.
Add a filtering/searching interface to the updates query view.
Add the list of packages in the update description to rss feed.
Transform markdown code to html for better readability of the rss feed.
Add frozen release state to bodhi releases list.
Add API call to retrigger update tests.
Tidy up the UI.
Add –user and –password to all actions of the bodhi CLI supporting –openid-api (for example: waive and trigger) (PR#3550).
Update ChartJS package and redesign Release page (PR#3671).
Automatically created updates (e.g. Fedora Rawhide single package updates) now include a changelog entry in the update notes. (#3192).
Move multi build update that failed to merge in rawhide to pending. (#3514).
Bug fixes¶
Handle connection problems when talking to Wiki (#3361).
Make Bodhi able to clear models.Release._all_releases cache (#2177).
Query Greenwave in batches to avoid timeouts.
Template, js and style fixes.
Allow to configure a release without an override tag (#3447).
Determine a release for sidetag updates (#3480).
Change update status to testing if every build is signed (#3475).
Delete additional tags once an side tag update was pushed to stable (#3476).
Turn off autokarma and autotime for automatic updates (#3424).
Make
display_name
optional in template (#3470).Sign new builds to
<sidetag>-pending-signing
(#3485).Allow only 1 update per side tag (#3484).
Disable comments on updates when update is pushed and stable (#2050).
Unify rawhide simple build update with multi build update (#3513).
Prevent crash when compose contains update without builds (#3471).
Added build.update.pushed = True for the signed consumer so that it can be unpushed. (#3625).
Development improvements¶
Rename bteststyle to blint.
Update developer documentation.
Run mypy directly in Vagrant (#3335).
More type annotations.
Add WaiverDB and Greenwave to development environment (#3011).
Provide authentication in the integration testing environment.
Make it easier to develop using VS Code.
Add option to vagrant provisioning to use stg infra.
Introduction of Towncrier to manage the release notes (#3562).
Contributors¶
The following developers contributed to Bodhi 5.0.0:
Anatoli Babenia
Aurélien Bompard
Randy Barlow
Clement Verna
David Fan
dimitraz
Lukas Holecek
Mattia Verga
Michal Konečný
Nils Philippsen
Ondrej Nosek
Pierre-Yves Chibon
Rick Elrod
Ryan Lerch
Robert Scheck
Rob Shelly
Sam Robbins
Stephen Coady
siddharthvipul
subhamkrai
Sebastian Wojciechowski
v4.1.0¶
This is a feature release that adds single-package gating.
Server upgrade instructions¶
This release contains database migrations. To apply them, run:
$ sudo -u apache /usr/bin/alembic -c /etc/bodhi/alembic.ini upgrade head
Features¶
Add autopush and stable_days to an update. When
autopush
is true, the approve_testing cronjob will push the update to stable if it has meet the testing requirements (stable_days
).stable_days
cannot be smaller than the releasemandatory_days_in_testing
(#2978).Add a login reminder for posting feedback.
Add
package_manager
enum andtesting_repository
string to Release model. No default is provided, so if one wants Bodhi to display the install command for an update, they need to manually edit the existing releases after the database migration.Add a Greenwave message consumer to update the
test_gating_status
value.Add the flatpak releases to the greenwave config.
Automatically create Rawhide updates in
testing
state.
Bug fixes¶
Log permanent failures for debugging. Previously, exceptions were raised which caused the affected messages to be placed back into the queue (#3306).
Fix downloading packages for updates with multiple builds.
Verify the correct number of received items in the client.
Do not ask for original_spec_nvr results from greenwave. This will have for effect to improve the performance of bodhi’s requests to greenwave.
Bodhi will now retry for up to 10 minutes if it receives
koji.AuthError
(#1201).Don’t raise Exception on non-existing composes (#3318).
Correct grammar on a comment that Bodhi writes.
Log unsuccessful attempt to set request as INFO (#3293).
Use update.alias instead of update.title in updates rss link.
Make sure
%{uid}
in krb ccache gets replaced with the effective UID.Create composes based on update’s alias in bodhi-push (#3160).
User should be able to set
Update.display_name
(#1369).Make
meets_testing_requirements()
comply with policy (#1307, #1508, #1796, #3282).Order builds by nvr in all places so the ordering is always consistent.
Development improvements¶
Leave the global log level in peace when testing.
Update the Developer documentation
Disable
warm_cache_on_start
in unittest (#3311).Use flake8-import-order to enforce PEP-8 imports.
Contributors¶
The following developers contributed to Bodhi 4.1.0:
Aurélien Bompard
Clement Verna
Mattia Verga
Michal Konečný
Nils Philippsen
Patrick Uiterwijk
Pierre-Yves Chibon
Randy Barlow
Sebastian Wojciechowski
Troy Dawson
v4.0.2¶
This is a bugfix release.
v4.0.0¶
This is a major release with many backwards incompatible changes.
Backwards incompatible changes¶
Values NULL and 0 are not allowed in update’s stable_karma and unstable_karma (#1029).
Updates no longer have a
title
attribute. This affects many elements of Bodhi’s REST API, including URLs (update titles can no longer be used to reference updates, only aliases), REST API data structures, and Bodhi’s messages (#186, #1542, #1714, and #1946).The
prefer_ssl
setting has been renamed tolibravatar_prefer_tls
and now defaults toTrue
instead ofNone
(#1921).Integration with pkgdb is no longer supported (#1970).
The
/admin/
API has been removed (#1985).The relationship between Packages and Users was dropped. As a result, the
packages
parameter in users query API has also been removed (#1997).Support for CVE tracking was dropped. It was technically not possible to use the feature, so it is unlikely to affect any deployments (#1998).
The
processing
update status has been removed (#1999).The
/masher
API has been removed (#2024).Default sqlalchemy.url setting points to PostgreSQL instead of SQLite (#2040).
The
Masher
was renamed toComposer
. As a result, thebodhi-clean-old-mashes
script was renamed tobodhi-clean-old-composes
, notification topicsmashtask.start
,mashtask.mashing
,mashtask.complete
,mashtask.sync.wait
andmashtask.sync.done
was renamed tocompose.start
,compose.composing
,compose.complete
,compose.sync.wait
andcompose.sync.done
, configuration settingsmash_dir
,mash_stage_dir
andmax_concurrent_mashes
was renamed tocompose_dir
,compose_stage_dir
andmax_concurrent_composes
(#2151).The
bodhi-monitor-composes
script has been removed (#2171).The stacks feature has been removed (#2241).
The
bodhi-manage-releases
script has been removed (#2420).Support for anonymous comments was dropped. As a result, the
anonymous
field on the Comment object was removed and comments query API parameteranonymous
was dropped. Allcaptcha.*
settings were removed (#2700).Bodhi client and server no longer support Python 2. Python 3.6+ are the only supported Python releases (#2759).
Support for the
ci_url
on theBuild
object was dropped (#2782).Support for
active_releases
parameter in updates query API was dropped (#2815).Support for fedmsg has been dropped (#2838).
The
/updates/ALIAS/TITLE
API has been removed (#2869).Support for update’s old_updateid was dropped (#2903).
The UI no longer has fedmsg integrations to show events happening elsewhere in Bodhi (#2913).
Support for update’s greenwave_unsatisfied_requirements was dropped (#2958).
The batching feature was dropped, and thus updates can no longer be in the batched request state. As a result, the bodhi-dequeue-stable CLI has also been removed (#2977).
Support for obsolete scripts in
tools
folder was dropped (#2980).Support for update’s greenwave_summary_string has been dropped (#1339 and #2988).
Bug objects no longer include a
private
field (#3016).The CLI now defaults to the
--wait
flag when creating or editing buildroot overrides. The old behavior can be achieved with the--no-wait
flag (#3006).All messages and API responses that serialize updates no longer have a
submitter
field. This was redundant with the includeduser.name
field, and was only in place for compatibility with Bodhi 1 which was EOL many years ago (#3144).All of Bodhi’s fedmsgs have been changed. A new bodhi.messages packages has been added with new published message schemas. Note that only the fields listed in the documented schemas are supported in Bodhi 4, even though Bodhi still sends messages similar to the messages it sent in the past. Message consumers should not rely on any undocumented fields in these messages. If you need information that is not included in the supported schema, please work with the Bodhi project to get the schema adjusted accordingly. Bodhi’s messages are now documented in Bodhi Server APIs.
The
fedmsg_enabled
setting was removed, since fedmsg is not used anymore.
Dependency changes¶
pkgdb is no longer required (#1970).
cryptography is no longer required (#2700).
Fonts are no longer required for the captcha (Bodhi previously defaulted to using liberation-mono-fonts, but this wasn’t a strict requirement since the font was configurable) (#2700).
pillow is no longer required (#2700).
six is no longer required for the client or server (#2759).
bodhi-server
now depends onbodhi-messages
.kitchen is no longer required (#3094).
hawkey is no longer required.
PyYAML is now a required dependency (#3174).
Bodhi now requires Python 3.6 or greater (#2856).
Bodhi no longer uses or works with
fedmsg
.Backoff is now a required dependency (#3237).
Server upgrade instructions¶
The Bodhi server must be upgraded from Bodhi 3.13.0 or newer to 4.0.0 (i.e., it is not supported to upgrade a server older than 3.13.0 directly to 4.0.0 as 4.0.0 has trimmed database migrations from the older releases.
This release contains database migrations. To apply them, run:
$ sudo -u apache /usr/bin/alembic -c /etc/bodhi/alembic.ini upgrade head
Features¶
Bodhi now provides a
RateLimiter
log filter and documents how to use it. Together withpyramid_sawing
it is now possible to get rate limited e-mail tracebacks from the web server (#969).All updates in a release are set to obsolete status when the release is archived (#2204).
Bodhi will now comment on updates when their test gating status changes (#2210).
bodhi-push
now blocks composing retired releases (#2555).A new
bodhi.messages
Python package has been added as a convenience for Python consumers who wish to subscribe to Bodhi’s messages (#2842).Bodhi can now create zchunked
updateinfo.xml
files (#2904).The server has a new
warm_cache_on_start
setting, defaulting toTrue
. It is mostly useful when developing Bodhi and controls whether the Bodhi initialization should build caches or not (#2942).The compose states are now documented (#2974).
Added a database index on
build.update_id
, which sped up some common queries (#3038).Log messages are emitted when buildroot overrides are expired to explain why they were expired (#3060).
A missing database index was discovered on
comments.update_id
. Adding it improved performance of a common query by about 99.7% and as a result many Bodhi operations are much faster now, including update retrieval in the API, CLI, and web UI (#3062 and #3201).The CLI now allows users to add and remove builds from updates with
--addbuilds
and--removebuilds
flags (#3125).Users can now use markdown to easily reference GCC and Sourceware tickets (#3129).
A new log message is emitted when an update is blocked due to test gating (#3143).
The CLI can now download debuginfo with the new
--debuginfo
flag (#3148).
Bug fixes¶
Since the
active_releases
query parameter was dropped, an issue causing strange pagination results is no longer present (#2316).Waiver details are now displayed in the web UI (#2365).
The JavaScript will no longer crash when run in Fedora’s staging environment (#2523).
Fixed a crash in Bodhi’s error handler (#2588).
Fixed a crash on the HTML rendering of
/composes/
when composes were in a particular state (#2826).Correctly handle
ConnectionResetError
in the Composer (#2850).The CLI’s composes info subcommand is now documented in its man page (#2927).
The
mail.templates_basepath
setting is now documented (#2931).Fixed pipeline results showing with heading ‘undefined’ (#2969).
Compare enum values instead of descriptions (#3012 and #3119).
The
bodhi-approve-testing
script is a lot less chatty (#3021).Bodhi’s API can now serialize internal server errors as JSON so that the clients can properly display error messages (#3035).
The
--composed-by-bodhi
flag is now documented in thebodhi
man page (#3085).A variety of spelling and grammatical errors were fixed (#3131).
Bodhi’s markdown now uses TLS for links to pear in its markdown (#3173).
Stop using an API that
dnf
removed (#3198).Do not crash on invalid RSS requests (#3227).
Development improvements¶
Removed flash_log, since it didn’t make sense (#1165).
Removed some useless assert statements (#1200, #2848, and #2888).
An unused enum value was removed (#1999).
The integration tests now run against all supported Fedora releases (#2824).
Bodhi’s release process is now documented (#2918).
met_testing_requirements()
got a much needed rename and refactor (#3158).The Vagrant box now uses the same number of CPUs as the host (#3197).
Numerous docblock corrections and improvements.
Introduced type annotation to a few modules and added CI enforcement on them with
mypy
.Numerous improvements have been made to Bodhi’s CI tests, including expanded test coverage.
The Vagrant environment now uses unsafe IO for a small speed boost.
The integration tests run more efficiently now.
Contributors¶
The following developers contributed to Bodhi 4.0.0:
Adam Williamson
Anatoli Babenia
Aurélien Bompard
Clement Verna
Jeremy Cline
Jonathan Dieter
Josh Soref
Mattia Verga
Miro Hrončok
Nils Philippsen
Owen W. Taylor
Patrick Uiterwijk
Sebastian Wojciechowski
Troy Dawson
Randy Barlow