<commit_before>Release notes for Gerrit 2.6
============================

Gerrit 2.6 is now available:

link:http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.6.war[http://code.google.com/p/gerrit/downloads/detail?name=gerrit-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.<commit_msg>2.6 Release Notes: s/EMail/Email/g<commit_after>Release notes for Gerrit 2.6
============================

Gerrit 2.6 is now available:

link:http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.6.war[http://code.google.com/p/gerrit/downloads/detail?name=gerrit-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.
{'fraction_non_alphanumeric': 0.09466033643983354, 'fraction_numerical': 0.02028017115057734, 'mean_word_length': 4.262800740283775, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 24, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1862031', 'n_tokens_mistral': 5131, 'n_tokens_neox': 4730, 'n_words': 2112}