| Release notes for Gerrit 2.4 |
| ============================ |
| |
| Gerrit 2.4 is now available: |
| |
| link:http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.4.war[http://code.google.com/p/gerrit/downloads/detail?name=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 |