|Release notes for Gerrit 2.1.3
|Gerrit 2.1.3 is now available in the usual location:
|*WARNING* This release contains multiple schema changes. To upgrade:
| java -jar gerrit.war init -d site_path
|* issue 289 Remove reviewers (or self) from a change
|Project and change owners can now remove any reviewer from a change
|by clicking an "X" next to their name in the approval table.
|Individual users can also remove themselves from any change.
|This feature permits users to stop getting notified about a change
|they no longer have an interest in, but had commented on previously.
|* issue 124 Index changes by external issue tracking id numbers
|Changes can be searched for by an external issue tracking system's
|id numbers. Site administrators can configure trackingid sections in
|gerrit.config to parse and extract issue tracking links from a commit
|message's footer, and have them indexed by Gerrit. Users can search
|for relevant changes using the search operator `tr:` or `bug:`,
|for example `tr:432181` or `bug:JIRA-42`. Administrators can index
|existing change records using the ScanTrackingIds program.
|* List branches/tags containing a merged change
|Merged change pages now display a new expandable section, 'Included
|In', listing all branches and tags that contain the change.
|* issue 391 Reduce clicks need to approve and submit
|Users who have Submit +1 permission for a change can now click
|'Publish Comments and Submit' on the publish comments screen,
|combining the 'Publish Comments' and 'Submit Patch Set n' actions
|into a single click.
|* Simplify setup of non-range access such as Submit
|If an access control doesn't really make sense as a range of values,
|Gerrit now displays only one box to select the maximum permitted
|value from, rather than two boxes to set the min/max.
|* Make Admin > Projects UI accessible to all users
|All projects that are visible to the current user are now listed
|in the Admin > Projects page, as are the project's Branches and
|Access tabs. Editing is obviously disabled, unless the user has
|owner level access to the project, or one of its branches.
|* Branch-level read access is now supported
|Project owners/administrators can now use the access tab to
|control which groups can read certain branches, enabling hidden
|branches within a more widely visible project. Additionally,
|replication.config honors these settings through the authGroup
|variable, allowing a server administrator to limit which branches
|are replicated to certain mirrors.
|* issue 273 Inherit project permissions from more than just All Projects
|Projects can now be organized into an inheritance hierarchy, allowing
|administrators to cluster common access rules for different groups
|of projects. The create-project command learned a new \--parent
|option to set the hierarchy immediately.
|* auth.allowedOpenID can limit which providers can be used
|Administrators can now set auth.allowedOpenID in gerrit.config
|to restrict which OpenID provider(s) a user can use to register
|for an account. This may be useful to restrict login to only the
|organization's local provider, or a single trusted 3rd party.
|* Branch-level access control is now inherited by default
|Previously branch level access controls were exclusive, locking out
|all other groups that may have been inherited from All Projects,
|or through a wildcard like 'refs/heads/*'. Branch access is now
|inherited by default, but the old exclusive behavior can be obtained
|by prefixing the reference with '-'.
|* create-account: Permit creation of batch user accounts over SSH
|* issue 269 Enable create-project for non-Administrators
|* ls-projects: New -b option displays the sha1 of each branch
|* ls-projects: New -t option shows the project hierarchy
|* gerrit show-queue is now accessible to all users
|Results are filtered to display only queue entries that are operating
|on projects the user is permitted to see. Replication URLs are
|masked for non-admin users, and instead display the remote name
|from the replication.config file.
|* issue 310 review \--submit: Submit a change over SSH
|Changes can now be submitted over SSH by using the new \--submit
|command line flag to gerrit review.
|* gerrit approve deprecated
|To support the new \--submit flag, gerrit approve has been renamed
|to gerrit review, better matching the web UI name for the concept.
|The old `gerrit approve` name will be kept around as an alias to
|provide time to migrate hooks/scripts/etc.
|Hooks / Stream Events
|* \--change-url parameter passed to hooks
|The change URL was supplied in the stream-events feed, but was
|not passed into hooks, making it difficult for a hook to send a
|notification email with a link back to Gerrit. Fixed by adding
|* Patch set uploader passed to hooks
|The identity of the user who uploaded a patch set was added as both
|a parameter to patchset-created hook, and to the patch set entity
|sent through stream-events.
|* issue 506 stream-events: Include the ref in patch sets
|The reference (e.g. 'refs/changes/12/812/2') to download a patch
|set is now included in the stream-events record, making it possible
|for a monitor to easily pull down a patch set and compile it.
|* Example hook to auto-re-approve a trivial rebase
|* transfer.timeout: Support configurable timeouts for dead clients
|Sometimes `repo sync` can leave dead connections open to Gerrit Code
|Review, resulting in worker threads that are tied up indefinitely,
|waiting for client IO that will never occur. Administrators may set
|transfer.timeout to place an upper bound on how long the server will
|wait for the client before aborting the connection and releasing
|the worker thread back into the pool.
|* container.slave: Automatically enable --slave
|Adminstrators can now add `container.slave = true` to their slave's
|gerrit.config file, avoiding the need to make sure they always
|pass the --slave flag on the command line when starting their
|* Add separate task queue for non-interactive users
|Users who are a member of the special 'Non Interactive Users' group
|can now have all of their SSH commands scheduled onto a different
|thread pool than everyone else. If enabled, this feature can help
|ensure quick response time for normal users when the system is
|heavily loaded by batch tasks.
|* Explain a remote rejection of a non-fast-forward
|If the remote peer rejected a non-fast-forward replication, make
|it clear that it was the remote that rejected the push, and not
|Gerrit Code Review's client logic. The error is often caused by
|the remote repository having receive.denyNonFastForwards being set
|to true in $GIT_DIR/config. Gerrit's error log message now hints
|at checking this setting on the remote repository.
|* Internal dependencies updated
|Updated JGit to 0.8.4, Jetty to 7.0.2.v20100331, H2 database to
|1.2.134, Apache Commons Codec to 1.4, Apache Commons Net to 2.1,
|Apache Commons DBCP to 1.4.
|* issue 396 Prevent 'no-score' approvals from being recorded
|Change messages no longer say 'No score; no score' when the user
|has not selected a particular approval setting.
|* issue 396 Summarize the number of inline comments
|A change message is now always recorded at the top level of a change
|anytime inline comments are published, even if no score change
|took place, and no cover letter was supplied by the user. The
|auto-generated message is a one line summary indicating how many
|inline comments were published at that time. This makes it easier
|to see what has occurred on the change.
|* issue 461 Space out Review and Submit Patch Set buttons
|The risk of clicking 'Submit Patch Set n' when the user meant to
|click 'Review' has been reduced by spacing the buttons further apart.
|* issue 587 Fix user site header/footer preference
|The user preference to hide the site header/footer wasn't always
|being applied. Fixed.
|* issue 575 Require branches to always start from commits
|Branches could be created starting from annotated tags, resulting
|in crashes when a change gets submitted to the branch. Fixed by
|ensuring branches always start from commits.
|* issue 574 Add Cancel button to Register New Email dialog
|Users couldn't (easily) get out of the dialog popped up by the
|'Register New Email...' button. A cancel button was added to
|close the dialog.
|* init: Import non-standardly named Git repositories
|When scanning for projects, any directory that is a valid Git
|repository is now imported, even if its name does not end with
|the standard '.git' suffix.
|* issue 460 gerrit.sh: Request at least 1024 file descriptors
|In the default configuration, Gerrit Code Review started with a
|hard limit of 256 file descriptors, which is too small for any site.
|This caused a number of failures, and a number of bugs were filed.
|The default has been raised to 1024.
|* issue 578 Improve schema version update by avoiding early pruning
|Previously init kept trying to remove unused tables or columns
|during each schema upgrade step. These removes are now deferred
|until the last step.
|* review: Actually log an internal server error's root cause
|Internal server failures (such as database connectivity errors)
|were not properly logged by `gerrit approve` (now gerrit review).
|Fixed by logging the root cause of the failure.
|* Display error when HTTP authentication isn't configured
|Error reporting for a failed login attempt when auth.type is HTTP
|and the HTTP server isn't supplying the expected header is now more
|explicit about describing the problem. This helps new site setups,
|but doesn't have any impact on an existing site.
|* Fix javax.naming.PartialResultException: Unprocessed Continuation
|LDAP directory trees that require following a referral in order
|to lookup a name usually failed with the above Java exception
|during sign-in. Administrators can enable following by adding
|`ldap.referral = follow` to their gerrit.config file.
|* documentation: Clarified the ownership of '\-- All Projects \--'
|The magic project All Projects isn't allowed to have ownership
|delegated, and the documentation wasn't clear why. Fixed by
|explaining the rationale in more detail.
|* issue 533 Fix JAR versions in other container installation
|The installation process for putting Gerrit Code Review under a
|3rd party servlet container was out of date, as some JARs had
|the wrong versions listed. Fixed.
|* suexec: Document the suexec command
|The suexec command introduced in 2.1.2 was never documented. Fixed.
|* Corrected Eclipse documentation on importing Maven projects
|The Maven plugin changed some of its user interface, resulting in
|our step-by-step documentation being out of date. Fixed to match
|the current stable version of the Maven plugin.