6d7ebc6318
Change-Id: Ibd0aa9a14f533771986cc1d43a712716457d424c
258 lines
8.3 KiB
Plaintext
258 lines
8.3 KiB
Plaintext
Release notes for Gerrit 2.4
|
|
============================
|
|
|
|
Gerrit 2.4 is now available:
|
|
|
|
link:https://www.gerritcodereview.com/download/gerrit-2.4.war[https://www.gerritcodereview.com/download/gerrit-2.4.war]
|
|
|
|
Schema Change
|
|
-------------
|
|
*WARNING:* This release contains schema changes. To upgrade:
|
|
----
|
|
java -jar gerrit.war init -d site_path
|
|
----
|
|
|
|
*WARNING:* Upgrading to 2.4.x requires the server be first upgraded to 2.1.7 (or
|
|
a later 2.1.x version), and then to 2.4.x. If you are upgrading from 2.2.x.x or
|
|
newer, you may ignore this warning and upgrade directly to 2.4.x.
|
|
|
|
New Features
|
|
------------
|
|
|
|
Security
|
|
~~~~~~~~
|
|
|
|
* Restrict visibility to arbitrary user dashboards
|
|
+
|
|
Administrators have some expectation when using the 'suggest.accounts'
|
|
visibility restriction feature that users cannot get the names or
|
|
email addresses for arbitrary accounts. In fact, because account IDs
|
|
are sequential, it would be easy for an adversary to get personal
|
|
information of all users on the server by requesting every user's
|
|
dashboard.
|
|
+
|
|
This includes changing the meaning of the 'suggest.accounts' config
|
|
option to be a boolean indicating whether account suggestion should
|
|
happen at all, which is now orthogonal to the account visibility
|
|
restriction policy. We still recognize the old values for
|
|
'suggest.accounts', with the slight behavior change that
|
|
'suggest.accounts=OFF' now means that users cannot access the dashboards
|
|
of any other users. Administrators who do not want this behavior can
|
|
update their configuration.
|
|
|
|
* Indicate that 'not found' may actually be a permission issue
|
|
|
|
Web
|
|
~~~
|
|
|
|
* Add user preference to mark files reviewed automatically or manually
|
|
+
|
|
Add a checkbox to the preferences header on the diff
|
|
screen which allows a user to specify whether they
|
|
want manual-reviewing enabled or disabled. Previously,
|
|
every file was auto marked reviewed when a user first
|
|
displayed it. The new manual mode prevents this auto
|
|
marking and only marks a file reviewed when the user
|
|
explicitly clicks on the reviewed checkbox.
|
|
|
|
* Use 'Auto Merge' for merge commit's base comparison
|
|
+
|
|
When reviewing a merge commit, the old wording in the version history dropdown
|
|
of 'Base' doesn't really match Gerrit's behavior. Updating this to use
|
|
'Auto Merge' as suggested by Shawn Pearce on IRC.
|
|
|
|
* issue 1035 Add rebase button to the change screen
|
|
+
|
|
This change adds a rebase button along with the rest of
|
|
the action buttons in the change page. When pressing the
|
|
button, the most recent patch set will be rebased onto
|
|
the tip of the destination branch or the latest patchset
|
|
of the change we depend upon. A new patch set containing
|
|
the rebased commit will be produced and added to the
|
|
change.
|
|
+
|
|
Rebasing of a change in web UI is restricted to change owner, submitter or
|
|
those with the (new) 'rebase' permission.
|
|
|
|
* Add a new permission 'rebase' to permit rebasing changes in the web UI
|
|
|
|
* Make a user's dashboard visible if any of the changes are visible to the
|
|
current user.
|
|
|
|
* Change 'Loading ...' to say 'Working ...' as, often, there is more going on
|
|
than just loading a response.
|
|
|
|
Performance
|
|
~~~~~~~~~~~
|
|
|
|
* Asynchronously send email so it does not block the UI
|
|
* Optimize queries for open/merged changes by project + branch
|
|
|
|
Git
|
|
~~~
|
|
|
|
* Implement a multi-sub-task progress monitor for ReceiveCommits
|
|
|
|
* Close corresponding change when pushing to 'refs/heads/*'
|
|
+
|
|
Gerrit would not close the open changes with matching change-ids,
|
|
when the user pushes commits directly to 'refs/heads/*'.
|
|
+
|
|
This issue could be triggered for two reasons:
|
|
|
|
. It is triggered when Gerrit detects no changes between the
|
|
pushed commits and the current patchset on the open changes. This
|
|
patch make sure that the matching open change is always closed when
|
|
pushing to 'refs/heads/*', even if no visible changes is detected.
|
|
|
|
. The same commit exists on another branch than the destination
|
|
branch. This could trick gerrit into just "re-closing" the wrong
|
|
change.
|
|
|
|
* Run ReceiveCommits in a shared thread pool
|
|
+
|
|
Since the work to ReceiveCommits may take a long, potentially unbounded
|
|
amount of time, we would like to have it run in the background so it
|
|
can be monitored for timeouts and cancelled, and have stalls reported
|
|
to the user from the main thread.
|
|
|
|
Search
|
|
~~~~~~
|
|
|
|
* Add the '--dependencies' option to the 'query' command.
|
|
+
|
|
This option includes information about patch sets which depend on, or are
|
|
needed by, each patch set.
|
|
|
|
* Branch Operator: Support full branch names
|
|
+
|
|
The search operator for branches required the provided value to be the
|
|
short branch name that is shown in the web interface (without the
|
|
'refs/heads/' prefix). Change the branch operator so that it also
|
|
supports full branch names as value.
|
|
+
|
|
It is intuitive that searching with 'branch:master' and searching with
|
|
'branch:refs/for/master' deliver the same result. So far
|
|
'branch:refs/for/master' was the same as searching with
|
|
'refs:refs/heads/refs/heads/master' which is unexpected for most users.
|
|
|
|
* Add comment inclusion via '&comments=true' over HTTP
|
|
+
|
|
With this change, we can fetch the comments on a patchset by sending a
|
|
request to 'https://site/query?comments=true'
|
|
|
|
Access Rights
|
|
~~~~~~~~~~~~~
|
|
|
|
* Added the 'emailReviewers' as a global capability.
|
|
+
|
|
This replaces the 'emailOnlyAuthors' flag of account groups.
|
|
|
|
Dev
|
|
~~~
|
|
|
|
* issue 1272 Add scripts to create release notes from git log
|
|
+
|
|
These script generates a list of commits from git log between two given commits
|
|
and outputs the asciidoc format containing list of commits subject and body.
|
|
|
|
* Update URL for m2eclipse
|
|
+
|
|
The project is now under the Eclipse Foundation umbrella.
|
|
|
|
* Add missing ignore for m2e prefs in gerrit-ehcache
|
|
|
|
* Add '--issues' and '--issue_numbers' options to the 'gitlog2asciidoc.py'
|
|
|
|
Miscellaneous
|
|
~~~~~~~~~~~~~
|
|
|
|
* Remove perl from 'commit-msg' hook
|
|
+
|
|
Removing perl from the commit-msg hook reduces the dependencies
|
|
gerrit imposes on its users.
|
|
|
|
* updating contrib 'trivial_rebase.py' for 2.2.2.1
|
|
|
|
Upgrades
|
|
--------
|
|
|
|
* Updated to Guice 3.0.
|
|
* Updated to gwtorm 1.4.
|
|
* Update JGit to 1.3.0.201202151440-r.75-gff13648
|
|
* Update to gwtjsonrpc 1.3
|
|
+
|
|
The change also shrinks the built WAR from 38M to 23M
|
|
by excluding the now unnecessary GWT server code.
|
|
|
|
Bug Fixes
|
|
---------
|
|
|
|
* issue 904 Users who starred a change should receive all the emails about a change.
|
|
|
|
* Fix: 'Diff All Side-by-Side' and 'Diff All Unified' buttons
|
|
+
|
|
When pressing the 'Diff All Side-by-Side' or
|
|
'Diff All Unified' button on the change screen, the
|
|
opened browser windows/tabs shows diffs using "Base"
|
|
as old version and the latest one as active patch set,
|
|
regardless what has been set using the
|
|
"Old Version History:" drop down menu and what is
|
|
currently active patch set.
|
|
+
|
|
Gerrit doesn't remember the base patch set in the URL,
|
|
making it impossible to copy-and-paste the URL to
|
|
co-workers to show them the same diff a user is
|
|
looking at.
|
|
+
|
|
This change fixes this behavior to make sure that
|
|
the opened new browser windows shows diffs using the
|
|
correct old patch set and active patch set.
|
|
|
|
* Fix NPEs looking up groups by UUID in GroupCache
|
|
|
|
* Fix default 'receive.timeout'
|
|
+
|
|
This should be in milliseconds, not seconds. Set the default to be
|
|
2 minutes in milliseconds and update the documentation to reflect
|
|
that milliseconds are the default unit of time used here.
|
|
|
|
* Fix 'development_become_any_account' redirects
|
|
* issue 1299 Allow configuration of optional pattern for gitweb file history link
|
|
* Use servlet context path during logout
|
|
|
|
* issue 1353 Fix case check for project name so that symlinks work again
|
|
* Fix merging of access sections
|
|
* Fix inconsistent behavior when replicating refs/meta/config
|
|
* Fix duplicated results on status:open project:P branch:B
|
|
|
|
Documentation
|
|
-------------
|
|
|
|
Access Rights
|
|
~~~~~~~~~~~~~
|
|
* Capabilities introduced
|
|
* Kill and priority capabilities
|
|
* Administrate server capability
|
|
* Create account capability
|
|
* Create group and project capability
|
|
* Flush caches capability
|
|
* Capability replication and view caches
|
|
* Capability view conn. & queue
|
|
* Example roles introduced
|
|
* Developer example role
|
|
* CI system example role
|
|
* Integrator example role
|
|
* Project owner example role
|
|
* Administrator example role
|
|
|
|
Miscellaneous
|
|
~~~~~~~~~~~~~
|
|
* User upload documentation: Replace changes
|
|
* Add visible-to-all flag in the documentation for cmd-create-group
|
|
* Add a contributing guideline for annotations
|
|
* Add missing header for suggest.accounts documentation
|
|
* Fix anchors for description of gitweb config parameters
|
|
* Add missing section name to config-gerrit documentation
|
|
* Fix documentation of ls-projects
|