Release notes for Gerrit 2.11.1 =============================== Gerrit 2.11.1 is now available: link:https://www.gerritcodereview.com/download/gerrit-2.11.1.war[ https://www.gerritcodereview.com/download/gerrit-2.11.1.war] Gerrit 2.11.1 includes the bug fixes done with link:ReleaseNotes-2.10.4.html[Gerrit 2.10.4] and link:ReleaseNotes-2.10.5.html[Gerrit 2.10.5]. These bug fixes are *not* listed in these release notes. There are no schema changes from link:ReleaseNotes-2.11.html[2.11]. New Features ------------ * link:http://code.google.com/p/gerrit/issues/detail?id=321[Issue 321]: Use in-memory Lucene index for a better reviewer suggestion. + Instead of a linear full text search through a list of accounts, use an in-memory Lucene index. The index is periodically refreshed. The refresh period is configurable via the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11.1/config-gerrit.html#suggest.fullTextSearchRefresh[ suggest.fullTextSearchRefresh] parameter. Bug Fixes --------- Performance ~~~~~~~~~~~ * link:http://code.google.com/p/gerrit/issues/detail?id=3363[Issue 3363]: Fix performance degrade in background mergeability checks. + When neither `index.batchThreads` nor `changeMerge.threadPoolSize` was defined, the background mergeability check fell back to using an interactive executor. + This led to a severe performance degradation during git push operations because the `ref-update` listener was reindexing all open changes on the target branch interactively. The degradation increased linearly with number of open changes on the target branch. + Now, instead of indexing interactively, it falls back to a batch thread pool with the number of available logical CPUs. * Reduce unnecessary database access when querying changes. + Searching for changes was retrieving more information than necessary from the database. This has been optimized to reduce database access and make better use of the secondary index. * Remove unnecessary REST API call when opening the 'Patch Sets' drop down. + The change edit information was being loaded twice. Index ~~~~~ * Fix `PatchLineCommentsUtil.draftByChangeAuthor`. + There is not a native index for this, and the ReviewDb case was not properly filtering a result by change. * Don't show stack trace when failing to build BloomFilter during reindex. Permissions ~~~~~~~~~~~ * Require 'View Plugins' capability to list plugins through SSH. + The 'View Plugins' capability was required to list plugins through the REST API, but not through SSH. * Fix project creation with plugin config if user is not project owner. + On project creation it is possible to specify plugin configuration values that should be stored in the `project.config` file. This failed if the calling user was not becoming owner of the created project, because only project owners can edit the `project.config` file. Change Screen / Diff / Inline Edit ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * link:http://code.google.com/p/gerrit/issues/detail?id=3191[Issue 3191]: Always show 'Not Current' as state when looking at old patch set. + For merged changes it was confusing for users to see the status as 'Merged' when they look at an old patch set. * link:http://code.google.com/p/gerrit/issues/detail?id=3337[Issue 3337]: Reenable 'Revert' button when revert is cancelled. * link:http://code.google.com/p/gerrit/issues/detail?id=3378[Issue 3378]: Improve the cursor style in side-by-side diff and inline editor. + The cursor style is changed from an underscore to a solid vertical bar. + In the side-by-side diff, the cursor is placed on the first column of the diff, rather than at the end. Web Container ~~~~~~~~~~~~~ * Fix `gc_log` when running in a web container. + All logs supposed to be in the `gc_log` file were ending up in the main log instead when deploying Gerrit in a web container. * Fix binding of SecureStore modules. + The SecureStore modules were not correctly added when Gerrit was deployed in a web container with the site path configured using the `gerrit.site_path` property. Plugins ~~~~~~~ * link:http://code.google.com/p/gerrit/issues/detail?id=3310[Issue 3310]: Fix disabling plugins when Gerrit is running on Windows. + When running Gerrit on Windows it was not possible to disable a plugin due to an error renaming the plugin's JAR file. * Replication ** Fix creation of missing repositories. + Missing projects were not being created on the destination. ** Emit replication status events after initial full sync. + When `replicateOnStartup` is enabled, the plugin was not emitting the status events after the initial sync. Miscellaneous ~~~~~~~~~~~~~ * link:http://code.google.com/p/gerrit/issues/detail?id=3328[Issue 3328]: Allow to push a tag that points to a non-commit object. + When pushing a tag that points to a non-commit object, like link:https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tag/?id=v2.6.11[ `v2.6.11` on linux-stable] which points to a tree, or link:https://git.eclipse.org/c/jgit/jgit.git/tag/?id=spearce-gpg-pub[ `spearce-gpg-pub` on jgit] which points to a blob, Gerrit rejected the push with the error message 'missing object(s)'. * link:http://code.google.com/p/gerrit/issues/detail?id=3323[Issue 3323]: Fix internal server error when cloning from a slave while hiding some refs. * link:http://code.google.com/p/gerrit/issues/detail?id=3342[Issue 3342]: Log `IOException` on failure to update project configuration. + Without logging these exceptions it's hard to guess why the update of the project configuration is failing. * Remove temporary GitWeb config on Gerrit exit. + A temporary directory was being created but not removed. * link:http://code.google.com/p/gerrit/issues/detail?id=2791[Issue 2791]: Fix email validation for new TLDs such as `.systems`. * Assume change kind is 'rework' if `LargeObjectException` occurs. Documentation ~~~~~~~~~~~~~ * link:http://code.google.com/p/gerrit/issues/detail?id=3325[Issue 3325]: Add missing `--newrev` parameter to the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11.1/config-hooks.html#_change_merged[ change-merged hook documentation]. * link:http://code.google.com/p/gerrit/issues/detail?id=3346[Issue 3346]: Fix typo in the link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11.1/config-reverseproxy.html[ Apache 2 configuration documentation]. * Fix incorrect documentatation of link:https://gerrit-documentation.storage.googleapis.com/Documentation/2.11.1/config-gerrit.html#auth.registerUrl[ auth types]. Updates ------- * Update CodeMirror to 5.0. * Update commons-validator to 1.4.1.