Releases: fedora-infra/bodhi
Bodhi 3.2.0 released
Bodhi 3.1.0 released
Special instructions
- The Alembic configuration file has changed to use the Python path of the migrations.
In order to run the new migrations, you should ensure your alembic.ini has
script_location = bodhi:server/migrations
.
Dependency changes
- The client formally depends on
iniparse
now. It needed this before but the dependency was
undocumented (ddf47eb). - Bodhi no longer uses or requires
webhelpers
. RSS feeds are now generated byfeedgen
, a new
required dependency. - Bodhi no longer uses or requires
bunch
.
Features
- The CLI now prints a helpful hint about how to use
koji wait-repo
when creating or editing a
buildroot override, or when a query for overrides returns exactly one result (#1376). - Bodhi now uses connection pooling when making API requests to other services (#1753).
- The bindings now conditionally import
dnf
(#1812). - It is now possible to query for Releases by a list of primary keys, by using the querystring
ids
with thereleases/
API. - Builds now serialize their
release_id
field. - It is now possible to configure a maximum number of mash threads that Bodhi will run at once,
which is handy if the new Pungi masher has been mean to your NAS. There is a new
max_concurrent_mashes
setting in production.ini, which defaults to2
. - There is now a man page for
bodhi-clean-old-mashes
. - The documentation was reorganized by type of reader (14e81a8).
- The documentation now uses the Alabaster theme (f15351e).
- The CLI now has a
--arch
flag that can be used when downloading updates to specify which
architecture is desired (6538c9e). - Bodhi's documentation now includes an administration section which includes documentation
on its various settings (310f56d).
#Bugs
- Bodhi now uses the correct comment on critical path updates regarding how many days are required
in testing (#1361). - All home page update types now have mouseover titles (#1620).
- e-mail subjects again include the version of the updates (#1635).
- The bindings will re-attempt authentication upon captcha failures (#1787).
- The formatting is fixed on mobile for the edit/create update form (#1791).
- The "Push to Stable" button is now rendered in the web UI on batched updates (#1907).
- Do not fail the mash if a changelog is malformed (#1989).
bodhi-dequeue-stable
no longer dies if it encounters updates that can't be pushed
stable (#2004).- Unreachable RSS Accept-header based redirects were fixed (6f3db0c).
- Fixed an unsafe default in
bodhi.server.util.call_api()
(9461b3a). - Bodhi now distinguishes between testing and stable when asking Greenwave for gating decisions
(6d907a7). - The CLI now renders the correct URL for updates without aliases (:commit:
caaa0e6e
).
Development improvements
^^^^^^^^^^^^^^^^^^^^^^^^
- The database migrations are now shipped as part of the Python distribution
(#1777 <https://github.com/fedora-infra/bodhi/pull/1777>
_). - The developer docs pertaining to using virtualenvs have been corrected and improved
(:issue:1797
). - The
test_utils.py
tests now use theBaseTestCase
, which allows them to pass when run by
themselves (:issue:1817
). - An obsolete mash check for symlinks was removed (:issue:
1819
). - A mock was moved inside of a test to avoid inter-test dependencies (:issue:
1848
). - Bodhi is now compliant with
flake8
'sE722
check (:issue:1927
). - The JJB YAML file is now tested to ensure it is valid YAML (:#1934).
- Some code has been prepared for Python 3 compatibility (d776356).
- Developers are now required to sign the DCO (34d0ceb).
- There is now formal documentation on how to submit patches to Bodhi (bb20a0e).
- Bodhi is now tested by Fedora containers in the CentOS CI environment (36d603f).
- Bodhi is now tested against dependencies from PyPI (1e8fb65).
- The
development.ini.example
file has been reduced to a minimal form, which means we no longer
need to document the settings in two places (2b7dc4e). - Bodhi now runs CI tests for different PRs in parallel (6427309).
Vagrantfile.example
has been moved todevel/
for tidiness (21ff2e5).- It is now easier to replicate the CI environment locally by using the
devel/run_tests.sh
script. - Many more docblocks have been written across the codebase.
- Line test coverage is now at 93%.
Release contributors
The following developers contributed to Bodhi 3.1.0:
- Alena Volkova
- Aman Sharma
- Caleigh Runge-Hottman
- Dusty Mabe
- František Zatloukal
- Jeremy Cline
- Ken Dreyer
- Lumir Balhar
- Martin Curlej
- Patrick Uiterwijk
- Pierre-Yves Chibon
- Ralph Bean
- Ryan Lerch
- Randy Barlow
Bodhi 2.12.2 released
Bodhi 2.12.1 released
Bugs
- Use separate directories to clone the comps repositories (#1885).
Release contributors
The following developers contributed to Bodhi 2.12.1:
- Patrick Uiterwijk
- Randy Barlow
Bodhi 2.12.0 released
Features
- Bodhi now asks Pagure to expand group membership when Pagure is used for ACLs (#1810).
- Bodhi now displays Atomic CI pipeline results (#1847).
Bugs
- Use generic superclass models where possible (#1793).
Release contributors
The following developers contributed to Bodhi 2.12.0:
- Pierre-Yves Chibon
- Randy Barlow
Bodhi 2.11.0 released
Features
- Bodhi now batches non-urgent updates together for less frequent churn. There is a new
bodhi-dequeue-stable
CLI that is intended be added to cron that looks for batched updates and
moves them to stable
(#1157).
Bugs
- Improved bugtracker linking in markdown input
(#1406). - Don't disable autopush when the update is already requested for stable
(#1570). - There is now a timeout on fetching results from ResultsDB in the backend
(#1597). - Critical path updates now have positive days_to_stable and will only comment about pushing to
stable when appropriate
(#1708).
Development improvements
- More docblocks have been written.
Release contributors
The following developers contributed to Bodhi 2.11.0:
- Caleigh Runge-Hottman
- Ryan Lerch
- Rimsha Khan
- Randy Barlow
Bodhi 2.10.1 released
2.10.1
Bug fixes
- Adjust the Greenwave subject query to include the original NVR of the builds (#1765).
Release contributors
The following developers contributed to Bodhi 2.10.1:
- Ralph Bean
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
Bodhi 2.9.1 released
2.9.1 is a security release for CVE-2017-1002152.
Release contributors
Thanks to Marcel for reporting the issue. Randy Barlow wrote the fix.
Bodhi 2.9.0 released
Features
- It is now possible to set required Taskotron tests with the
--requirements
CLI flag (#1319). - The CLI now has tab completion in bash (#1188).
- Updates that are pending testing now go straight to stable if they reach required karma (#632).
- The automated tests tab now shows a count on info results (1de12f6).
- The UI now displays a spinner while a search is in progress (#436).
- It is now possible to middle click on search results in the web UI (#461).
- Pending releases are now displayed on the home page (#1619).
- Links without an explicit scheme can now be detected as links (#1721).
Bugs
- Wiki test cases are no longer duplicated (#780).
- The server bodhi-manage-releases script now uses the new Bodhi bindings (#1338).
- The server bodhi-manage-releases script now supports the
--url
flag (0181a34). - The
--help
output from the Bodhi CLI is cleaner and more informative (#1457). - The CLI now provides more informative error messages when creating duplicate overrides (#1377).
- E-mail subjects now include build versions again (#1635).
- Taskotron results with the same scenario key are now all displayed (d5b0bfa).
- The front page UI elements now line up (#1659).
- The UI now properly urlencodes search URLs to properly escape characters such as "+" (#1015).
- e-mail addresses are now properly processed by the markdown system (#1656).
Development improvements
- The bundled typeahead JavaScript library is rebased to version 1.1.1 from the maintained
fork at https://github.com/corejavascript/typeahead.js . The main typeahead repo
appears to be unmaintained and contained a bug that we were hitting:
twitter/typeahead.js#1381 - Docblocks were written for several more modules.
- Bodhi now hard depends on rpm instead of conditionally importing it (#1166).
- Bodhi now has CI provided by CentOS that is able to test pull requests. Thanks to Brian Stinson
and CentOS for providing this service to the Bodhi project! - Some ground work has been done in order to enable batched updates, so that medium and low priority
updates can be pushed on a less frequent interval than high priority (security or urgent) updates. - Bodhi now uses py.test as the test runner instead of nose.
- Tox is now used to run the style tests.
- There is now a unified test base class that creates a single TestApp for the tests to use. The
TestApp was the source of a significant memory leak in Bodhi's tests. As a result of this
refactor, Bodhi's tests now consume about 450 MB instead of about 4.5 GB. As a result, the example
Vagrantfile now uses 2 GB of RAM instead of 5 GB. It is likely possible to squeeze it down to 1 GB
or so, if desired. - Bodhi now supports both the bleach 1 and bleach 2 APIs (#1718).
Release contributors
The following developers contributed to Bodhi 2.9.0:
- Ryan Lerch
- Jeremy Cline
- Clement Verna
- Caleigh Runge-Hottman
- Kamil Páral
- Brian Stinson
- Martin Curlej
- Trishna Guha
- Brandon Gray
- Randy Barlow