Support for git protocol v2
Polymer 2
Mandatory plugins
See the New Features section for further details.
This release contains schema changes. To upgrade:
java -jar gerrit.war init -d site_path
reviewdb.client
package is renamed to entities
Plugins or extensions that import classes from the com.google.gerrit.reviewdb.client
package must change the imports to com.google.gerrit.entities
.
Id
and NameKey
classesPlugins and extensions that instantiate and use classes such as Account.Id
, Change.Id
, Project.NameKey
, Branch.NameKey
, etc, must adapt to the following changes.
The classes can no longer be instantiated with the new
operator. Instead they must be created with static factory methods.
new Account.Id(...)
--> Account.id(...)
new AccountGroup.Id(...)
--> AccountGroup.id(...)
new AccountGroup.UUID(...)
--> AccountGroup.uuid(...)
new Branch.NameKey(...)
--> BranchNameKey.create(...)
new Project.NameKey(...)
--> Project.nameKey(...)
‘Getter’ methods are now generated by the auto-value library and no longer have the get
prefix.
Account.getName()
-> Account.name()
Response<T>
REST API endpoint implementations must now return a Response
object that explicitly sets a status code. Plugins that currently only return an Object
must be adapted to the new interface.
The Powermock and Easymock libraries are no longer exported in the acceptance-framework
artifact, and are replaced by Mockito. Plugins that use Powermock and/or Easymock in their tests should either add explicit dependencies, or migrate the tests to Mockito.
Git protocol V2 is now enabled by default. A new permission-aware ref database ensures that Gerrit only ever returns refs that the calling user has access to.
Polymer is upgraded to version 2.
It is possible to configure which plugins are mandatory. Gerrit will fail to start if a mandatory plugin cannot be loaded.
Disabling and restarting of a mandatory plugin is rejected, but reloading of a mandatory plugin is still possible.
replication.config
Remove easymock, powermock and javassist from the acceptance framework
Remove promise-polyfill
Add mockito in the acceptance framework
Upgrade Apache sshd and mina-core to 2.3.0
Upgrade auto-value to 1.7
Upgrade bouncycastle to 1.61
Upgrade commons-compress to 1.18
Upgrade gitiles-servlet and blame-cache to 0.3-5
Upgrade jetty to 9.4.18.v20190429
Upgrade polymer to 2.7.2
Upgrade polymerelements/iron-autogrow-textarea to 2.2.0
Upgrade polymerelements/iron-dropdown to 2.2.1
Upgrade polymerelements/iron-icon to 2.1.0
Upgrade polymerelements/iron-iconset-svg to 2.2.1
Upgrade polymerelements/iron-input to 2.1.3
Upgrade polymerelements/iron-overlay-behavior to 2.3.4
Upgrade polymerelements/iron-selector to 2.1.0
Upgrade polymerelements/iron-test-helpers to 2.0.1
Upgrade polymerelements/test-fixture to 3.0.0
Upgrade polymerelements/paper-button to 2.1.3
Upgrade polymerelements/paper-input to 2.2.3
Upgrade polymerelements/paper-item to 2.1.1
Upgrade polymerelements/paper-listbox to 2.1.1
Upgrade polymerelements/paper-tabs to 2.1.1
Upgrade polymerelements/paper-toggle-button to 2.1.1
Upgrade visionmedia/page.js to 1.11.4
Upgrade truth to 1.0