= Release notes for Gerrit 2.12.2

Gerrit 2.12.2 is now available:

link:https://gerrit-releases.storage.googleapis.com/gerrit-2.12.2.war[
https://gerrit-releases.storage.googleapis.com/gerrit-2.12.2.war]

== Schema Upgrade

*WARNING:* There are no schema changes from link:ReleaseNotes-2.12.1.html[
2.12.1] but a manual schema upgrade is necessary when upgrading from 2.12.

When upgrading a site that is already running version 2.12, the `patch_sets`
table must be manually migrated using the `gerrit gsql` SSH command or the
`gqsl` site program.

For the default H2 database, execute the command:

----
  alter table patch_sets modify push_certficate clob;
----

For MySQL, execute the command:

----
  alter table patch_sets modify push_certficate text;
----

For PostgreSQL, execute the command:

----
  alter table patch_sets alter column push_certficate type text;
----

For other database types, execute the appropriate equivalent command.

Note that the misspelled `push_certficate` is the actual name of the
column.

When upgrading from a version earlier than 2.12, or from 2.12.1 having already
done the migration, this manual step is not necessary and should be omitted.


== Bug Fixes

* Upgrade Apache commons-collections to version 3.2.2.
+
Includes a fix for a link:https://issues.apache.org/jira/browse/COLLECTIONS-580[
remote code execution exploit].

* link:https://code.google.com/p/gerrit/issues/detail?id=3919[Issue 3919]:
Explicitly set parent project to 'All-Projects' when a project is created
without giving the parent.

* Don't add message twice on abandon or restore via ssh review command.
+
When abandoning or reviewing a change via the ssh `review` command, and
providing a message with the `--message` option, the message was added to
the change twice.

* Clear the input box after cancelling add reviewer action.
+
When the action was cancelled, the content of the input box was still
there when opening it again.

* Fix internal server error when aborting ssh command.

* link:https://code.google.com/p/gerrit/issues/detail?id=3969[Issue 3969]:
Fix internal server error when submitting a change with 'Rebase If Necessary'
strategy.
