# Dependency changes

* Bodhi now fully supports Python 3.
* Bodhi now works with markdown 3 and click 7.
* Bodhi no longer requires pyramid_tm.


# 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

* It is now possible to query update by more fields: ```alias```, ```approved-before```,
  ```modified-before```, ```pushed-before```, ```active-releases```, ```severity```, and
  ```submitted-before```, and the fields are documented in the bindings (#181).
* It is now possible to query by update title (#251).
* It is now possible to filter comments, updates, and overrides with multiple users at once
  (#2489).
* The ```bodhi releases``` subcommand now has a ```list``` feature (#2536).
* A new compose state was added for waiting on the mirrors to sync updated repositories
  (#2550).
* A new server CLI script called ```bodhi-sar``` has been added to retrieve personally identifiable
  information from Bodhi (#2553).
* The ```waive``` subcommand is now documented in the ```bodhi``` man page (#2610).
* ```bodhi-push``` now has a ```--yes/-y``` flag (#2635).
* The ```composes``` and ```releases``` subcommands are now documented in the ```bodhi``` man page
  (#2642).
* The composer now logs more information when items are missing from the generated ```repomd.xml```
  file (#2643).
* The comment submit button now renders more clearly on some browsers (#2649).
* Bodhi is now able to determine container repository names from Koji metadata, instead of
  hard coding it (#2658).
* The ```bodhi``` CLI's pagination features are now documented (#2663).
* There is now a ```bodhi composes info``` subcommand (#2683).


# Bug fixes

* Bodhi now disallows empty comments (#2009).
* ```bodhi-check-policies``` now sets up a log handler to silence warnings (#2156).
* The ```test_gating_status``` is now set back to waiting when updates are waived (#2364).
* Bugzilla permission errors should not cause error e-mails to be sent anymore (#2431).
* The waive button is now only displayed if there are failed tests to waive (#2545).
* Correctly handle unicode characters in update notes in the CLI (#2546).
* The test waiver dialog now shows the test case name (#2571).
* Examples were corrected in the ```bodhi``` CLI help text and man page
  (#2640 and #2641).
* The new update web form received a number of improvements and bug fixes. Builds and bugs lists are
  refreshed every time a new package is selected in the input field. Manual added bugs and builds
  are not added to the lists if they are already present after having been retrieved from package
  selection. When an error in AJAX query occurs it is now displayed as an error message. AJAX
  queries now have a timeout. And we now avoid form submit when pressing Enter while entering text
  in the package text input field (#2648).
* A misleading composer log entry was corrected (#2667).
* An incorrect error message was corrected (#2703).


# Development improvements

* Bodhi's CI job now reports each test as an individual GitHub status line, which makes it much
  easier to identify the cause of test failures when they occur (#2584).
* Due to the above, Mergify is now configured to only enforce passing tests on branched releases,
  since Rawhide failures are often not due to pull request patches (#2594).
* Use update.get_url() to generate comments URL (#2596).
* Unnecessary repetition was removed from the ```BugTracker``` class (#2607).
* A typo was fixed in the docstring of ```Bugzilla.get_url()``` (#2608).
* CI now uses the Jenkins Pipeline plugin, which allows us to run the CI jobs much more efficiently,
  and only requires a single node to parallelize the tasks (#2609).
* A new development tool, ```devel/ci/bodhi-ci```, was created to replace ```devel/run_tests.sh```
  as the CI test running tool. It is designed to be useful to developers for running the CI suite
  locally, and has help text to guide you in usage (#2616).
* Do not expose the Duffy key in CI logs (#2617).
* Use markdown's Extension API to register FFMarkdown instead of an undocumented internal API. This
  allows Bodhi to work with markdown-3.0.0 (#2618).
* Explicitly name the skopeo-lite src/dest_creds parameters. Also fix two unit tests for
  click-7.0.0. This allows Bodhi to work with click-7.0.0 (#2621).
* Some docstrings were corrected (#2680, #2682, and #2689).
* Upgraded to Mergify 2 (#2686).
* Bodhi's tests now run about 40% faster (#2687).


# Contributors

The following developers contributed to Bodhi 3.11.0:

* Mattia Verga
* Owen W. Taylor
* Patrick Uiterwijk
* Ryan Lerch
* Sebastian Wojciechowski
* sedrubal
* Randy Barlow
