blob: 4600e5ab73068f840b398bc3366eb7120ddc3ffc [file] [log] [blame]
Release notes for Gerrit 2.6
============================
Gerrit 2.6 is now available:
link:http://code.google.com/p/gerrit/downloads/detail?name=gerrit-full-2.6.war[http://code.google.com/p/gerrit/downloads/detail?name=gerrit-full-2.6.war]
Gerrit 2.6 includes the bug fixes done with
link:ReleaseNotes-2.5.1.html[Gerrit 2.5.1] and
link:ReleaseNotes-2.5.2.html[Gerrit 2.5.2]. These bug fixes are *not*
listed in these release notes.
Schema Change
-------------
*WARNING:* This release contains schema changes. To upgrade:
----
java -jar gerrit.war init -d site_path
----
*WARNING:* Upgrading to 2.6.x requires the server be first upgraded to 2.1.7 (or
a later 2.1.x version), and then to 2.6.x. If you are upgrading from 2.2.x.x or
newer, you may ignore this warning and upgrade directly to 2.6.x.
New Features
------------
Review UI
~~~~~~~~~
* The reviewer matrix on a change displays gray boxes where
permissions do not allow voting in that category. The coloring
enables authors to quickly identify if another reviewer is
necessary to continue the change.
* New 'Rebase If Necessary' submit type. This is similar to cherry
pick, but honors change dependency information.
* Submit type displayed per-change in the info block.
* Submit type selectable per-change by `submit_type` Prolog rules.
* The rebase button is hidden when the patch set is current.
* `suggest.from` configures a minimum number of characters before
matches for reviewers, accounts, groups or projects are offered.
* A change's topic can be added, removed or changed from the
change screen.
* A change's commit message can be edited from the change screen.
* The patch set review screen can include radio buttons for custom
labels if enabled by
link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/prolog-cookbook.html#_how_to_write_submit_rules[submit rules].
Access Controls
~~~~~~~~~~~~~~~
* Remove Reviewer is a new permission.
* Pushing a signed tag is a new permission.
* Editing the topic name is a new permission.
* Raw database access with the `gsql` command is a new global capability.
+
Previously site administrators had this capability by default. Now it has
to be explicitly assigned, even for site administrators.
* link:https://code.google.com/p/gerrit/issues/detail?id=1585[Issue 1585]:
Viewing other users' draft changes is a new permission.
* link:https://code.google.com/p/gerrit/issues/detail?id=1675[Issue 1675]:
Deleting and publishing other users' draft changes is a new permission.
* LDAP group names are configurable, `cn` is still the default.
* LDAP cache reduces the number of recursive group queries.
* Kerberos authentication to LDAP servers is now supported.
* Basic project properities are now inherited by default from parent
projects: Use Content Merge, Require Contributor Agreement, Require
Change Id, Require Signed Off By.
Hooks
~~~~~
* Change topic is passed to hooks as `--topic NAME`.
* link:https://code.google.com/p/gerrit/issues/detail?id=1200[Issue 1200]:
New `reviewer-added` hook and stream event when a reviewer is added.
* link:https://code.google.com/p/gerrit/issues/detail?id=1237[Issue 1237]:
New `merge-failed` hook and stream event when a change cannot be submitted due to failed merge.
SSH
~~~
* Descriptions are added to ssh commands.
+
If `gerrit` is called without arguments, it will now show a list of available
commands with their descriptions.
* `create-account --http-password` enables setting/resetting the
HTTP password of role accounts, for Git or JSON API access.
* `ls-projects --has-acl-for` lists projects that mention a group
in an ACL, identifying where rights are granted.
* `query` includes submit record information from Prolog rules.
* `query` includes `resumeSortKey` in summary block.
* `query` includes author and change size information when given
certain options on the command line.
* `test-submit-rule` tests the `can_submit` rule with a prolog script loaded from a file or stdin.
* `ls-user-refs` lists which refs are visible for a given user.
Plugins
~~~~~~~
* Plugins can contribute Prolog facts/predicates from Java.
* Plugins can prompt for parameters during `init` with `InitStep`.
* Plugins can now contribute JavaScript to the web UI. UI plugins can
also be written and compiled with GWT.
* New Maven archetypes for JavaScript and GWT plugins.
* Plugins can contribute validation steps to received commits.
* Commit message length checks are moved to the `commit-message-length-validator`
plugin which is included as a core plugin in the Gerrit distribution and
can be installed during site initialization.
EMail
~~~~~
* link:https://code.google.com/p/gerrit/issues/detail?id=1531[Issue 1531]:
Email footers now include `Gerrit-HasComments: {Yes|No}`.
* Notifications configured in `project.config` can now be addressed
using any of To, CC, or BCC headers.
* `#if($email.hasInlineComments())` can be used in templates to test
if there are comments to be included in this email.
* Notification emails are sent to included groups.
* Comment notification emails are sent to project watchers.
* "Change Merged" emails include the diff output when `sendemail.includeDiff` is enabled.
Labels
~~~~~~
* Approval categories stored in the database have been replaced with labels
configured in `project.config`. Existing categories are migrated to
`project.config` in `All-Projects` as part of the schema upgrade; no user
action is required.
* Labels are no longer global; projects may define their own labels,
with inheritance.
Upgrades
~~~~~~~~
* link:https://code.google.com/p/gerrit/issues/detail?id=1619[Issue 1619]:
Embedded Jetty is now 8.1.7.v20120910.
* ASM bytecode library is now 4.0.
* JGit is now 2.3.1.201302201838-r.78-g8fcde4b.
* asciidoc 8.6.3 is now required to build the documentation.
* link:https://code.google.com/p/gerrit/issues/detail?id=1155[Issue 1155]:
prettify is now r225
Bug Fixes
---------
Web UI
~~~~~~
* Links to CGit were broken when `remove-suffix` was enabled.
* link:https://code.google.com/p/gerrit/issues/detail?id=926[Issue 926]:
Internet Explorer versions 9 and 10 are supported.
Git
~~~
* The wildcard `.` is now permitted in reference regex rules.
* Checking if a change is mergeable no longer writes to the repository.
* Improved `git ls-remote` and `git fetch` performance by caching
changes, decreasing database queries and traffic.
* link:https://code.google.com/p/gerrit/issues/detail?id=1608[Issue 1608]:
Commits pushed without a Change-Id now warn with instructions on how
to download and install the commit-msg hook.
* Submitted but unmerged changes are periodically retried. This is
necessary for a multi-master configuration where the second master
may need to retry a change not yet merged by the first. Please note
we still do not believe this is sufficient to enable multi-master.
* Added a server-level option to use JGit's new, experimental recursive
merger.
SSH
~~~
* `plugin ls` shows status of enabled plugins as "ENABLED".
* `review --restore` allows a review score to be added on the restored change.
* link:https://code.google.com/p/gerrit/issues/detail?id=1721[Issue 1721]:
`review --message` only adds the message once.
* `ls-groups` prints "N/A" if the group's name is not set.
EMail
~~~~~
* Missing email templates are added to the site initialization.
* Merge failure emails are only sent once per day.
* Unused macros are removed from the mail templates.
* Unnecessary ellipses are no longer applied to email subjects.
* The diff output from an "octopus merge" is made more readable in change notification emails.
* link:https://code.google.com/p/gerrit/issues/detail?id=1480[Issue 1480]:
Proper error message is shown when registering an email address fails.
* link:https://code.google.com/p/gerrit/issues/detail?id=1692[Issue 1692]:
Review comments are sorted before being added to notification emails.
Documentation
-------------
User Documentation
~~~~~~~~~~~~~~~~~~
* Added documentation of how to authenticate uploads over HTTP.
* Added documentation of the `auth.editFullNameUrl` and `auth.httpPasswordUrl` configuration parameters.
* Improved the push tag examples in the access control documentation.
* Improved documentation of error messages related to commit message footer content.
* Added documentation of the "commit already exists" error message.
* Added documentation of contributor agreements.
* Added missing documentation of JSON attributes.
* Added missing documentation of mail templates.
* Added missing documentation of the ssh `version` command.
* link:https://code.google.com/p/gerrit/issues/detail?id=1602[Issue 1602]:
Corrected references to `refs/changes` in the access control documentation.
* Various minor grammatical and formatting corrections.
* Manual pages can be optionally created/installed for core gerrit ssh commands.
Developer And Maintainer Documentation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Updated the Maven plugin installation instructions for Eclipse 3.7 (Indigo).
* Improved the release documentation.
* The release notes are now made when a release is created by running the `tools/release.sh` script.