|  | = Release notes for Gerrit 2.1.3 | 
|  |  | 
|  | Gerrit 2.1.3 is now available in the usual location: | 
|  |  | 
|  | link:https://www.gerritcodereview.com/download/index.html[https://www.gerritcodereview.com/download/index.html] | 
|  |  | 
|  | == Schema Change | 
|  |  | 
|  | *WARNING* This release contains multiple schema changes.  To upgrade: | 
|  | ---- | 
|  | java -jar gerrit.war init -d site_path | 
|  | ---- | 
|  |  | 
|  |  | 
|  | == New Features | 
|  |  | 
|  | === Web UI | 
|  |  | 
|  | * 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. | 
|  |  | 
|  | === Access Controls | 
|  |  | 
|  | * 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 '-'. | 
|  |  | 
|  | === SSH Commands | 
|  |  | 
|  | * 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 | 
|  | the parameter. | 
|  |  | 
|  | * 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. | 
|  |  | 
|  | === Contrib | 
|  |  | 
|  | * Example hook to auto-re-approve a trivial rebase | 
|  |  | 
|  | === Misc. | 
|  |  | 
|  | * 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 | 
|  | slave server. | 
|  |  | 
|  | * 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. | 
|  |  | 
|  |  | 
|  | == Bug Fixes | 
|  |  | 
|  | === Web UI | 
|  |  | 
|  | * 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. | 
|  |  | 
|  | === Server Programs | 
|  |  | 
|  | * 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. | 
|  |  | 
|  | === Configuration | 
|  |  | 
|  | * 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 | 
|  |  | 
|  | * 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. | 
|  |  | 
|  |  | 
|  | == Version | 
|  |  | 
|  | e8fd49f5f7481e2f916cb0d8cfbada79309562b4 |