diff --git a/README.md b/README.md
index 5a95019..569c7b2 100644
--- a/README.md
+++ b/README.md
@@ -136,9 +136,10 @@
 * GitHub Integration
 
 * GitHub URL: [https://github.com]: <confirm>
-* Use GitHub for Gerrit login? [Y/n] Y
+* GitHub API URL: [https://api.github.com]: <confirm>
 * ClientId []: <provided client id from previous step>
 * ClientSecret []: <provided client secret from previous step>
+* Gerrit OAuth implementation [http/?]: <http or oauth>
 
 ### Receiving Pull Request events to automatically import
 
@@ -195,4 +196,4 @@
   refs/for/foo, refs/meta/bar
 ```
 
-More information on Gerrit magic refs can be found [here](https://gerrit-review.googlesource.com/Documentation/intro-user.html#upload-change)
\ No newline at end of file
+More information on Gerrit magic refs can be found [here](https://gerrit-review.googlesource.com/Documentation/intro-user.html#upload-change)
diff --git a/github-oauth/pom.xml b/github-oauth/pom.xml
index 75b9c09..4372d9c 100644
--- a/github-oauth/pom.xml
+++ b/github-oauth/pom.xml
@@ -89,12 +89,12 @@
     <dependency>
       <groupId>org.kohsuke</groupId>
       <artifactId>github-api</artifactId>
-      <version>1.116</version>
+      <version>1.315</version>
     </dependency>
     <dependency>
       <groupId>com.infradna.tool</groupId>
       <artifactId>bridge-method-injector</artifactId>
-      <version>1.18</version>
+      <version>1.23</version>
     </dependency>
     <dependency>
       <groupId>org.apache.httpcomponents</groupId>
diff --git a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestCreateChange.java b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestCreateChange.java
index 3d0ec26..f2a7f06 100644
--- a/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestCreateChange.java
+++ b/github-plugin/src/main/java/com/googlesource/gerrit/plugins/github/git/PullRequestCreateChange.java
@@ -39,7 +39,6 @@
 import com.google.gerrit.server.query.change.InternalChangeQuery;
 import com.google.gerrit.server.update.BatchUpdate;
 import com.google.gerrit.server.update.UpdateException;
-import com.google.gerrit.server.util.time.TimeUtil;
 import com.google.inject.Inject;
 import com.google.inject.Provider;
 import java.io.IOException;
@@ -101,9 +100,7 @@
           RestApiException {
     try (BatchUpdate bu =
         updateFactory.create(
-            project.getNameKey(),
-            userFactory.create(pullRequestOwner),
-            Instant.now())) {
+            project.getNameKey(), userFactory.create(pullRequestOwner), Instant.now())) {
 
       return internalAddCommitToChange(
           bu,
