Merge branch 'stable-2.10' into stable-2.11

* stable-2.10:
  Prepare for next...?
  Release 3.14
  Update README
  Prelease for next development iteration
  Release 3.1
  Fix README
  Prepare for next development iteration
  Release 3.0
  Update README
  Bump amqp-client to 3.5.0
  Update README and Documentation

Change-Id: I18c05ec2ac6c09bff850b2e2f484639c7c08ef72
diff --git a/gradle.properties b/gradle.properties
index f475d25..84e72a9 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,2 +1,2 @@
 apiType=plugin
-apiVersion=2.10
+apiVersion=2.11-SNAPSHOT
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java
index d19b4c3..a78e513 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java
@@ -14,7 +14,7 @@
 
 package com.googlesource.gerrit.plugins.rabbitmq;
 
-import com.google.gerrit.common.ChangeListener;
+import com.google.gerrit.common.EventListener;
 import com.google.gerrit.extensions.events.LifecycleListener;
 import com.google.gerrit.extensions.registration.DynamicSet;
 import com.google.inject.AbstractModule;
@@ -63,6 +63,6 @@
     install(new FactoryModuleBuilder().implement(EventWorker.class, UserEventWorker.class).build(EventWorkerFactory.class));
 
     DynamicSet.bind(binder(), LifecycleListener.class).to(Manager.class);
-    DynamicSet.bind(binder(), ChangeListener.class).to(DefaultEventWorker.class);
+    DynamicSet.bind(binder(), EventListener.class).to(DefaultEventWorker.class);
   }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java
index 5d31adc..201f0ac 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/MessagePublisher.java
@@ -15,11 +15,10 @@
 package com.googlesource.gerrit.plugins.rabbitmq.message;
 
 import com.google.gerrit.extensions.events.LifecycleListener;
-import com.google.gerrit.server.events.ChangeEvent;
+import com.google.gerrit.server.events.Event;
 import com.google.gson.Gson;
 import com.google.inject.Inject;
 import com.google.inject.assistedinject.Assisted;
-
 import com.googlesource.gerrit.plugins.rabbitmq.config.Properties;
 import com.googlesource.gerrit.plugins.rabbitmq.config.section.Monitor;
 import com.googlesource.gerrit.plugins.rabbitmq.session.Session;
@@ -78,7 +77,7 @@
   }
 
   @Override
-  public void onChangeEvent(ChangeEvent event) {
+  public void onEvent(Event event) {
     if (available && session.isOpen()) {
       session.publish(gson.toJson(event));
     }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/Publisher.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/Publisher.java
index 77d4962..8cc38cb 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/Publisher.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/Publisher.java
@@ -1,11 +1,11 @@
 package com.googlesource.gerrit.plugins.rabbitmq.message;
 
-import com.google.gerrit.common.ChangeListener;
+import com.google.gerrit.common.EventListener;
 
 import com.googlesource.gerrit.plugins.rabbitmq.config.Properties;
 import com.googlesource.gerrit.plugins.rabbitmq.session.Session;
 
-public interface Publisher extends ChangeListener {
+public interface Publisher extends EventListener {
   public void start();
   public void stop();
   public void enable();
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/DefaultEventWorker.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/DefaultEventWorker.java
index 6ebfb0d..2d2e5ba 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/DefaultEventWorker.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/DefaultEventWorker.java
@@ -14,10 +14,9 @@
 
 package com.googlesource.gerrit.plugins.rabbitmq.worker;
 
-import com.google.gerrit.common.ChangeListener;
-import com.google.gerrit.server.events.ChangeEvent;
+import com.google.gerrit.common.EventListener;
+import com.google.gerrit.server.events.Event;
 import com.google.inject.Singleton;
-
 import com.googlesource.gerrit.plugins.rabbitmq.message.Publisher;
 
 import org.slf4j.Logger;
@@ -27,7 +26,7 @@
 import java.util.concurrent.CopyOnWriteArraySet;
 
 @Singleton
-public class DefaultEventWorker implements ChangeListener, EventWorker {
+public class DefaultEventWorker implements EventListener, EventWorker {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(DefaultEventWorker.class);
 
@@ -54,9 +53,9 @@
   }
 
   @Override
-  public void onChangeEvent(ChangeEvent event) {
+  public void onEvent(Event event) {
     for (Publisher publisher : publishers) {
-      publisher.onChangeEvent(event);
+      publisher.onEvent(event);
     }
   }
 }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/UserEventWorker.java b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/UserEventWorker.java
index 1f7710d..3f63b79 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/UserEventWorker.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/rabbitmq/worker/UserEventWorker.java
@@ -14,7 +14,7 @@
 
 package com.googlesource.gerrit.plugins.rabbitmq.worker;
 
-import com.google.gerrit.common.ChangeHooks;
+import com.google.gerrit.common.EventSource;
 import com.google.gerrit.reviewdb.client.Account;
 import com.google.gerrit.reviewdb.server.ReviewDb;
 import com.google.gerrit.server.CurrentUser;
@@ -39,7 +39,7 @@
 
   private static final Logger LOGGER = LoggerFactory.getLogger(UserEventWorker.class);
 
-  private final ChangeHooks hooks;
+  private final EventSource source;
   private final WorkQueue workQueue;
   private final AccountResolver accountResolver;
   private final IdentifiedUser.GenericFactory userFactory;
@@ -49,14 +49,14 @@
 
   @Inject
   public UserEventWorker(
-      ChangeHooks hooks,
+      EventSource source,
       WorkQueue workQueue,
       AccountResolver accountResolver,
       IdentifiedUser.GenericFactory userFactory,
       ThreadLocalRequestContext threadLocalRequestContext,
       PluginUser pluginUser,
       SchemaFactory<ReviewDb> schemaFactory) {
-    this.hooks = hooks;
+    this.source = source;
     this.workQueue = workQueue;
     this.accountResolver = accountResolver;
     this.userFactory = userFactory;
@@ -111,7 +111,7 @@
           }
 
           IdentifiedUser user = userFactory.create(userAccount.getId());
-          hooks.addChangeListener(publisher, user);
+          source.addEventListener(publisher, user);
           LOGGER.info("Listen events as : {}", userName);
         } catch (OrmException e) {
           LOGGER.error("Could not query database for listenAs", e);
@@ -129,7 +129,7 @@
 
   @Override
   public void removePublisher(final Publisher publisher) {
-    hooks.removeChangeListener(publisher);
+    source.removeEventListener(publisher);
   }
 
   @Override