323 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			323 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
Release notes for Gerrit 2.1.6
 | 
						|
==============================
 | 
						|
 | 
						|
Gerrit 2.1.6 is now available:
 | 
						|
 | 
						|
link:http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.1.6.war[http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.1.6.war]
 | 
						|
 | 
						|
Schema Change
 | 
						|
-------------
 | 
						|
 | 
						|
*WARNING* This release contains multiple schema changes.  To upgrade:
 | 
						|
----
 | 
						|
  java -jar gerrit.war init -d site_path
 | 
						|
----
 | 
						|
 | 
						|
 | 
						|
New Features
 | 
						|
------------
 | 
						|
 | 
						|
Web UI
 | 
						|
~~~~~~
 | 
						|
* issue 312 Abandoned changes can now be restored.
 | 
						|
* issue 698 Make date and time fields customizable
 | 
						|
* issue 556 Preference to display patch sets in reverse order
 | 
						|
* issue 584 Allow deleted and/or uncommented files to be skipped
 | 
						|
 | 
						|
* Use HistogramDiff for content differences
 | 
						|
+
 | 
						|
HistogramDiff is an adaptation of Bram Cohen's Patience Difference
 | 
						|
algorithm, and was recently included in the upstream JGit project.
 | 
						|
Patience Difference tends to produce more readable differences for
 | 
						|
source code files, and JGit's HistogramDiff implementation tends to
 | 
						|
run several times faster than the prior Myers O(ND) algorithm.
 | 
						|
 | 
						|
* Automatic merge file content during submit
 | 
						|
+
 | 
						|
Project owners can now enable file-level content merge during submit,
 | 
						|
allowing Gerrit to automatically resolve many path conflict cases.
 | 
						|
This is built upon experimental merge code inherited from JGit,
 | 
						|
and is therefore still experimental in Gerrit.
 | 
						|
 | 
						|
Change Query
 | 
						|
~~~~~~~~~~~~
 | 
						|
* issue 688 Match branch, topic, project, ref by regular expressions
 | 
						|
+
 | 
						|
Similar to other features in Gerrit Code Review, starting any of these
 | 
						|
expressions with \^ will now treat the argument as a regular
 | 
						|
expression instead of an exact string match.
 | 
						|
 | 
						|
* Search changes by commit messages with `message:` operator.
 | 
						|
 | 
						|
* issue 729 query: Add a \--all-approvals option to queries
 | 
						|
+
 | 
						|
The new flag includes approval information for all patch sets in the
 | 
						|
resulting query output.
 | 
						|
 | 
						|
Notifications
 | 
						|
~~~~~~~~~~~~
 | 
						|
* Customize email notification templates
 | 
						|
+
 | 
						|
Email notifications are now driven by the Velocity template engine,
 | 
						|
and may be modified by the site administrator by editing a template
 | 
						|
file under `'$site_path'/etc/mail`.
 | 
						|
 | 
						|
* issue 311 Clarify email texts/subject
 | 
						|
+
 | 
						|
The default email notification formatting was changed to make the
 | 
						|
subject lines and message bodies more consistent, and easier to
 | 
						|
understand.
 | 
						|
 | 
						|
* issue 204 Add project list popup under Settings > Watched Projects
 | 
						|
+
 | 
						|
The project list panel makes it easier for users to browse all
 | 
						|
projects they have at least READ +1 access to, and add them to their
 | 
						|
watched project set so notifications can be configured.
 | 
						|
 | 
						|
* stream-event support for all ref-update events
 | 
						|
+
 | 
						|
Whenever a ref is updated via either a direct push to a branch or a
 | 
						|
Gerrit change submission, Gerrit will now send a new "ref-updated"
 | 
						|
event to the event stream.
 | 
						|
 | 
						|
User Management
 | 
						|
~~~~~~~~~~~~~~~
 | 
						|
* SSO via client SSL certificates
 | 
						|
+
 | 
						|
A new auth.type of CLIENT_SSL_CERT_LDAP supports authenticating users
 | 
						|
using client SSL certificates.  This feature requires using the
 | 
						|
embedded Jetty web server with SSL enabled, and an LDAP directory to
 | 
						|
lookup individual account information.
 | 
						|
 | 
						|
* issue 503 Inactive accounts may be disabled.
 | 
						|
+
 | 
						|
Administrators can manually update the accounts table, setting
 | 
						|
inactive = `Y` to mark user accounts inactive.  Inactive accounts
 | 
						|
cannot sign-in, cannot be added as a reviewer, and cannot be added
 | 
						|
to a group.
 | 
						|
 | 
						|
* Improve the no-interactive-shell error message over SSH
 | 
						|
+
 | 
						|
Instead of giving a short 'no shell available' error, Gerrit Code
 | 
						|
Review now prints a banner letting the user know they have
 | 
						|
authenticated successfully, interactive shells are disabled, and how
 | 
						|
to clone a hosted project:
 | 
						|
+
 | 
						|
----
 | 
						|
$ ssh -p 29418 review.example.com
 | 
						|
 | 
						|
  ****    Welcome to Gerrit Code Review    ****
 | 
						|
 | 
						|
  Hi A. U. Thor, you have successfully connected over SSH.
 | 
						|
 | 
						|
  Unfortunately, interactive shells are disabled.
 | 
						|
  To clone a hosted Git repository, use:
 | 
						|
 | 
						|
  git clone ssh://author@review.example.com:29418/REPOSITORY_NAME.git
 | 
						|
 | 
						|
Connection to review.example.com closed.
 | 
						|
----
 | 
						|
 | 
						|
* Configure SSHD maxAuthTries, loginGraceTime, maxConnectionsPerUser
 | 
						|
+
 | 
						|
The internal SSH daemon now supports additional configuration
 | 
						|
settings to reduce the risk of abuse.
 | 
						|
 | 
						|
Administration
 | 
						|
~~~~~~~~~~~~~~
 | 
						|
* issue 558 Allow Access rights to be edited by clicking on them.
 | 
						|
 | 
						|
* New 'Project Owner' system group to define default rights
 | 
						|
+
 | 
						|
The new system group 'Project Owners' can be used in access
 | 
						|
rights to mean any user that is a member of any group that
 | 
						|
has the 'Owner' access category granted within that project.
 | 
						|
This system group is primarily useful in higher level projects
 | 
						|
such as '\-- All Projects \--' to define standard access rights
 | 
						|
for all project owners.
 | 
						|
 | 
						|
* issue 557 Allow rejection of changes without Change-Id line.
 | 
						|
+
 | 
						|
Project owners can set a flag to require all commits to include
 | 
						|
the Gerrit specific 'Change-Id: I...' line during initial upload,
 | 
						|
reducing the risk of confusion when amends need to occur to
 | 
						|
incorporate reviewer feedback.
 | 
						|
 | 
						|
* issue 613 create-project: Add --permissions-only option
 | 
						|
+
 | 
						|
The new flag skips creating the associated Git repository, making the
 | 
						|
new project suitable for use as a parent to inherit permissions from.
 | 
						|
 | 
						|
* create-project: Optionally create empty initial commit
 | 
						|
+
 | 
						|
The `repo` tool used by Android doesn't like to clone an empty Git
 | 
						|
repository, making it difficult to setup a review for the initial file
 | 
						|
contents.  create-project can now optionally create an empty initial
 | 
						|
commit, permitting repo to sync the empty project.
 | 
						|
 | 
						|
* Block off commands on a server for certain user groups.
 | 
						|
+
 | 
						|
The upload.allowGroup and receive.allowGroup settings in gerrit.config
 | 
						|
can be used to restrict which users can perform git clone/fetch or git
 | 
						|
push on this server.  This can be useful if clone/fetch should be
 | 
						|
limited to only site administrators, while normal users are supposed
 | 
						|
to use to less expensive mirror servers.
 | 
						|
 | 
						|
* issue 685 Define gerrit.replicateOnStartup to control replication
 | 
						|
+
 | 
						|
The automatic replicate every project action that occurs during server
 | 
						|
startup can now be disabled by setting replicateOnStartup = false.
 | 
						|
This is primarily useful for sites with extremely large numbers of
 | 
						|
projects and replication targets, but runs the risk of having a target
 | 
						|
be out of date relative to the master server.
 | 
						|
 | 
						|
* New non-blocking function category "NoBlock"
 | 
						|
+
 | 
						|
Site defined approval categories may now use the function "NoBlock"
 | 
						|
to permit scoring without blocking submission.  This is mostly
 | 
						|
useful for automated tools to provide optional feedback on a change.
 | 
						|
 | 
						|
* Ability to reject commits from entering repository
 | 
						|
+
 | 
						|
The Git-note style branch `refs/meta/reject-commits` can be created
 | 
						|
by the project owner or site administrator to define a list of
 | 
						|
commits that must not be pushed into the repository.  This can be
 | 
						|
useful after performing a project-wide filter-branch operation to
 | 
						|
prevent the older (pre-filter-branch) history from being reintroduced
 | 
						|
into the repository.
 | 
						|
 | 
						|
Bug Fixes
 | 
						|
---------
 | 
						|
 | 
						|
Web UI
 | 
						|
~~~~~~
 | 
						|
* issue 498 Enable Keyboard navigation after change submit
 | 
						|
* issue 691 Make ']' on last file go up to change
 | 
						|
* issue 741 Make ENTER work for 'Create Group'
 | 
						|
* issue 622 Denote a symbolic link in side-by-side viewer
 | 
						|
* issue 612 Display empty branch list when project has no repository
 | 
						|
* issue 672 Fix deleting exclusive branch level rights
 | 
						|
* issue 645 Display 'No difference' between unchanged patchsets
 | 
						|
* Display groups as links to group information
 | 
						|
* Remove ctrl-d keybinding to discard comment, honor browser default
 | 
						|
* Do not auto enable save buttons, wait for changes to be made
 | 
						|
* Disable 'Create Group' button if group name not entered
 | 
						|
* Show commit message in PatchScreen if old patch sets are compared
 | 
						|
* Fixed a number of focus and shortcut bugs in Firefox, Chrome
 | 
						|
 | 
						|
* issue 487 Work around buggy MyersDiff by killing threads
 | 
						|
+
 | 
						|
MyersDiff sometimes locked up in an infinite loop when computing
 | 
						|
the intraline difference information for a file.  These threads
 | 
						|
are now killed after an administrator specified timeout
 | 
						|
(cache.diff_intraline.timeout, default is 5 seconds).  If the
 | 
						|
timeout is reached the file content is displayed without intraline
 | 
						|
differences.  This offers reduced functionality to the end-user, but
 | 
						|
prevents the "path of death" which usually took down a Gerrit server.
 | 
						|
 | 
						|
* Hide access rights not visible to user
 | 
						|
+
 | 
						|
Users were able to view access rights for branches they didn't
 | 
						|
actually have READ +1 permission on.  This may have leaked
 | 
						|
information about branches and/or groups to users that shouldn't
 | 
						|
know about code names contained within either string.  Users that
 | 
						|
are not project owners may now only view access rights for branches
 | 
						|
they have at least READ +1 permission on.
 | 
						|
 | 
						|
Change Query
 | 
						|
~~~~~~~~~~~~
 | 
						|
* issue 689 Fix age:4days to parse correctly
 | 
						|
* Make branch: operator slightly less ambiguous
 | 
						|
 | 
						|
Push Support
 | 
						|
~~~~~~~~~~~~
 | 
						|
* issue 695 Permit changing only the author of a commit
 | 
						|
+
 | 
						|
Correcting only the author of a change failed to upload the new patch
 | 
						|
set onto the existing change, as neither the message nor the files
 | 
						|
were modified.  Fixed.
 | 
						|
 | 
						|
* issue 576 Allow Push Branch +3 to force replace a tag
 | 
						|
+
 | 
						|
Previously it was not possible to replace a tag object, even if
 | 
						|
`git push \--force` was used.  Fixed.
 | 
						|
 | 
						|
* issue 690 Refuse to run receive-pack if refs/for/branch exists
 | 
						|
+
 | 
						|
If a server repository was corrupted by an administrator manually
 | 
						|
creating a reference within the magical refs/for/ namespace, Gerrit
 | 
						|
became confused when changes were uploaded for review.  If this case
 | 
						|
occurs push now aborts very early, with a clear error message
 | 
						|
indicating the problem.  To recover an administrator must clear the
 | 
						|
refs/for/ namespace manually.
 | 
						|
 | 
						|
* Allow receive-pack without Read +2 but with Push Head +1
 | 
						|
+
 | 
						|
Users who had direct branch push permission but lacked the ability to
 | 
						|
create changes for review were unable to push to a project.  Fixed.
 | 
						|
This (finally) makes Gerrit a replacement for Gitosis or Gitolite.
 | 
						|
 | 
						|
Replication
 | 
						|
~~~~~~~~~~~
 | 
						|
* issue 683 Don't assume authGroup = "Registered Users" in replication
 | 
						|
+
 | 
						|
Previously a misconfigured authGroup in replication.config may have
 | 
						|
caused the server to assume "Registered Users" instead of the group(s)
 | 
						|
admin actually wanted.  This may have caused the replication to see
 | 
						|
(or not see) the correct set of projects.
 | 
						|
 | 
						|
* issue 482 Upon replication fail, automatically retry later
 | 
						|
+
 | 
						|
If replication fails (for example due to temporary network
 | 
						|
connectivity problems), other pending replication events to the
 | 
						|
same server are deferred and retried later until successful.
 | 
						|
 | 
						|
* Replicate all refs received from push
 | 
						|
+
 | 
						|
Replication now replicates all references, not just those that
 | 
						|
appear under `refs/heads`, `refs/tags`, or `refs/changes`.  This
 | 
						|
fix may be relevant if the server supports user-private sandboxes
 | 
						|
such as `refs/dev/'$\{username\}'/*`.
 | 
						|
 | 
						|
* issue 658 Allow refspec shortcuts (push = master) for replication
 | 
						|
 | 
						|
User Management
 | 
						|
~~~~~~~~~~~~~~~
 | 
						|
* Ensure proper escaping of LDAP group names
 | 
						|
+
 | 
						|
Some special characters may appear in LDAP group names, these must be
 | 
						|
escape when looking up the group information from JNDI, otherwise the
 | 
						|
lookup fails.  Fixed by applying the necessary escape sequences.
 | 
						|
 | 
						|
* Let login fail if user name cannot be set
 | 
						|
+
 | 
						|
If the user name for a new account is supposed to import from LDAP
 | 
						|
but cannot because it is already in use by another user on this
 | 
						|
server, the new account won't be created.
 | 
						|
 | 
						|
Administration
 | 
						|
~~~~~~~~~~~~~~
 | 
						|
* gerrit.sh: actually verify running processes
 | 
						|
+
 | 
						|
Previously `gerrit.sh check` claimed a server was running if the
 | 
						|
pid file was present, even if the process itself was dead.  It now
 | 
						|
checks `ps` for the process before claiming it is running.
 | 
						|
 | 
						|
* Don't allow exclusive branch rights to block Owner inheritance
 | 
						|
+
 | 
						|
Exclusive branch level rights prevented the a higher level branch
 | 
						|
owner from managing the branch rights, unless they had an additional
 | 
						|
access right for the exclusive rights.  Now Owner inheritance cannot
 | 
						|
be blocked, ensuring that the higher level owner can manage their
 | 
						|
entire namespace.
 | 
						|
 | 
						|
* Allow overriding permissions from parent project
 | 
						|
+
 | 
						|
Permissions in the parent project could not be overridden in the
 | 
						|
child project.  Permissions can now be overidden if the category,
 | 
						|
group name and reference name all match.
 | 
						|
 | 
						|
Version
 | 
						|
-------
 | 
						|
ef16a1816f293d00c33de9f90470021e2468a709
 |