Release notes for Gerrit 2.8 ============================ Gerrit 2.8 is now available: link:http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.8.war[ http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.8.war] Schema Change ------------- There is no schema change from link:ReleaseNotes-2.7.html[Gerrit 2.7]. Release Highlights ------------------ * Lots of new link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api.html[ REST API endpoints]. * New build system using link:http://facebook.github.io/buck/[Facebook Buck]. New Features ------------ Configuration ~~~~~~~~~~~~~ * Project owners can define `receive.maxObjectSizeLimit` in the link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/config-gerrit.html#receive.maxObjectSizeLimit[ project configuration] to further reduce the global setting. * Site administrators can define a link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/config-mail.html#_footer_vm[ footer template] that will be appended to the end of all outgoing emails after the 'ChangeFooter' and 'CommentFooter'. Web UI ~~~~~~ Global ^^^^^^ * The change status is shown in a separate column on dashboards and search results. Change Screens ^^^^^^^^^^^^^^ * New button to cherry-pick the change to another branch. * When issuing a rebase via the Web UI, the committer is now the logged in user, rather than "Gerrit Code Review". + If the user has more than one email address, the preferred email address will be used. REST API ~~~~~~~~ Several new link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api.html[ REST API endpoints] are added. Access Rights ^^^^^^^^^^^^^ * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-access.html#list-access[ List access rights for project(s)] Accounts ^^^^^^^^ * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#create-account[ Create account] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#get-account-name[ Get account full name] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#set-account-name[ Set account full name] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#delete-account-name[ Delete account full name] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#list-account-emails[ List account email addresses] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#get-account-email[ Get account email address] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#set-preferred-email[ Set account preferred email address] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#create-account-email[ Create account email] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#delete-account-email[ Delete account email] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#get-active[ Get account state] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#set-active[ Set account state to active] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#delete-active[ Set account state to inactive] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#get-http-password[ Get account HTTP password] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#set-http-password[ Set or generate account HTTP password] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#delete-http-password[ Delete account HTTP password] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#list-ssh-keys[ List account SSH keys] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#get-ssh-key[ Get account SSH key] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#add-ssh-key[ Add account SSH key] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#delete-ssh-key[ Delete account SSH key] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-accounts.html#get-username[ Get account username] Changes ^^^^^^^ * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-changes.html#rebase-change[ Rebase change] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-changes.html#cherry-pick[ Cherry-pick revision] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-changes.html#get-content[ Get content of a file in a revision] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-changes.html#get-patch[ Get revision as a formatted patch] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-changes.html#get-diff[ Get diff of a file in a revision] Config ^^^^^^ * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-config.html#get-capabilities[ Get capabilities] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-config.html#get-version[ Get version] (of the Gerrit server) Projects ^^^^^^^^ * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-projects.html#list-branches[ List branches] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-projects.html#get-branch[ Get branch] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-projects.html#create-branch[ Create branch] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-projects.html#delete-branch[ Delete branch] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-projects.html#list-child-projects[ List child projects] * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/rest-api-projects.html#get-child-project[ Get child project] Capabilities ~~~~~~~~~~~~ New global capabilities are added. * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/access_control.html#capability_generateHttpPassword[ Generate Http Password] allows non-administrator users to generate HTTP passwords for users other than themselves. + This capability would typically be assigned to a non-interactive group to be able to generate HTTP passwords for users from a tool or web service that uses the Gerrit REST API. * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/access_control.html#capability_runAs[ Run As] allows users to impersonate other users by setting the `X-Gerrit-RunAs` HTTP header on REST API calls. + Site administrators do not inherit this capability; it must be granted explicitly. Plugins ~~~~~~~ Global ^^^^^^ * Plugins may now contribute buttons to various parts of the UI. Commit Message Length Checker ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * Commits whose subject or body length exceeds the limit can be rejected. Replication ^^^^^^^^^^^ * The `{$name}` placeholder is optional when replicating a single project, allowing a single project to be replicated under a different name. * Projects can be matched with wildcard or regex patterns in replication.config. ssh ~~~ * The `commit-msg` hook installation command is now link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/config_gerrit.html#gerrit.installCommitMsgHookCommand[ configurable]. * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/cmd-ls-members.html[ New `ls-members` command]. * link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/cmd-set-members.html[ New `set-members` command]. + New command to manipulate group membership. Members can be added or removed and groups can be included or excluded in one specific group or number of groups. Daemon ~~~~~~ * Add `--init` option to Daemon to initialize site on daemon start. + The `--init` option will also upgrade an already existing site and is processed in non-interactive (batch) mode. Bug Fixes --------- Web UI ~~~~~~ Global ^^^^^^ * link:https://code.google.com/p/gerrit/issues/detail?id=1574[Issue 1574]: Correctly highlight matches of text in escaped HTML entities in suggestion results. * link:https://code.google.com/p/gerrit/issues/detail?id=1996[Issue 1996]: The "Keyboard Shortcuts" help popup can be closed by pressing the Escape key. Change Screens ^^^^^^^^^^^^^^ * Default review comment visibility is changed to expand all recent. + By default all comments within the last week are expanded, rather than only the most recent. * link:https://code.google.com/p/gerrit/issues/detail?id=1814[Issue 1814]: Sort labels alphabetically by name in the approval table. Project Screens ^^^^^^^^^^^^^^^ * Only enable the delete branch button when branches are selected. * Disable the delete branch button while branch deletion requests are still being processed. User Profile Screens ^^^^^^^^^^^^^^^^^^^^ * The preferred email address field is shown as empty if the user has no preferred email address. REST API ~~~~~~~~ * Support raw input also in POST requests. * Show granted date for labels/all when using `/changes/`. * Return all revisions when `o=ALL_REVISIONS` is set on `/changes/`. ssh ~~~ * The `--force-message` option is removed from the `review` command. * link:https://code.google.com/p/gerrit/issues/detail?id=1908[Issue 1908]: Provide more informative error messages when rejecting updates. * Remove the limit in the query of patch sets by revision. * Add `isDraft` in the `patchSet` attribute of stream-events data. + This allows consumers of the event stream to determine whether or not the event is related to a draft patch set. Tools ~~~~~ * git-exproll.sh: return non-zero on errors Documentation ------------- * The link:http://gerrit-documentation.googlecode.com/svn/Documentation/2.8/index.html[ documentation index page] is rewritten in a hierarchical structure. * Various spelling mistakes are corrected in the documentation and previous release notes.