Update Gerrit 2.5 release notes
Describe the recently merged changes in the Gerrit 2.5 release notes. Change-Id: I8eb902e17068688f1787b4b9be52927a86f05774 Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
This commit is contained in:
		@@ -298,6 +298,8 @@ a successor commit is pushed for one of the projects, the resulting
 | 
				
			|||||||
successor change was wrongly listing both changes in the 'Depends On'
 | 
					successor change was wrongly listing both changes in the 'Depends On'
 | 
				
			||||||
section. Now only the predecessor change of the own project is listed.
 | 
					section. Now only the predecessor change of the own project is listed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Highlight dependencies to abandoned changes by red background
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* link:http://code.google.com/p/gerrit/issues/detail?id=1383[issue 1383]:
 | 
					* link:http://code.google.com/p/gerrit/issues/detail?id=1383[issue 1383]:
 | 
				
			||||||
  Display the approval table on the PublishCommentsScreen.
 | 
					  Display the approval table on the PublishCommentsScreen.
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -408,6 +410,19 @@ GitWeb).
 | 
				
			|||||||
A link was added next to the "Reviewed" checkbox that marks the current
 | 
					A link was added next to the "Reviewed" checkbox that marks the current
 | 
				
			||||||
patch as reviewed and goes to the next unreviewed patch.
 | 
					patch as reviewed and goes to the next unreviewed patch.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Add key commands to mark a patch as reviewed
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					Add key commands
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					. to toggle the reviewed flag for a patch ('m')
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					and
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					. to mark the patch as reviewed and navigate to the next unreviewed
 | 
				
			||||||
 | 
					patch ('M').
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Use download icons instead of the `Download` text links
 | 
				
			||||||
 | 
					
 | 
				
			||||||
User Dashboard
 | 
					User Dashboard
 | 
				
			||||||
^^^^^^^^^^^^^^
 | 
					^^^^^^^^^^^^^^
 | 
				
			||||||
* Support for link:../Documentation/user-custom-dashboards.html[custom
 | 
					* Support for link:../Documentation/user-custom-dashboards.html[custom
 | 
				
			||||||
@@ -491,6 +506,13 @@ the NotFoundScreen after sign in.
 | 
				
			|||||||
Instead of linking from a user name to the user's dashboards, link to
 | 
					Instead of linking from a user name to the user's dashboards, link to
 | 
				
			||||||
a search for changes owned by that user.
 | 
					a search for changes owned by that user.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* link:../Documentation/config-gerrit.html#gerrit.reportBugUrl[Allow
 | 
				
			||||||
 | 
					  configuring the `Report Bug` URL]
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					Let site administrators direct users to their own ticket queue, as for
 | 
				
			||||||
 | 
					many servers most of the reported bugs are small internal problems like
 | 
				
			||||||
 | 
					asking for a repository to be created or updating group memberships.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* On project creation allow choosing the parent project from a popup
 | 
					* On project creation allow choosing the parent project from a popup
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
In the create project UI a user can now browse all projects and select
 | 
					In the create project UI a user can now browse all projects and select
 | 
				
			||||||
@@ -507,6 +529,18 @@ This makes users aware of open changes when deleting a branch.
 | 
				
			|||||||
This allows to see the branches of the `All-Projects` project in the
 | 
					This allows to see the branches of the `All-Projects` project in the
 | 
				
			||||||
web UI.
 | 
					web UI.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Move the project listing menu items to a new top-level item
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					Finding the project listing was very opaque to end users. Nobody
 | 
				
			||||||
 | 
					expected to look under `Admin` and furthermore, anonymous users were
 | 
				
			||||||
 | 
					unable to find that link at all.
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					Introduced a new top-level `Projects` menu that has `List` in it to
 | 
				
			||||||
 | 
					take you to the project listing.
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					In addition the `Create new project` link from the top of that listing
 | 
				
			||||||
 | 
					was moved to this new menu.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Move form for group creation to own screen
 | 
					* Move form for group creation to own screen
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Move the form for the group creation from the GroupListScreen to an
 | 
					Move the form for the group creation from the GroupListScreen to an
 | 
				
			||||||
@@ -514,6 +548,19 @@ own new CreateGroupScreen and add a link to this screen at the
 | 
				
			|||||||
beginning of the GroupListScreen. The link to the CreateGroupScreen is
 | 
					beginning of the GroupListScreen. The link to the CreateGroupScreen is
 | 
				
			||||||
only visible if the user has the permission to create new groups.
 | 
					only visible if the user has the permission to create new groups.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Drop the `Owners` column from the group list screen
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					The `Owners` column on the group list screen has been dropped in order
 | 
				
			||||||
 | 
					to link:#performance-issue-on-showing-group-list[speed up the loading
 | 
				
			||||||
 | 
					of the group list screen].
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Drop the `Group Type` column from the group list screen
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					Since link:#migrate-ldap-groups[the LDAP group type was removed] there
 | 
				
			||||||
 | 
					is no need to display the group type on the group list screen anymore.
 | 
				
			||||||
 | 
					There are only 3 `SYSTEM` groups using well known names, and everything
 | 
				
			||||||
 | 
					else has the type `INTERNAL`.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* When adding a user to a group create an account for the user if needed
 | 
					* When adding a user to a group create an account for the user if needed
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Trying to add a user to a group that doesn't have an account fails with
 | 
					Trying to add a user to a group that doesn't have an account fails with
 | 
				
			||||||
@@ -737,6 +784,8 @@ and how to release Gerrit subprojects.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Other
 | 
					Other
 | 
				
			||||||
^^^^^
 | 
					^^^^^
 | 
				
			||||||
 | 
					* Describe link:../Documentation/refs-notes-review.html[
 | 
				
			||||||
 | 
					  `refs/notes/review` and its contents]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Specify output file for curl commands in documentation
 | 
					* Specify output file for curl commands in documentation
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
@@ -757,6 +806,8 @@ command.
 | 
				
			|||||||
Add documentation of hook config for `change-restored`, `ref-updated`
 | 
					Add documentation of hook config for `change-restored`, `ref-updated`
 | 
				
			||||||
and `cla-signed` hooks.
 | 
					and `cla-signed` hooks.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Document that the commit message hook file should be executable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Mention that also MySQL supports replication, not just Postgres
 | 
					* Mention that also MySQL supports replication, not just Postgres
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Make sorting of release notes consistent so that the release notes
 | 
					* Make sorting of release notes consistent so that the release notes
 | 
				
			||||||
@@ -943,6 +994,7 @@ Example setting for link:../Documentation/config-gerrit.html#auth.type[
 | 
				
			|||||||
With this configuration Git over HTTP protocol will be authenticated using
 | 
					With this configuration Git over HTTP protocol will be authenticated using
 | 
				
			||||||
`HTTP-BasicAuth` and credentials checked on LDAP.
 | 
					`HTTP-BasicAuth` and credentials checked on LDAP.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[migrate-ldap-groups]]
 | 
				
			||||||
* Migrate existing internal LDAP groups
 | 
					* Migrate existing internal LDAP groups
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Previously, LDAP groups were mirrored in the AccountGroup table and
 | 
					Previously, LDAP groups were mirrored in the AccountGroup table and
 | 
				
			||||||
@@ -1109,6 +1161,78 @@ plugins.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Performance
 | 
					Performance
 | 
				
			||||||
~~~~~~~~~~~
 | 
					~~~~~~~~~~~
 | 
				
			||||||
 | 
					[[performance-issue-on-showing-group-list]]
 | 
				
			||||||
 | 
					* Fix performance issues on showing the list of groups in the Gerrit
 | 
				
			||||||
 | 
					  WebUI
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					Loading `Admin` > `Groups` on large servers was very slow. The entire
 | 
				
			||||||
 | 
					group membership database was downloaded to the browser when showing
 | 
				
			||||||
 | 
					just the list of groups.
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					Now the amount of data that needs to be downloaded to the browser is
 | 
				
			||||||
 | 
					reduced by using the more leightweight `AccountGroup` type instead of
 | 
				
			||||||
 | 
					the `GroupDetail` type when showing the groups in a list format. As a
 | 
				
			||||||
 | 
					consequence the `Owners` column that showed the name of the owner group
 | 
				
			||||||
 | 
					had been dropped.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Add a fast path to avoid checking every commit on push
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					If a user can forge author, committer and gerrit server identity, and
 | 
				
			||||||
 | 
					can upload merges, don't bother checking the commit history of what is
 | 
				
			||||||
 | 
					being uploaded. This can save time on servers that are trying to accept
 | 
				
			||||||
 | 
					a large project import using the push permission.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Improve performance of `ReceiveCommits` by reducing `RevWalk` load
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					JGit RevWalk does not perform well when a large number of objects are
 | 
				
			||||||
 | 
					added to the start set by `markStart` or `markUninteresting`. Avoid
 | 
				
			||||||
 | 
					putting existing `refs/changes/` or `refs/tags/` into the `RevWalk` and
 | 
				
			||||||
 | 
					instead use only the `refs/heads` namespace and the name of the branch
 | 
				
			||||||
 | 
					used in the `refs/for/` push line.
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					Catch existing changes by looking for their exact commit SHA-1, rather
 | 
				
			||||||
 | 
					than complete ancestory. This should have roughly the same outcome for
 | 
				
			||||||
 | 
					anyone pushing a new commit on top of an existing open change, but
 | 
				
			||||||
 | 
					with lower computional cost at the server.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Lookup changes in parallel during `ReceiveCommits`
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					If the database has high query latency, the loop that locates existing
 | 
				
			||||||
 | 
					changes on the destination branch given Change-Id can be slow. Start
 | 
				
			||||||
 | 
					all of the queries as commits are discovered, but don't block on
 | 
				
			||||||
 | 
					results until all queries were started.
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					If the database can build the `ResultSet` in the background, this may
 | 
				
			||||||
 | 
					hide some of the query latency by allowing the queries to overlap when
 | 
				
			||||||
 | 
					more than one lookup must be performed for a push.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Perform change update on multiple threads
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					When multiple changes need to be created or updated for a single push
 | 
				
			||||||
 | 
					operation they are now inserted into the database by parallel threads,
 | 
				
			||||||
 | 
					up to the maximum allowed thread count. The current thread is used
 | 
				
			||||||
 | 
					when the thread pool is already fully in use, falling back to the
 | 
				
			||||||
 | 
					prior behavior where each concurrent push operation can do its own
 | 
				
			||||||
 | 
					concurrent database update. The thread pool exists to reduce latency
 | 
				
			||||||
 | 
					so long as there are sufficient threads available.
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					This helps push times on databases that are high latency, such as
 | 
				
			||||||
 | 
					database servers that are running on a different machine from the
 | 
				
			||||||
 | 
					Gerrit server itself, e.g. gerrit.googlesource.com.
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					The new thread pool is
 | 
				
			||||||
 | 
					link:../Documentation/config-gerrit.html#receive.changeUpdateThreads[
 | 
				
			||||||
 | 
					disabled by default], limiting the overhead to servers that have good
 | 
				
			||||||
 | 
					latency with their database, such as using in-process H2 database, or
 | 
				
			||||||
 | 
					a MySQL or PostgreSQL on the same host.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Use `BatchRefUpdate` to execute reference changes
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					Some storage backends for JGit are able to update multiple references
 | 
				
			||||||
 | 
					in a single pass efficiently. Take advantage of this by pushing
 | 
				
			||||||
 | 
					any normal reference updates (such as direct push or branch create)
 | 
				
			||||||
 | 
					into a single `BatchRefUpdate` object.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Assume labels are correct in ListChanges
 | 
					* Assume labels are correct in ListChanges
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
To reduce end-user latency when displaying changes in a search result
 | 
					To reduce end-user latency when displaying changes in a search result
 | 
				
			||||||
@@ -1284,6 +1408,14 @@ If a collapsed patch set panel was expanded and re-closed it's patch
 | 
				
			|||||||
list wasn't updated anymore when the selection for `Old Version History`
 | 
					list wasn't updated anymore when the selection for `Old Version History`
 | 
				
			||||||
was changed.
 | 
					was changed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* link:http://code.google.com/p/gerrit/issues/detail?id=1523[issue 1523]:
 | 
				
			||||||
 | 
					  Update diff base to match old version history
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					When changing the diff base in the `Old Version History` on the change
 | 
				
			||||||
 | 
					screen and then entering the Side-By-Side view for a file, clicking on
 | 
				
			||||||
 | 
					the back button in the browser (reentering the change screen) was
 | 
				
			||||||
 | 
					causing the files to be wrongly compared with `Base` again.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Don't NPE if current patch set is not available
 | 
					* Don't NPE if current patch set is not available
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
Broken changes may have the current patch set field incorrectly
 | 
					Broken changes may have the current patch set field incorrectly
 | 
				
			||||||
@@ -1296,6 +1428,16 @@ claim the change is not reviewed.
 | 
				
			|||||||
Published and draft comments that are posted on deleted files were not
 | 
					Published and draft comments that are posted on deleted files were not
 | 
				
			||||||
loaded and displayed.
 | 
					loaded and displayed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* link:https://code.google.com/p/gerrit/issues/detail?id=735[issue 735]:
 | 
				
			||||||
 | 
					  Fix `ArrayIndexOutOfBoundsException` on navigation to next/previous
 | 
				
			||||||
 | 
					  patch
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					An `ArrayIndexOutOfBoundsException` could occur when navigating from
 | 
				
			||||||
 | 
					one patch to the next/previous patch if the next/previous patch was a
 | 
				
			||||||
 | 
					newly added binary file. The exception occurred if the user was not
 | 
				
			||||||
 | 
					signed in or if the user was signed in and had `Syntax Coloring` in the
 | 
				
			||||||
 | 
					preferences enabled.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Only set reviewed attribute on open changes
 | 
					* Only set reviewed attribute on open changes
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
If a change is merged or abandoned, do not consider the reviewed
 | 
					If a change is merged or abandoned, do not consider the reviewed
 | 
				
			||||||
@@ -1368,6 +1510,14 @@ STARTTLS enabled, aka. `sendemail.smtpEncryption = tls`.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
SSH
 | 
					SSH
 | 
				
			||||||
~~~
 | 
					~~~
 | 
				
			||||||
 | 
					* Fix reject message if bypassing code review is not allowed
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					If a user is not allowed to bypass code review, but tries to push a
 | 
				
			||||||
 | 
					commit directly, Gerrit rejected this push with the error message
 | 
				
			||||||
 | 
					"can not update the reference as a fast forward". This message was
 | 
				
			||||||
 | 
					confusing to the user since the push only failed due to missing
 | 
				
			||||||
 | 
					access rights. Go back to the old message that says "prohibited
 | 
				
			||||||
 | 
					by Gerrit".
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* link:http://code.google.com/p/gerrit/issues/detail?id=1437[issue 1437]:
 | 
					* link:http://code.google.com/p/gerrit/issues/detail?id=1437[issue 1437]:
 | 
				
			||||||
  Send event to stream when draft change is published
 | 
					  Send event to stream when draft change is published
 | 
				
			||||||
@@ -1506,6 +1656,8 @@ trace when a program stops with a Die exception.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
* Do not automatically add author/committer as reviewer to drafts
 | 
					* Do not automatically add author/committer as reviewer to drafts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Do not automatically add reviewers from footer lines to drafts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Fix NullPointerException in MergeOp
 | 
					* Fix NullPointerException in MergeOp
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
The body of the commit object may have been discarded earlier to
 | 
					The body of the commit object may have been discarded earlier to
 | 
				
			||||||
@@ -1514,6 +1666,27 @@ save memory, so ensure it exists before asking for the author.
 | 
				
			|||||||
* link:http://code.google.com/p/gerrit/issues/detail?id=1396[issue 1396]:
 | 
					* link:http://code.google.com/p/gerrit/issues/detail?id=1396[issue 1396]:
 | 
				
			||||||
  Initialize the submodule commit message buffer
 | 
					  Initialize the submodule commit message buffer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Fix file name matching in `commit_delta` to perform substring
 | 
				
			||||||
 | 
					  matching
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					The `commit_delta` predicate was matching the entire file name against
 | 
				
			||||||
 | 
					the given regular expression while other predicates (`commit_edits`,
 | 
				
			||||||
 | 
					`commit_message_matches`) performed substring matching. It was
 | 
				
			||||||
 | 
					inconsistent that for `commit_delta` it was needed to write something
 | 
				
			||||||
 | 
					like:
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					----
 | 
				
			||||||
 | 
					  commit_delta('.*\.java')
 | 
				
			||||||
 | 
					----
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					to match all `*.java` files, while for `commit_edits` it was:
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					----
 | 
				
			||||||
 | 
					  commit_edits('\.java$', '...')
 | 
				
			||||||
 | 
					----
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					to match the same set of (Java) files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Create index for submodule subscriptions on site upgrade
 | 
					* Create index for submodule subscriptions on site upgrade
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Fix URL to Jetty XML DTDs so they can be properly validated
 | 
					* Fix URL to Jetty XML DTDs so they can be properly validated
 | 
				
			||||||
@@ -1522,6 +1695,31 @@ save memory, so ensure it exists before asking for the author.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
* Fix possible synchronization issue in TaskThunk
 | 
					* Fix possible synchronization issue in TaskThunk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Fix possible NPEs in `ReplaceRequest.cmd` usage in `ReceiveCommits`
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					The `cmd` field is populated by `validate(boolean)`. If this method
 | 
				
			||||||
 | 
					fails, results on some `ReplaceRequests` may not be set. Guard the
 | 
				
			||||||
 | 
					attempt to access the field with a null check.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Match no labels if current patch set is not available
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					If the current patch set cannot be loaded from `ChangeData`, assume no
 | 
				
			||||||
 | 
					label information. This works around an NullPointerException inside of
 | 
				
			||||||
 | 
					`ChangeControl` where the `PatchSet` is otherwise required.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Create new patch set references before database records
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					Ensure the commit used by a new change or replacement patch set
 | 
				
			||||||
 | 
					always exists in the Git repository by writing the reference first
 | 
				
			||||||
 | 
					as part of the overall `BatchRefUpdate`, then inserting the database
 | 
				
			||||||
 | 
					records if all of the references stored successfully.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Fix rebase patch set and revert change to update Git first
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					Update the Git reference before writing to the database. This way the
 | 
				
			||||||
 | 
					repository cannot be corrupted if the server goes down between the two
 | 
				
			||||||
 | 
					actions.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Make sure we use only one type of NoteMerger for review notes creation
 | 
					* Make sure we use only one type of NoteMerger for review notes creation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Fix generation of owner group in GroupDetail
 | 
					* Fix generation of owner group in GroupDetail
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user