6d7ebc6318
Change-Id: Ibd0aa9a14f533771986cc1d43a712716457d424c
401 lines
14 KiB
Plaintext
401 lines
14 KiB
Plaintext
Release notes for Gerrit 2.1.7
|
|
==============================
|
|
|
|
Gerrit 2.1.7 is now available:
|
|
|
|
link:https://www.gerritcodereview.com/download/gerrit-2.1.7.war[https://www.gerritcodereview.com/download/gerrit-2.1.7.war]
|
|
|
|
Schema Change
|
|
-------------
|
|
*WARNING* This release contains multiple schema changes. To upgrade:
|
|
----
|
|
java -jar gerrit.war init -d site_path
|
|
----
|
|
|
|
To export prior review information into `refs/notes/review` branches
|
|
within each Git repository:
|
|
----
|
|
java -jar gerrit.war ExportReviewNotes -d site_path
|
|
----
|
|
|
|
Memory Usage Increase
|
|
---------------------
|
|
*WARNING* The JGit delta base cache, whose size is controlled by
|
|
`core.deltaBaseCacheLimit`, has changed in this release from being a
|
|
JVM-wide singleton to per-thread. This alters the memory usage, going
|
|
from 10M for the entire JVM to 10M per concurrent operation. The
|
|
change improves performance on big repositories, but may need a larger
|
|
`container.heapLimit` if the number of concurrent operations is high.
|
|
|
|
New Features
|
|
------------
|
|
|
|
Change Data
|
|
~~~~~~~~~~~
|
|
* issue 64 Create Git notes for submitted changes
|
|
+
|
|
Git notes are automatically added to the `refs/notes/review`.
|
|
|
|
Query
|
|
~~~~~
|
|
* Search project names by substring
|
|
+
|
|
Entering a word with no operator (for example `gerrit`) will be
|
|
expanded to all projects whose names contain the string 'gerrit'.
|
|
|
|
* issue 722 ownerin and reviewerin search predicates
|
|
+
|
|
New search predicates `ownerin:'GROUP'` and `reviewerin:'GROUP'`
|
|
search for changes whose owner or that has a reviewer in (or not
|
|
in if prefixed with `-`) the specified group.
|
|
|
|
Web UI
|
|
~~~~~~
|
|
* Add reviewer/verifier name beside check/plus/minus
|
|
+
|
|
Change lists (such as from a search result, or in a user's dashboard)
|
|
can now optionally display the name of the reviewer or verifier who
|
|
gave the score being shown in the summary column. This is an optional
|
|
per-user preference that can be enabled in the Settings screen.
|
|
|
|
* Add a "revert change"-button to a submitted patchset
|
|
+
|
|
Clicking "Revert Change" creates a new change with the inverse of
|
|
the submitted patch set ready for review and submission. This makes
|
|
it easy to undo a build-breaking change right from the web UI.
|
|
|
|
* issue 194 Diff patch sets
|
|
+
|
|
Change pages now offer a selection box, "Old Version History",
|
|
to compare patch sets against one another and view only the files
|
|
that differ between two patch sets. This new feature can speed up
|
|
re-reviewing a change.
|
|
|
|
* issue 913 Support different color palette when not signed in
|
|
+
|
|
Site administrators can configure a different theme in gerrit.config for
|
|
the signed-in and signed-out states, making it more obvious to site users
|
|
they are currently signed-in (or not).
|
|
|
|
* Add parent info to each change screen Patch Set
|
|
+
|
|
This mirrors the data shown in the 'Commit Message' file, making
|
|
it easy to identify the parent(s) of the commit without opening
|
|
up the Commit Message or gitweb.
|
|
|
|
* Remove the SSH key loading applet
|
|
+
|
|
The Java based SSH key loading applet is no longer included as part of
|
|
the Gerrit Code Review interface. Users need to copy and paste their
|
|
SSH public key files by hand.
|
|
|
|
|
|
SSH Commands
|
|
~~~~~~~~~~~~
|
|
* issue 674 Add abandon/restore to `gerrit review`
|
|
* Add `gerrit version` command
|
|
|
|
Change Upload
|
|
~~~~~~~~~~~~~
|
|
* Display a more verbose "you are not author/committer" message
|
|
|
|
Documentation
|
|
~~~~~~~~~~~~~
|
|
* Detailed error message explanations
|
|
+
|
|
Most common error messages are now described in detail in the
|
|
documentation under 'User Guide', 'Error Messages'. Each error is
|
|
explained, along with possible courses of action for an end-user to
|
|
resolve the issue.
|
|
|
|
* issue 905 Document reverse proxy using Nginx
|
|
* Updated system scaling data in 'System Design'
|
|
|
|
Outgoing Mail
|
|
~~~~~~~~~~~~~
|
|
* Optionally add Importance and Expiry-Days headers
|
|
+
|
|
New gerrit.config variable `sendemail.importance` can be set to `high`
|
|
or `low` to classify outgoing mail, and `sendemail.expiryDays` can be
|
|
set to suggest clients should automatically expire or expunge messages
|
|
this many days after being sent.
|
|
|
|
* Add support for SMTP AUTH LOGIN
|
|
|
|
Administration
|
|
~~~~~~~~~~~~~~
|
|
* Group option to make group visible to all users
|
|
+
|
|
A new group option permits the group to be visible to all users,
|
|
rather than just its members. Some sites may find this useful for
|
|
a project owners group, to help users contact the relevant folks.
|
|
|
|
* Group option to only email change authors on updates
|
|
+
|
|
A new group option causes all users who are a member of that group to
|
|
only send email notifications to change authors, excluding reviewers
|
|
and watchers. This can be useful for automated build and testing users
|
|
to reduce the amount of email sent to reviewers.
|
|
|
|
* Hide non-visible groups from suggestion service
|
|
+
|
|
Groups that are not visible to a user are not shown as suggestions in
|
|
contexts where a group name completion is supported. The previously
|
|
mentioned 'make group visible to all users' flag can be used on a
|
|
per-group basis to expose groups to everyone.
|
|
|
|
* Use suggest.accounts to control user completion suggestions
|
|
+
|
|
The new `suggest.accounts` configuration variable in gerrit.config
|
|
can control how suggestions for users are offered.
|
|
|
|
* Permit groups to be members of other groups
|
|
+
|
|
Groups can now be a member of another group, users are automatically
|
|
a member of the transitive closure of their group membership.
|
|
|
|
* READ +3 permission required to upload merges
|
|
+
|
|
The new READ +3 permission is required to upload merge commits. Users
|
|
with only READ +2 permission may upload new changes, but not merges.
|
|
The schema upgrade will automatically convert any current READ +2
|
|
access lines to be READ +3 to maintain prior behavior.
|
|
|
|
* "Show Inherited Rights" checkbox in Project Access
|
|
+
|
|
This checkbox enables showing or hiding the lines that are inherited
|
|
from the parent project. This makes it easier to find the rules that
|
|
are unique to the project being viewed.
|
|
|
|
* Allow single letter usernames
|
|
+
|
|
Username requirements are relaxed to permit single letter usernames.
|
|
|
|
* Fine-grained control over authentication cookie
|
|
+
|
|
Site administrators can now set `auth.cookieSecure` to request
|
|
browsers only send the cookie over https:// connections, preventing
|
|
eavesdropping.
|
|
+
|
|
Site administrators can now set `auth.cookiePath` to override the
|
|
path used for the authentication cookie, which may be necessary if
|
|
a reverse proxy maps requests to the managed gitweb.
|
|
|
|
Replication
|
|
~~~~~~~~~~~
|
|
* Add adminUrl to replication for repository creation
|
|
+
|
|
Replication remotes can be configured with `remote.name.adminUrl` to
|
|
indicate an SSH path for repository creation that is different from
|
|
the normal push URL in `remote.name.url`. The adminUrl can be used by
|
|
Gerrit to create a new repository when the normal URL is a non-SSH
|
|
URL, such as git:// or http://.
|
|
|
|
* Support HTTP authentication for replication
|
|
+
|
|
Replication can now be performed over an authenticated smart HTTP
|
|
transport, in addition to anonymous Git and authenticated SSH.
|
|
|
|
Misc.
|
|
~~~~~
|
|
* Alternative URL for Gerrit's managed Gitweb
|
|
+
|
|
The internal gitweb served from `/gitweb` can now appear to be from a
|
|
different URL by using a reverse proxy that does URL rewriting.
|
|
|
|
* Internal dependencies updated
|
|
+
|
|
Updated H2 Database to 1.2.147, PostgreSQL JDBC Client to 9.0-801,
|
|
openid4java to 0.9.6, ANTLR to 3.2, GWT to 2.1.1, JSch to 0.1.44, Gson
|
|
to 1.6, Apache Commons Net to 2.2, Apache Commons Pool to 1.5.5, JGit
|
|
to 0.12.1.53-g5ec4977, MINA SSHD to 0.5.1-r1095809.
|
|
|
|
Bug Fixes
|
|
---------
|
|
|
|
Web UI
|
|
~~~~~~
|
|
* issue 853 Incorrect side-by-side display of modified lines
|
|
+
|
|
A bug in JGit lead to the side-by-side view displaying wrong and
|
|
confusing output of modified lines. This bug also caused some
|
|
automatic merges to be carried out incorrectly, usually resulting in
|
|
compile failures. Fixed.
|
|
|
|
* Disallow negative/zero columns in difference views
|
|
+
|
|
Previously a negative or zero value in the number of columns field
|
|
would break the user's account and prevent them from viewing any file
|
|
differences through the web UI. Values less than 1 are now rejected,
|
|
and existing broken accounts will work again by resetting to a sane
|
|
column count.
|
|
|
|
* Fix branches table displaying symbolic references (e.g. HEAD).
|
|
+
|
|
In the project's "Branches" tab symbolic references like HEAD always
|
|
displayed the wrong target name. Fixed to display the target name of
|
|
the reference.
|
|
|
|
* Disallow deletion of HEAD and targets of symbolic refs
|
|
+
|
|
Deleting the target of a symbolic reference causes the symbolic to
|
|
become dangling, and it becomes useless.
|
|
|
|
* Prevent creating 'refs/for/branch' in web UI.
|
|
|
|
* issue 804 Display proper error message on invalid group
|
|
+
|
|
Attempting to browse a group that does not exist or that is not
|
|
visible to the current user now displays a proper error message,
|
|
instead of a scary generic "Application Error, Server Error".
|
|
|
|
* issue 822 Up To Change link activates last browsed patch set
|
|
* issue 846 Disable buttons during RPCs
|
|
* issue 915 Always display button text in black
|
|
* issue 946 Make sure that ENTER works in all text fields
|
|
* issue 963 Go back to change screen if 'Publish and Submit' fails
|
|
* Enable "Sign Out" when auth.type = CLIENT_SSL_CERT_LDAP.
|
|
* Fix handling of "Session Expired" with SSL certificates.
|
|
* Fix compatibility with recent releases of Gitweb.
|
|
* Fix "review" link in Gitweb integration.
|
|
* Always display button text in black
|
|
* Always disable content merge option if user can't change project
|
|
|
|
commit-msg Hook
|
|
~~~~~~~~~~~~~~~
|
|
* issue 922 Fix commit-msg hook to run on Solaris
|
|
|
|
Outgoing Mail
|
|
~~~~~~~~~~~~~
|
|
* issue 780 E-mail about failed merge should not use Anonymous Coward
|
|
+
|
|
Some email was sent as Anonymous Coward, even when the user had a
|
|
configured name and email address. Fixed.
|
|
|
|
* Fix calculation of project owners
|
|
+
|
|
When sending out new changes for review, Gerrit automatically
|
|
tries to address the project owners on the To line of the outgoing
|
|
message. This sometimes included the owner of a branch. Fixed.
|
|
|
|
* Do not email reviewers adding themselves as reviewers
|
|
* Fix comma/space separation in email templates
|
|
|
|
Pushing Changes
|
|
~~~~~~~~~~~~~~~
|
|
* Avoid huge pushes during refs/for/BRANCH push
|
|
+
|
|
With Gerrit 2.1.6, clients started to push possibly hundreds of
|
|
megabytes for what should be a tiny patch set changing 1 line of 1
|
|
file. This large push was caused by the server advancing ahead of the
|
|
client (e.g. due to another change being submitted) and the client not
|
|
having fetched the new version. Fixed by adding some recent history to
|
|
the advertisement so that clients don't have to upload the entire
|
|
project for a small change.
|
|
|
|
* issue 414 Reject pushing multiple commits with same Change-Id
|
|
+
|
|
If multiple new commits are uploaded to a refs/for/ branch and
|
|
they have the same Change-Id, the push is now rejected. Within
|
|
a project, the Change-Id should be unique and users should either
|
|
squash the commits, or modify them to use unique Change-Ids.
|
|
|
|
* issue 635 Match Change-Id by project and branch combination
|
|
* issue 635 Auto close changes by Change-Id on same branch only
|
|
+
|
|
Changes are automatically closed during direct push to branch only if
|
|
the Change-Id line matches and the branch name matches. Previously
|
|
changes were closed automatically if only the Change-Id matched,
|
|
making it difficult to cherry-pick changes across branches.
|
|
|
|
* issue 947 Disallow to push to non-connected target
|
|
+
|
|
If a repository stores disconnected history graphs on different
|
|
branches, changes may only be pushed to the correct branch.
|
|
|
|
* Always do Change-Id checks on receiving commits
|
|
+
|
|
Ensure Change-Ids aren't incorrectly used, even if the project does
|
|
not require them to be present. Previously some validity checks were
|
|
only performed if the project required Change-Id lines.
|
|
|
|
* Make Change-Id requirement applicable only to reviews
|
|
+
|
|
Change-Ids are not required when directly pushing to a branch. This
|
|
permits projects that normally require Change-Ids to still perform
|
|
direct branch pushes for updates received from an upstream project
|
|
that does not use Change-Ids.
|
|
|
|
* Reject invalid Change-Id lines
|
|
+
|
|
Severely malformed Change-Id lines were previously accepted by the
|
|
server. These are now rejected.
|
|
|
|
* Fix error message returned on push to closed change
|
|
+
|
|
If a commit with a Change-Id was pushed, and the corresponding change
|
|
was already closed, the server incorrectly errored out with "No new
|
|
changes". Now it reports the change is closed and does not accept a
|
|
new patch set.
|
|
|
|
* Fix error message for rejecting a change of another project
|
|
+
|
|
Instead of saying 'change not found' when pushing to a commit to
|
|
a refs/changes/NNNN reference that belongs in another project, the
|
|
error now indicates the change belongs to another project.
|
|
|
|
* Better help message when commit message is malformed
|
|
+
|
|
If the commit message is badly formatted Gerrit displays an error
|
|
message to the client. This message has been extended to offer
|
|
suggestions on how to correct the commit message.
|
|
|
|
* Log warning on 'change state corrupt' error
|
|
+
|
|
If a change state corrupt error is reported to a client, there was
|
|
no mention if it on the server error log. Now it is reported so the
|
|
site administrator also knows about it.
|
|
|
|
SSH Commands
|
|
~~~~~~~~~~~~
|
|
* issue 755 Send new patchset event after its available
|
|
* issue 814 Evict initial members of group created by SSH
|
|
* issue 879 Fix replication of initial empty commit in new project
|
|
* Disallow setting a project as parent for itself
|
|
* Automatically create user account(s) as necessary
|
|
* Move SSH command creation off NioProcessor threads
|
|
|
|
Administration
|
|
~~~~~~~~~~~~~~
|
|
* Enable git reflog for all newly created projects
|
|
+
|
|
Previously branch updates were not being recorded in the native Git
|
|
reflogs ($GIT_DIR/logs/refs/heads) due to a misconfiguration on new
|
|
projects created by gerrit create-project. Fixed.
|
|
|
|
* Fix IllegalArgumentException caused by non-ASCII user names
|
|
+
|
|
An invalid username is now always reported in UTF-8.
|
|
|
|
* PostgreSQL: conditional installation of PL/pgSQL.
|
|
+
|
|
Conditional installation is needed to install Gerrit on PostgreSQL 9.
|
|
|
|
* issue 961 Fix NPE on Gerrit startup if mail.from is invalid
|
|
* issue 966 Enable git:// download URLs if canonicalGitUrl set
|
|
* Stop logging 'keepalive@jcraft.com' errors in error_log
|
|
* gerrit.sh: Fix issues on SuSE Linux
|
|
* gerrit.sh: Fix issues on Solaris
|
|
* gerrit.sh: Support spaces in JAVA_HOME
|
|
|
|
Documentation
|
|
~~~~~~~~~~~~~
|
|
* issue 800 documentation: Show example of review -m
|
|
* issue 896 Clarify that $\{name\} is required for replication.
|
|
* Fix spelling mistake in 'Searching Changes' documentation
|
|
* Fix spelling mistake in user-upload documentation
|
|
* Document cache diff_intraline
|
|
* Document change set dependencies and cherry-pick
|
|
* Include user in scp commands to copy commit hook
|
|
* Adjust documentation to build with current AsciiDoc version
|