diff --git a/lib/BUCK b/lib/BUCK
index 8abcb1a..0002bf5 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,5 +1,5 @@
 include_defs('//lib/maven.defs')
-GERRITFORGE = 'http://gerritforge.com/snapshot'
+GITBLIT = 'https://gitblit.github.io/gitblit-maven'
 
 maven_jar(
   name = 'pf4j',
@@ -10,10 +10,9 @@
 
 maven_jar(
   name = 'gitblit-jar',
-  id = 'com.gitblit:gitblit:1.7.0-SNAPSHOT',
-  sha1 = 'e89d8b21934f3267b0f1676fe6170b9be96c6802',
+  id = 'com.gitblit:gitblit:1.7.1',
   license = 'Apache2.0',
-  repository = GERRITFORGE,
+  repository = MAVEN_LOCAL,
 )
 
 maven_jar(
diff --git a/pom.xml b/pom.xml
index b4ea451..8c690af 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
   <artifactId>gitblit-plugin</artifactId>
   <description>GitBlit for Gerrit integrated as a plugin</description>
   <name>Gerrit - GitBlit Plugin</name>
-  <version>2.12-SNAPSHOT</version>
+  <version>2.12</version>
   <licenses>
     <license>
       <name>Apache License 2.0</name>
@@ -35,7 +35,7 @@
     <Gerrit-Module>com.googlesource.gerrit.plugins.gitblit.GitBlitModule</Gerrit-Module>
     <Gerrit-HttpModule>com.googlesource.gerrit.plugins.gitblit.GitBlitServletModule</Gerrit-HttpModule>
     <wicket.version>1.4.23</wicket.version>
-    <GitBlit-Version>1.7.0-SNAPSHOT</GitBlit-Version>
+    <GitBlit-Version>1.7.1</GitBlit-Version>
   </properties>
   <dependencies>
     <dependency>
diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitblit/GitBlitServletModule.java b/src/main/java/com/googlesource/gerrit/plugins/gitblit/GitBlitServletModule.java
index 11946bf..20dd78b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/gitblit/GitBlitServletModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/gitblit/GitBlitServletModule.java
@@ -25,9 +25,11 @@
 import com.gitblit.guice.ITicketServiceProvider;
 import com.gitblit.guice.WorkQueueProvider;
 import com.gitblit.manager.FederationManager;
+import com.gitblit.manager.FilestoreManager;
 import com.gitblit.manager.GitblitManager;
 import com.gitblit.manager.IAuthenticationManager;
 import com.gitblit.manager.IFederationManager;
+import com.gitblit.manager.IFilestoreManager;
 import com.gitblit.manager.IGitblit;
 import com.gitblit.manager.INotificationManager;
 import com.gitblit.manager.IPluginManager;
@@ -91,6 +93,7 @@
     bind(IRepositoryManager.class).to(RepositoryManager.class);
     bind(IProjectManager.class).to(ProjectManager.class);
     bind(IFederationManager.class).to(FederationManager.class);
+    bind(IFilestoreManager.class).to(FilestoreManager.class);
 
     // the monolithic manager
     bind(IGitblit.class).to(GitblitManager.class);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritAuthFilter.java b/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritAuthFilter.java
index ba34643..b898ba9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritAuthFilter.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritAuthFilter.java
@@ -63,7 +63,7 @@
 
     user =
         gitBlit.authenticate(username,
-            (GerritToGitBlitUserService.SESSIONAUTH + token).toCharArray());
+            (GerritToGitBlitUserService.SESSIONAUTH + token).toCharArray(), null);
     if (user != null) {
       return user;
     }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritToGitBlitUserService.java b/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritToGitBlitUserService.java
index 229416c..c76065e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritToGitBlitUserService.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritToGitBlitUserService.java
@@ -67,7 +67,7 @@
   }
 
   @Override
-  public UserModel authenticate(String username, char[] password) {
+  public UserModel authenticate(String username, char[] password, String remoteIP) {
     String passwordString = new String(password);
 
     if (username.equals(GerritToGitBlitUserModel.ANONYMOUS_USER)) {
@@ -142,7 +142,7 @@
     String gerritUsername =
         (String) httpRequest.getAttribute("gerrit-username");
     String gerritToken = (String) httpRequest.getAttribute("gerrit-token");
-    httpRequest.getSession().setAttribute(Constants.AUTHENTICATION_TYPE,
+    httpRequest.getSession().setAttribute(Constants.ATTRIB_AUTHTYPE,
         AuthenticationType.CONTAINER);
 
     if (Strings.isNullOrEmpty(gerritUsername)
