Change-Id: Ib2fe7ccbc1713487333e67216d5082e8e71497b8 Signed-off-by: Shawn O. Pearce <sop@google.com>
		
			
				
	
	
		
			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:http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.1.7.war[http://code.google.com/p/gerrit/downloads/detail?name=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 pallete 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
 | 
						|
+
 | 
						|
Severly 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
 | 
						|
* Autoamtically 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
 |