| Release notes for Gerrit 2.1.3 | 
 | ============================== | 
 |  | 
 | Gerrit 2.1.3 is now available in the usual location: | 
 |  | 
 | link:http://code.google.com/p/gerrit/downloads/list[http://code.google.com/p/gerrit/downloads/list] | 
 |  | 
 | 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 |