= Release notes for Gerrit 2.12.4 Gerrit 2.12.4 is now available: link:https://gerrit-releases.storage.googleapis.com/gerrit-2.12.4.war[ https://gerrit-releases.storage.googleapis.com/gerrit-2.12.4.war] == Schema Upgrade *WARNING:* There are no schema changes from link:ReleaseNotes-2.12.3.html[ 2.12.3] 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 or 2.12.2 having already done the migration, this manual step is not necessary and should be omitted. == Known Issues * link:https://bugs.chromium.org/p/gerrit/issues/detail?id=4323[Issue 4323]: 'value too long for type character varying(255)' in patch_sets table when migrating to schema version 108. + This error may occur under some circumstances when running the schema migration from an earlier version of Gerrit. + On sites where this occurs, it can be fixed with a manual schema update according to the comments in the issue. == Bug Fixes * link:https://bugs.chromium.org/p/gerrit/issues/detail?id=4400[Issue 4400]: Fix `AlreadyClosedException` in Lucene index. + If a Lucene indexing thread was interrupted by an SSH connection being closed, this would also close file handles being used to read the index. + Lucene queries are now executed on background threads to isolate them from SSH threads. + This may also reduce latency for user dashboards on a multi-core system as each query for the different sections can now run on separate threads and return results when ready. * link:https://bugs.chromium.org/p/gerrit/issues/detail?id=4249[Issue 4249]: Fix 'Duplicate stages not allowed' error during indexing. * link:https://bugs.chromium.org/p/gerrit/issues/detail?id=4238[Issue 4238]: Fix 'not found' error when browsing tree in gitweb. + The `refs/heads/` prefix was incorrectly being added to `HEAD`, causing a '404 Not Found' error. * Allow to read repositories that do not end with `.git`. * link:https://bugs.chromium.org/p/gerrit/issues/detail?id=4262[Issue 4262]: Fix GPG push certificate for first patch set of new changes. + The GPG certificate was not being set for the first patch set of new changes. * link:https://bugs.chromium.org/p/gerrit/issues/detail?id=4296[Issue 4296]: Fix internal error when a query does not contain any token. * link:https://bugs.chromium.org/p/gerrit/issues/detail?id=4241[Issue 4241]: Fix 'Cannot format velocity template' error when sending notification emails. * Fix `sshd.idleTimeout` setting being ignored. + The `sshd.idleTimeout` setting was not being correctly set on the SSHD backend, causing idle sessions to not time out. * link:https://bugs.chromium.org/p/gerrit/issues/detail?id=4324[Issue 4324]: Set the correct uploader on new patch sets created via the inline editor. * Log a warning instead of failing when invalid commentlinks are configured. * link:https://bugs.chromium.org/p/gerrit/issues/detail?id=4136[Issue 4136]: Fix support for `HEAD` requests in the REST API. + Sending a `HEAD` request failed with '404 Not Found'. * Return proper error response when trying to confirm an email that is already used by another user. * link:https://bugs.chromium.org/p/gerrit/issues/detail?id=4318[Issue 4318] Fix 'Rebase if Necessary' merge strategy to prevent introducing a duplicate commit when submitting a merge commit. * link:https://bugs.chromium.org/p/gerrit/issues/detail?id=4332[Issue 4332]: Allow `local` as a valid TLD for outgoing emails. * Bypass hostname verification when `sendemail.sslVerify` is disabled. * link:https://bugs.chromium.org/p/gerrit/issues/detail?id=4398[Issue 4398]: Replication: Consider ref visibility when scheduling replication. + It was possible for refs to be replicated to remotes despite not being visible to groups mentioned in the `authGroup` setting. * link:https://bugs.chromium.org/p/gerrit/issues/detail?id=4036[Issue 4036]: Fix hanging query when using `is:watched` without authentication.