Release notes for Gerrit 2.2.2.1
================================

Gerrit 2.2.2.1 is now available:

link:https://www.gerritcodereview.com/download/gerrit-2.2.2.1.war[https://www.gerritcodereview.com/download/gerrit-2.2.2.1.war]


There are no schema changes from 2.2.2.  However, if upgrading from
anything but 2.2.2, follow the upgrade procedure in the 2.2.2
link:ReleaseNotes-2.2.2.html[ReleaseNotes].


Bug Fixes
---------
* issue 1139 Fix change state in patch set approval if reviewer is added to
closed change
+
For the dummy patch set approval that is created when a reviewer is
added the cached change state is always open, which is incorrect if a
reviewer is added to a closed change. As a result the closed change will
appear in the reviewers dashboard in the 'Review Requests' section and will
stay there forever.  Ensure the correct change state is cached in the dummy
patch set approval when it is created.

* issue 1171 Fix ownerin and reviewerin searches
+
Update the ownerin and reviewerin searches to use AccountGroup.UUID as
required by commit e662fb3d4d7d0ad05791b8d2143ac5ce58117335.

* issue 871 Display hash of the cherry-pick merge in comment
+
After merging a change via cherry-pick, we add the commit's
hash to the comment. This was accidentally removed in
commit 14246de3c0f81c06bba8d4530e6bf00e918c11b0


Documentation
-------------
* Update top level SUBMITTING_PATCHES
+
This document is out of date, the URLs are from last August.
Direct readers to the new server.

* Add contributing guideline document

* Documentation: update version references for 2.2.2
+
Correct wording and instructions to be sure they match what would
be observed with the indicated version of gerrit.
Expand instructions when needed to ensure all commands could be
executed and were successful.
Indent commands and output based on a run of the instructions
