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:
parent
79db583f2e
commit
ed716ed93f
@ -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'
|
||||
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]:
|
||||
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
|
||||
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
|
||||
^^^^^^^^^^^^^^
|
||||
* 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
|
||||
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
|
||||
+
|
||||
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
|
||||
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 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
|
||||
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
|
||||
+
|
||||
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
|
||||
^^^^^
|
||||
* Describe link:../Documentation/refs-notes-review.html[
|
||||
`refs/notes/review` and its contents]
|
||||
|
||||
* Specify output file for curl commands in documentation
|
||||
+
|
||||
@ -757,6 +806,8 @@ command.
|
||||
Add documentation of hook config for `change-restored`, `ref-updated`
|
||||
and `cla-signed` hooks.
|
||||
|
||||
* Document that the commit message hook file should be executable
|
||||
|
||||
* Mention that also MySQL supports replication, not just Postgres
|
||||
|
||||
* 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
|
||||
`HTTP-BasicAuth` and credentials checked on LDAP.
|
||||
|
||||
[[migrate-ldap-groups]]
|
||||
* Migrate existing internal LDAP groups
|
||||
+
|
||||
Previously, LDAP groups were mirrored in the AccountGroup table and
|
||||
@ -1109,6 +1161,78 @@ plugins.
|
||||
|
||||
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
|
||||
+
|
||||
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`
|
||||
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
|
||||
+
|
||||
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
|
||||
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
|
||||
+
|
||||
If a change is merged or abandoned, do not consider the reviewed
|
||||
@ -1368,6 +1510,14 @@ STARTTLS enabled, aka. `sendemail.smtpEncryption = tls`.
|
||||
|
||||
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]:
|
||||
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 reviewers from footer lines to drafts
|
||||
|
||||
* Fix NullPointerException in MergeOp
|
||||
+
|
||||
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]:
|
||||
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
|
||||
|
||||
* 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 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
|
||||
|
||||
* Fix generation of owner group in GroupDetail
|
||||
|
Loading…
Reference in New Issue
Block a user