keycloak-aplcache

Changes

audit/pom.xml 2(+1 -1)

core/pom.xml 2(+1 -1)

docbook/pom.xml 2(+1 -1)

examples/demo-template/admin-access-app/src/main/webapp/WEB-INF/web.xml.unconfigured 9(+0 -9)

examples/pom.xml 2(+1 -1)

forms/pom.xml 2(+1 -1)

model/pom.xml 2(+1 -1)

pom.xml 2(+1 -1)

server/pom.xml 2(+1 -1)

services/pom.xml 2(+1 -1)

social/pom.xml 2(+1 -1)

timer/pom.xml 2(+1 -1)

Details

diff --git a/audit/api/pom.xml b/audit/api/pom.xml
index c9c56b1..46ab1c8 100755
--- a/audit/api/pom.xml
+++ b/audit/api/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-audit-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
diff --git a/audit/email/pom.xml b/audit/email/pom.xml
index e8545eb..5b330db 100755
--- a/audit/email/pom.xml
+++ b/audit/email/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-audit-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
diff --git a/audit/jboss-logging/pom.xml b/audit/jboss-logging/pom.xml
index 12a0bd6..703edc7 100755
--- a/audit/jboss-logging/pom.xml
+++ b/audit/jboss-logging/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-audit-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
diff --git a/audit/jpa/pom.xml b/audit/jpa/pom.xml
index dd725b8..83c6833 100755
--- a/audit/jpa/pom.xml
+++ b/audit/jpa/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-audit-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
diff --git a/audit/mongo/pom.xml b/audit/mongo/pom.xml
index e928784..df4e36d 100755
--- a/audit/mongo/pom.xml
+++ b/audit/mongo/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-audit-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

audit/pom.xml 2(+1 -1)

diff --git a/audit/pom.xml b/audit/pom.xml
index 0f210d3..9789119 100755
--- a/audit/pom.xml
+++ b/audit/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
diff --git a/connections/jpa/pom.xml b/connections/jpa/pom.xml
index 7301e3b..c97d9bc 100755
--- a/connections/jpa/pom.xml
+++ b/connections/jpa/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/connections/mongo/pom.xml b/connections/mongo/pom.xml
index 59643ab..2598fb5 100755
--- a/connections/mongo/pom.xml
+++ b/connections/mongo/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/connections/pom.xml b/connections/pom.xml
index 9887b35..e299f67 100755
--- a/connections/pom.xml
+++ b/connections/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
     </parent>
     <name>Connections Parent</name>
     <description/>

core/pom.xml 2(+1 -1)

diff --git a/core/pom.xml b/core/pom.xml
index 90bc87b..31e6dd6 100755
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/core-jaxrs/pom.xml b/core-jaxrs/pom.xml
index c531f91..d37fc0e 100755
--- a/core-jaxrs/pom.xml
+++ b/core-jaxrs/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/dependencies/pom.xml b/dependencies/pom.xml
index 896eaa4..9057ee0 100755
--- a/dependencies/pom.xml
+++ b/dependencies/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
diff --git a/dependencies/server-all/pom.xml b/dependencies/server-all/pom.xml
index b385cfc..ff360fb 100755
--- a/dependencies/server-all/pom.xml
+++ b/dependencies/server-all/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>keycloak-parent</artifactId>
 		<groupId>org.keycloak</groupId>
-		<version>1.0-beta-4-SNAPSHOT</version>
+		<version>1.0-beta-4</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
diff --git a/dependencies/server-min/pom.xml b/dependencies/server-min/pom.xml
index 2586cc9..8f0b3ab 100755
--- a/dependencies/server-min/pom.xml
+++ b/dependencies/server-min/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>keycloak-parent</artifactId>
 		<groupId>org.keycloak</groupId>
-		<version>1.0-beta-4-SNAPSHOT</version>
+		<version>1.0-beta-4</version>
 		<relativePath>../../pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
@@ -55,6 +55,16 @@
         </dependency>
         <dependency>
             <groupId>org.keycloak</groupId>
+            <artifactId>keycloak-audit-jpa</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.keycloak</groupId>
+            <artifactId>keycloak-audit-jboss-logging</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.keycloak</groupId>
             <artifactId>keycloak-js-adapter</artifactId>
             <version>${project.version}</version>
         </dependency>
diff --git a/distribution/appliance-dist/pom.xml b/distribution/appliance-dist/pom.xml
index 3b5751a..d3eb48a 100755
--- a/distribution/appliance-dist/pom.xml
+++ b/distribution/appliance-dist/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/distribution/as7-adapter-zip/pom.xml b/distribution/as7-adapter-zip/pom.xml
index 46c76f7..eb53855 100755
--- a/distribution/as7-adapter-zip/pom.xml
+++ b/distribution/as7-adapter-zip/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/distribution/eap6-adapter-zip/pom.xml b/distribution/eap6-adapter-zip/pom.xml
index a71f747..de2c8a7 100755
--- a/distribution/eap6-adapter-zip/pom.xml
+++ b/distribution/eap6-adapter-zip/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/distribution/examples-docs-zip/build.xml b/distribution/examples-docs-zip/build.xml
index eb17392..dfefbbc 100755
--- a/distribution/examples-docs-zip/build.xml
+++ b/distribution/examples-docs-zip/build.xml
@@ -61,7 +61,7 @@
                 <exclude name="**/*.wildfly"/>
                 <exclude name="**/*.as7"/>
                 <exclude name="**/WEB-INF/jboss-web.xml"/>
-                <exclude name="**/WEB-INF/keycloak.json"/>
+                <exclude name="**/keycloak.json"/>
                 <exclude name="**/target/**"/>
                 <exclude name="**/*.iml"/>
                 <exclude name="**/README.md"/>
diff --git a/distribution/examples-docs-zip/pom.xml b/distribution/examples-docs-zip/pom.xml
index 588b82a..39da773 100755
--- a/distribution/examples-docs-zip/pom.xml
+++ b/distribution/examples-docs-zip/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/distribution/modules/pom.xml b/distribution/modules/pom.xml
index f1711f7..e1f796b 100755
--- a/distribution/modules/pom.xml
+++ b/distribution/modules/pom.xml
@@ -30,7 +30,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/distribution/pom.xml b/distribution/pom.xml
index aee1513..2876541 100755
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <name>Distribution</name>
diff --git a/distribution/src-dist/pom.xml b/distribution/src-dist/pom.xml
index 8f30994..dfb3f3a 100755
--- a/distribution/src-dist/pom.xml
+++ b/distribution/src-dist/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/distribution/theme-template-zip/pom.xml b/distribution/theme-template-zip/pom.xml
index c8f24ed..cfa5203 100755
--- a/distribution/theme-template-zip/pom.xml
+++ b/distribution/theme-template-zip/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/distribution/war-dist/pom.xml b/distribution/war-dist/pom.xml
index 2e48008..e667896 100755
--- a/distribution/war-dist/pom.xml
+++ b/distribution/war-dist/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/distribution/war-zip/pom.xml b/distribution/war-zip/pom.xml
index 86f55c6..48149e6 100755
--- a/distribution/war-zip/pom.xml
+++ b/distribution/war-zip/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/distribution/wildfly-adapter-zip/pom.xml b/distribution/wildfly-adapter-zip/pom.xml
index c726cdb..1cbeef4 100755
--- a/distribution/wildfly-adapter-zip/pom.xml
+++ b/distribution/wildfly-adapter-zip/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 

docbook/pom.xml 2(+1 -1)

diff --git a/docbook/pom.xml b/docbook/pom.xml
index eaae737..ed601d1 100755
--- a/docbook/pom.xml
+++ b/docbook/pom.xml
@@ -6,7 +6,7 @@
 
     <groupId>org.keycloak</groupId>
     <artifactId>keycloak-reference-guide-${translation}</artifactId>
-    <version>1.0-beta-4-SNAPSHOT</version>
+    <version>1.0-beta-4</version>
     <packaging>jdocbook</packaging>
     <name>Keycloak Reference Guide (${translation})</name>
     <description/>
diff --git a/docbook/reference/en/en-US/master.xml b/docbook/reference/en/en-US/master.xml
index 10c0684..f8d4752 100755
--- a/docbook/reference/en/en-US/master.xml
+++ b/docbook/reference/en/en-US/master.xml
@@ -37,7 +37,7 @@
    <bookinfo>
       <title>Keycloak Reference Guide</title>
       <subtitle>SSO for Web Apps and REST Services</subtitle>
-      <releaseinfo>1.0-beta-4-SNAPSHOT</releaseinfo>
+      <releaseinfo>1.0-beta-4</releaseinfo>
    </bookinfo>
 
    <toc/>
diff --git a/docbook/reference/en/en-US/modules/cache.xml b/docbook/reference/en/en-US/modules/cache.xml
index 6632e3a..6d001b1 100755
--- a/docbook/reference/en/en-US/modules/cache.xml
+++ b/docbook/reference/en/en-US/modules/cache.xml
@@ -46,7 +46,7 @@
     <section>
         <title>Clear Caches</title>
         <para>
-            To clear the realm or user cache, go to the Keycloak admin console Realm Settings page.  Disable the cache
+            To clear the realm or user cache, go to the Keycloak admin console Realm Settings->Cache Config page.  Disable the cache
             you want.  Save the settings.  Then re-enable the cache.  This will cause the cache to be cleared.
         </para>
     </section>
diff --git a/docbook/reference/en/en-US/modules/server-installation.xml b/docbook/reference/en/en-US/modules/server-installation.xml
index 769feec..f2ce815 100755
--- a/docbook/reference/en/en-US/modules/server-installation.xml
+++ b/docbook/reference/en/en-US/modules/server-installation.xml
@@ -8,11 +8,11 @@
         <itemizedlist>
 
             <listitem>
-                keycloak-appliance-dist-all-1.0-beta-4-SNAPSHOT.zip
+                keycloak-appliance-dist-all-1.0-beta-4.zip
             </listitem>
 
             <listitem>
-                keycloak-war-dist-all-1.0-beta-4-SNAPSHOT.zip
+                keycloak-war-dist-all-1.0-beta-4.zip
             </listitem>
 
         </itemizedlist>
@@ -31,7 +31,7 @@
 
         <para>
 <programlisting>
-keycloak-appliance-dist-all-1.0-beta-4-SNAPSHOT/
+keycloak-appliance-dist-all-1.0-beta-4/
     keycloak/
         bin/
             standalone.sh
@@ -42,9 +42,9 @@ keycloak-appliance-dist-all-1.0-beta-4-SNAPSHOT/
                 keycloak-server.json
                 themes/
     adapters/
-        keycloak-as7-adapter-dist-1.0-beta-4-SNAPSHOT.zip
-        keycloak-eap6-adapter-dist-1.0-beta-4-SNAPSHOT.zip
-        keycloak-wildfly-adapter-dist-1.0-beta-4-SNAPSHOT.zip
+        keycloak-as7-adapter-dist-1.0-beta-4.zip
+        keycloak-eap6-adapter-dist-1.0-beta-4.zip
+        keycloak-wildfly-adapter-dist-1.0-beta-4.zip
     examples/
     docs/
 </programlisting>
@@ -79,7 +79,7 @@ keycloak-appliance-dist-all-1.0-beta-4-SNAPSHOT/
         </para>
         <para>
 <programlisting>
-keycloak-war-dist-all-1.0-beta-4-SNAPSHOT/
+keycloak-war-dist-all-1.0-beta-4/
     deployments/
         auth-server.war/
         keycloak-ds.xml
@@ -87,9 +87,9 @@ keycloak-war-dist-all-1.0-beta-4-SNAPSHOT/
         keycloak-server.json
         themes/
     adapters/
-        keycloak-as7-adapter-dist-1.0-beta-4-SNAPSHOT.zip
-        keycloak-eap6-adapter-dist-1.0-beta-4-SNAPSHOT.zip
-        keycloak-wildfly-adapter-dist-1.0-beta-4-SNAPSHOT.zip
+        keycloak-as7-adapter-dist-1.0-beta-4.zip
+        keycloak-eap6-adapter-dist-1.0-beta-4.zip
+        keycloak-wildfly-adapter-dist-1.0-beta-4.zip
     examples/
     docs/
 </programlisting>
@@ -101,7 +101,7 @@ keycloak-war-dist-all-1.0-beta-4-SNAPSHOT/
         </para>
         <para>
 <programlisting>
-    $ cd keycloak-war-dist-all-1.0-beta-4-SNAPSHOT
+    $ cd keycloak-war-dist-all-1.0-beta-4
     $ cp -r deployments $JBOSS_HOME/standalone
 </programlisting>
         </para>
diff --git a/docbook/reference/en/en-US/modules/themes.xml b/docbook/reference/en/en-US/modules/themes.xml
index bef7016..3dba9cc 100755
--- a/docbook/reference/en/en-US/modules/themes.xml
+++ b/docbook/reference/en/en-US/modules/themes.xml
@@ -154,7 +154,7 @@
             </para>
             <para>
                 Keycloaks default account management provider is built on the FreeMarker template engine (<literal>forms/account-freemarker</literal>).
-                To make sure your provider is loaded you will either need to delete <literal>standalone/deployments/auth-server.war/WEB-INF/lib/keycloak-account-freemarker-1.0-beta-4-SNAPSHOT.jar</literal>
+                To make sure your provider is loaded you will either need to delete <literal>standalone/deployments/auth-server.war/WEB-INF/lib/keycloak-account-freemarker-1.0-beta-4.jar</literal>
                 or disable it with the system property <literal>org.keycloak.account.freemarker.FreeMarkerAccountProviderFactory</literal>.
             </para>
         </section>
@@ -167,7 +167,7 @@
             </para>
             <para>
                 Keycloaks default login forms provider is built on the FreeMarker template engine (<literal>forms/login-freemarker</literal>).
-                To make sure your provider is loaded you will either need to delete <literal>standalone/deployments/auth-server.war/WEB-INF/lib/keycloak-login-freemarker-1.0-beta-4-SNAPSHOT.jar</literal>
+                To make sure your provider is loaded you will either need to delete <literal>standalone/deployments/auth-server.war/WEB-INF/lib/keycloak-login-freemarker-1.0-beta-4.jar</literal>
                 or disable it with the system property <literal>org.keycloak.login.freemarker.FreeMarkerLoginFormsProviderFactory</literal>.
             </para>
         </section>
diff --git a/docbook/reference/en/en-US/modules/timeouts.xml b/docbook/reference/en/en-US/modules/timeouts.xml
index 8a772cc..dda5981 100755
--- a/docbook/reference/en/en-US/modules/timeouts.xml
+++ b/docbook/reference/en/en-US/modules/timeouts.xml
@@ -18,7 +18,7 @@
     <section id="session-timeouts">
         <title>Session Timeouts</title>
         <para>
-            If you go to the Sesions and Tokens->Token Settings page of the Keycloak adminstration console there is a bunch of fine tuning
+            If you go to the Sesions and Tokens->Timeout Settings page of the Keycloak adminstration console there is a bunch of fine tuning
             you can do as far as login session timeouts go.
         </para>
         <para>
diff --git a/examples/cors/angular-product-app/pom.xml b/examples/cors/angular-product-app/pom.xml
index 4ba033c..ec95538 100755
--- a/examples/cors/angular-product-app/pom.xml
+++ b/examples/cors/angular-product-app/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
@@ -15,7 +15,7 @@
     <description/>
 
     <build>
-        <finalName>angular-product</finalName>
+        <finalName>angular-cors-product</finalName>
         <plugins>
             <plugin>
                 <groupId>org.jboss.as.plugins</groupId>
diff --git a/examples/cors/angular-product-app/src/main/webapp/js/app.js b/examples/cors/angular-product-app/src/main/webapp/js/app.js
index d093997..f2056cc 100755
--- a/examples/cors/angular-product-app/src/main/webapp/js/app.js
+++ b/examples/cors/angular-product-app/src/main/webapp/js/app.js
@@ -18,7 +18,7 @@ angular.element(document).ready(function ($http) {
         console.log('here login');
         auth.loggedIn = true;
         auth.authz = keycloakAuth;
-        auth.logoutUrl = keycloakAuth.authServerUrl + "/realms/" + keycloakAuth.realm + "/tokens/logout?redirect_uri=/angular-product/index.html";
+        auth.logoutUrl = keycloakAuth.authServerUrl + "/realms/" + keycloakAuth.realm + "/tokens/logout?redirect_uri=http://localhost:8080/angular-cors-product/index.html";
         module.factory('Auth', function() {
             return auth;
         });
@@ -33,7 +33,7 @@ module.controller('GlobalCtrl', function($scope, $http) {
     $scope.products = [];
     $scope.roles = [];
     $scope.reloadData = function() {
-        $http.get("http://localhost-db:8080/database/products").success(function(data) {
+        $http.get("http://localhost-db:8080/cors-database/products").success(function(data) {
             $scope.products = angular.fromJson(data);
 
         });
diff --git a/examples/cors/angular-product-app/src/main/webapp/keycloak.json b/examples/cors/angular-product-app/src/main/webapp/keycloak.json
index d9c653b..40b35a1 100755
--- a/examples/cors/angular-product-app/src/main/webapp/keycloak.json
+++ b/examples/cors/angular-product-app/src/main/webapp/keycloak.json
@@ -1,8 +1,8 @@
 {
   "realm" : "cors",
   "realm-public-key" : "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrVrCuTtArbgaZzL1hvh0xtL5mc7o0NqPVnYXkLvgcwiC3BjLGw1tGEGoJaXDuSaRllobm53JBhjx33UNv+5z/UMG4kytBWxheNVKnL6GgqlNabMaFfPLPCF8kAgKnsi79NMo+n6KnSY8YeUmec/p2vjO2NjsSAVcWEQMVhJ31LwIDAQAB",
-  "auth-server-url" : "/auth",
+  "auth-server-url" : "http://localhost-auth:8080/auth",
   "ssl-required" : "external",
-  "resource" : "angular-product",
+  "resource" : "angular-cors-product",
   "public-client" : true
 }
\ No newline at end of file
diff --git a/examples/cors/cors-realm.json b/examples/cors/cors-realm.json
index 423ddb2..82dcf0c 100755
--- a/examples/cors/cors-realm.json
+++ b/examples/cors/cors-realm.json
@@ -38,18 +38,18 @@
     },
     "scopeMappings": [
         {
-            "client": "angular-product",
+            "client": "angular-cors-product",
             "roles": ["user"]
         }
     ],
     "applications": [
         {
-            "name": "angular-product",
+            "name": "angular-cors-product",
             "enabled": true,
             "publicClient": true,
-            "baseUrl": "/angular-product/index.html",
+            "baseUrl": "http://localhost:8080/angular-cors-product/index.html",
             "redirectUris": [
-                "/angular-product/*"
+                "http://localhost:8080/angular-cors-product/*"
             ],
             "webOrigins": [
                 "http://localhost:8080"
@@ -59,7 +59,7 @@
     "applicationScopeMappings": {
         "realm-management": [
             {
-                "client": "angular-product",
+                "client": "angular-cors-product",
                 "roles": ["realm-admin"]
             }
         ]
diff --git a/examples/cors/database-service/pom.xml b/examples/cors/database-service/pom.xml
index e1c6dbf..0aeff31 100755
--- a/examples/cors/database-service/pom.xml
+++ b/examples/cors/database-service/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
@@ -55,7 +55,7 @@
     </dependencies>
 
     <build>
-        <finalName>database</finalName>
+        <finalName>cors-database</finalName>
         <plugins>
             <plugin>
                 <groupId>org.jboss.as.plugins</groupId>
diff --git a/examples/cors/database-service/src/main/webapp/WEB-INF/keycloak.json b/examples/cors/database-service/src/main/webapp/WEB-INF/keycloak.json
index 23f6960..0d29299 100755
--- a/examples/cors/database-service/src/main/webapp/WEB-INF/keycloak.json
+++ b/examples/cors/database-service/src/main/webapp/WEB-INF/keycloak.json
@@ -1,6 +1,6 @@
 {
   "realm" : "cors-realm",
-  "resource" : "database-service",
+  "resource" : "cors-database-service",
   "realm-public-key" : "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrVrCuTtArbgaZzL1hvh0xtL5mc7o0NqPVnYXkLvgcwiC3BjLGw1tGEGoJaXDuSaRllobm53JBhjx33UNv+5z/UMG4kytBWxheNVKnL6GgqlNabMaFfPLPCF8kAgKnsi79NMo+n6KnSY8YeUmec/p2vjO2NjsSAVcWEQMVhJ31LwIDAQAB",
   "bearer-only" : true,
   "ssl-required": "external",
diff --git a/examples/cors/database-service/src/main/webapp/WEB-INF/web.xml b/examples/cors/database-service/src/main/webapp/WEB-INF/web.xml
index dd90e3a..6d78c1c 100755
--- a/examples/cors/database-service/src/main/webapp/WEB-INF/web.xml
+++ b/examples/cors/database-service/src/main/webapp/WEB-INF/web.xml
@@ -4,7 +4,7 @@
       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
       version="3.0">
 
-	<module-name>database</module-name>
+	<module-name>cors-database</module-name>
 	
     <security-constraint>
         <web-resource-collection>
diff --git a/examples/cors/pom.xml b/examples/cors/pom.xml
index f553099..df2e1d5 100755
--- a/examples/cors/pom.xml
+++ b/examples/cors/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <name>Examples</name>
diff --git a/examples/cors/README.md b/examples/cors/README.md
index 998d390..89ac4a8 100755
--- a/examples/cors/README.md
+++ b/examples/cors/README.md
@@ -59,7 +59,7 @@ Step 5: Login and Observe Apps
 ---------------------------------------
 Try going to the customer app and view customer data:
 
-[http://localhost:8080/angular-product/index.html](http://localhost:8080/angular-product/index.html)
+[http://localhost:8080/angular-cors-product/index.html](http://localhost:8080/angular-cors-product/index.html)
 
 This should take you to the auth-server login screen.  Enter username: bburke@redhat.com and password: password.  You
 should be brought back to a simple and boring HTML page.  Click the Reload button to show the product listing.  Reload
diff --git a/examples/demo-template/admin-access-app/pom.xml b/examples/demo-template/admin-access-app/pom.xml
index dc6a263..aef0a17 100755
--- a/examples/demo-template/admin-access-app/pom.xml
+++ b/examples/demo-template/admin-access-app/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/examples/demo-template/angular-product-app/pom.xml b/examples/demo-template/angular-product-app/pom.xml
index f4ccda7..cb2caae 100755
--- a/examples/demo-template/angular-product-app/pom.xml
+++ b/examples/demo-template/angular-product-app/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/examples/demo-template/customer-app/pom.xml b/examples/demo-template/customer-app/pom.xml
index 8dead54..98d3671 100755
--- a/examples/demo-template/customer-app/pom.xml
+++ b/examples/demo-template/customer-app/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/examples/demo-template/customer-app-cli/pom.xml b/examples/demo-template/customer-app-cli/pom.xml
index b2bbe84..df0d23b 100755
--- a/examples/demo-template/customer-app-cli/pom.xml
+++ b/examples/demo-template/customer-app-cli/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/examples/demo-template/customer-app-js/pom.xml b/examples/demo-template/customer-app-js/pom.xml
index 73e86b6..b941026 100755
--- a/examples/demo-template/customer-app-js/pom.xml
+++ b/examples/demo-template/customer-app-js/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/examples/demo-template/database-service/pom.xml b/examples/demo-template/database-service/pom.xml
index 181cb20..f69d7e6 100755
--- a/examples/demo-template/database-service/pom.xml
+++ b/examples/demo-template/database-service/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/examples/demo-template/pom.xml b/examples/demo-template/pom.xml
index d0495a0..f53a5fe 100755
--- a/examples/demo-template/pom.xml
+++ b/examples/demo-template/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <name>Examples</name>
diff --git a/examples/demo-template/product-app/pom.xml b/examples/demo-template/product-app/pom.xml
index 0a4aad6..4c633bc 100755
--- a/examples/demo-template/product-app/pom.xml
+++ b/examples/demo-template/product-app/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/examples/demo-template/product-app/src/main/webapp/products/view.jsp b/examples/demo-template/product-app/src/main/webapp/products/view.jsp
index e8bc118..e7c1a30 100755
--- a/examples/demo-template/product-app/src/main/webapp/products/view.jsp
+++ b/examples/demo-template/product-app/src/main/webapp/products/view.jsp
@@ -10,7 +10,7 @@
 <body bgcolor="#F5F6CE">
 <%
     String logoutUri = KeycloakUriBuilder.fromUri("/auth").path(ServiceUrlConstants.TOKEN_SERVICE_LOGOUT_PATH)
-            .queryParam("redirect_uri", "/customer-portal").build("demo").toString();
+            .queryParam("redirect_uri", "/product-portal").build("demo").toString();
     String acctUri = KeycloakUriBuilder.fromUri("/auth").path(ServiceUrlConstants.ACCOUNT_SERVICE_PATH)
             .queryParam("referrer", "product-portal").build("demo").toString();
 %>
diff --git a/examples/demo-template/third-party/pom.xml b/examples/demo-template/third-party/pom.xml
index 7207b8b..0874af4 100755
--- a/examples/demo-template/third-party/pom.xml
+++ b/examples/demo-template/third-party/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/examples/demo-template/third-party-cdi/pom.xml b/examples/demo-template/third-party-cdi/pom.xml
index 4e0a8e0..5322b3d 100755
--- a/examples/demo-template/third-party-cdi/pom.xml
+++ b/examples/demo-template/third-party-cdi/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/examples/js-console/pom.xml b/examples/js-console/pom.xml
index 28a991a..97cceef 100755
--- a/examples/js-console/pom.xml
+++ b/examples/js-console/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath> 
     </parent>
     <modelVersion>4.0.0</modelVersion>

examples/pom.xml 2(+1 -1)

diff --git a/examples/pom.xml b/examples/pom.xml
index c642443..a7b67cb 100755
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <name>Examples</name>
diff --git a/examples/providers/audit-listener-sysout/pom.xml b/examples/providers/audit-listener-sysout/pom.xml
index e02f858..10468d7 100755
--- a/examples/providers/audit-listener-sysout/pom.xml
+++ b/examples/providers/audit-listener-sysout/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>examples-providers-pom</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <name>Audit Listener System.out Example</name>
diff --git a/examples/providers/audit-provider-mem/pom.xml b/examples/providers/audit-provider-mem/pom.xml
index a53776b..56c7e92 100755
--- a/examples/providers/audit-provider-mem/pom.xml
+++ b/examples/providers/audit-provider-mem/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>examples-providers-pom</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <name>Audit Provider In-Mem Example</name>
diff --git a/examples/providers/federation-provider/pom.xml b/examples/providers/federation-provider/pom.xml
index ccf28f9..6092c01 100755
--- a/examples/providers/federation-provider/pom.xml
+++ b/examples/providers/federation-provider/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>examples-providers-pom</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <name>Properties Authentication Provider Example</name>
diff --git a/examples/providers/pom.xml b/examples/providers/pom.xml
index d706526..3218a70 100755
--- a/examples/providers/pom.xml
+++ b/examples/providers/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>examples-pom</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <name>Provider Examples</name>
diff --git a/export-import/export-import-api/pom.xml b/export-import/export-import-api/pom.xml
index 1b4dc0a..e26270e 100755
--- a/export-import/export-import-api/pom.xml
+++ b/export-import/export-import-api/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-export-import-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/export-import/export-import-dir/pom.xml b/export-import/export-import-dir/pom.xml
old mode 100644
new mode 100755
index 4cd8dc1..3bd3f39
--- a/export-import/export-import-dir/pom.xml
+++ b/export-import/export-import-dir/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-export-import-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/export-import/export-import-single-file/pom.xml b/export-import/export-import-single-file/pom.xml
old mode 100644
new mode 100755
index 25d65c0..3f0dbdd
--- a/export-import/export-import-single-file/pom.xml
+++ b/export-import/export-import-single-file/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-export-import-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/export-import/export-import-zip/pom.xml b/export-import/export-import-zip/pom.xml
old mode 100644
new mode 100755
index 7738f85..6e351f1
--- a/export-import/export-import-zip/pom.xml
+++ b/export-import/export-import-zip/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-export-import-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/export-import/pom.xml b/export-import/pom.xml
index 72468fa..a32bf16 100755
--- a/export-import/pom.xml
+++ b/export-import/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/federation/ldap/pom.xml b/federation/ldap/pom.xml
index a156a54..ec50496 100755
--- a/federation/ldap/pom.xml
+++ b/federation/ldap/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/federation/pom.xml b/federation/pom.xml
index 5e15f90..4010c0d 100755
--- a/federation/pom.xml
+++ b/federation/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/forms/account-api/pom.xml b/forms/account-api/pom.xml
index f2a9acd..856d54d 100755
--- a/forms/account-api/pom.xml
+++ b/forms/account-api/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>keycloak-forms-parent</artifactId>
 		<groupId>org.keycloak</groupId>
-		<version>1.0-beta-4-SNAPSHOT</version>
+		<version>1.0-beta-4</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
diff --git a/forms/account-freemarker/pom.xml b/forms/account-freemarker/pom.xml
index dcfb18d..eed388f 100755
--- a/forms/account-freemarker/pom.xml
+++ b/forms/account-freemarker/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>keycloak-forms-parent</artifactId>
 		<groupId>org.keycloak</groupId>
-		<version>1.0-beta-4-SNAPSHOT</version>
+		<version>1.0-beta-4</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
diff --git a/forms/common-freemarker/pom.xml b/forms/common-freemarker/pom.xml
index 41a573b..a55ac6b 100755
--- a/forms/common-freemarker/pom.xml
+++ b/forms/common-freemarker/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>keycloak-forms-parent</artifactId>
 		<groupId>org.keycloak</groupId>
-		<version>1.0-beta-4-SNAPSHOT</version>
+		<version>1.0-beta-4</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
diff --git a/forms/common-themes/pom.xml b/forms/common-themes/pom.xml
index 74ee25e..dba16c0 100755
--- a/forms/common-themes/pom.xml
+++ b/forms/common-themes/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>keycloak-forms-parent</artifactId>
 		<groupId>org.keycloak</groupId>
-		<version>1.0-beta-4-SNAPSHOT</version>
+		<version>1.0-beta-4</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/app.js b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/app.js
index 1bbfcf6..4f7b83a 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/app.js
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/app.js
@@ -94,6 +94,42 @@ module.config([ '$routeProvider', function($routeProvider) {
             },
             controller : 'RealmDetailCtrl'
         })
+        .when('/realms/:realm/login-settings', {
+            templateUrl : 'partials/realm-login-settings.html',
+            resolve : {
+                realm : function(RealmLoader) {
+                    return RealmLoader();
+                },
+                serverInfo : function(ServerInfoLoader) {
+                    return ServerInfoLoader();
+                }
+            },
+            controller : 'RealmLoginSettingsCtrl'
+        })
+        .when('/realms/:realm/theme-settings', {
+            templateUrl : 'partials/realm-theme-settings.html',
+            resolve : {
+                realm : function(RealmLoader) {
+                    return RealmLoader();
+                },
+                serverInfo : function(ServerInfoLoader) {
+                    return ServerInfoLoader();
+                }
+            },
+            controller : 'RealmThemeCtrl'
+        })
+        .when('/realms/:realm/cache-settings', {
+            templateUrl : 'partials/realm-cache-settings.html',
+            resolve : {
+                realm : function(RealmLoader) {
+                    return RealmLoader();
+                },
+                serverInfo : function(ServerInfoLoader) {
+                    return ServerInfoLoader();
+                }
+            },
+            controller : 'RealmCacheCtrl'
+        })
         .when('/realms', {
             templateUrl : 'partials/realm-list.html',
             controller : 'RealmListCtrl'
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/realm.js b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/realm.js
index 8d456be..e89401d 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/realm.js
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/realm.js
@@ -247,12 +247,12 @@ module.controller('RealmDetailCtrl', function($scope, Current, Realm, realm, ser
             }
         }
         /*
-        if (Current.realm == null || Current.realm.realm != realm.realm) {
-            console.log('should be unreachable');
-            console.log('Why? ' + Current.realms.length + ' ' + Current.realm);
-            return;
-        }
-        */
+         if (Current.realm == null || Current.realm.realm != realm.realm) {
+         console.log('should be unreachable');
+         console.log('Why? ' + Current.realms.length + ' ' + Current.realm);
+         return;
+         }
+         */
         $scope.realm = angular.copy(realm);
     }
 
@@ -332,6 +332,70 @@ module.controller('RealmDetailCtrl', function($scope, Current, Realm, realm, ser
     };
 });
 
+function genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications, url) {
+    $scope.realm = angular.copy(realm);
+    $scope.serverInfo = serverInfo;
+    $scope.social = $scope.realm.social;
+    $scope.registrationAllowed = $scope.realm.registrationAllowed;
+
+    var oldCopy = angular.copy($scope.realm);
+
+
+
+    $scope.changed = false;
+
+    $scope.$watch('realm', function() {
+        if (!angular.equals($scope.realm, oldCopy)) {
+            $scope.changed = true;
+        }
+    }, true);
+
+    $scope.save = function() {
+        var realmCopy = angular.copy($scope.realm);
+        console.log('updating realm...');
+        $scope.changed = false;
+        console.log('oldCopy.realm - ' + oldCopy.realm);
+        Realm.update({ id : oldCopy.realm}, realmCopy, function () {
+            var data = Realm.query(function () {
+                Current.realms = data;
+                for (var i = 0; i < Current.realms.length; i++) {
+                    if (Current.realms[i].realm == realmCopy.realm) {
+                        Current.realm = Current.realms[i];
+                        oldCopy = angular.copy($scope.realm);
+                    }
+                }
+            });
+            $location.url(url);
+            Notifications.success("Your changes have been saved to the realm.");
+            $scope.social = $scope.realm.social;
+            $scope.registrationAllowed = $scope.realm.registrationAllowed;
+        });
+    };
+
+    $scope.reset = function() {
+        $scope.realm = angular.copy(oldCopy);
+        $scope.changed = false;
+    };
+
+    $scope.cancel = function() {
+        //$location.url("/realms");
+        window.history.back();
+    };
+
+}
+
+module.controller('RealmLoginSettingsCtrl', function($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications) {
+    genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications, "/realms/" + realm.realm + "/login-settings")
+});
+
+module.controller('RealmThemeCtrl', function($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications) {
+    genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications, "/realms/" + realm.realm + "/theme-settings")
+});
+
+module.controller('RealmCacheCtrl', function($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications) {
+    genericRealmUpdate($scope, Current, Realm, realm, serverInfo, $http, $location, Dialog, Notifications, "/realms/" + realm.realm + "/cache-settings")
+});
+
 module.controller('RealmRequiredCredentialsCtrl', function($scope, Realm, realm, $http, $location, Dialog, Notifications, PasswordPolicy) {
     console.log('RealmRequiredCredentialsCtrl');
 
@@ -694,7 +758,7 @@ module.controller('RealmKeysDetailCtrl', function($scope, Realm, realm, $http, $
     };
 });
 
-module.controller('RealmSessionStatsCtrl', function($scope, realm, stats, RealmSessionStats, RealmLogoutAll, Notifications) {
+module.controller('RealmSessionStatsCtrl', function($scope, realm, stats, RealmApplicationSessionStats, RealmLogoutAll, Notifications) {
     $scope.realm = realm;
     $scope.stats = stats;
 
@@ -703,7 +767,7 @@ module.controller('RealmSessionStatsCtrl', function($scope, realm, stats, RealmS
     $scope.logoutAll = function() {
         RealmLogoutAll.save({realm : realm.realm}, function () {
             Notifications.success('Logged out all users');
-            RealmSessionStats.get({realm: realm.realm}, function(updated) {
+            RealmApplicationSessionStats.get({realm: realm.realm}, function(updated) {
                 Notifications.success('Logged out all users');
                 $scope.stats = updated;
             })
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/application-detail.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/application-detail.html
index 4d795a8..1e6470c 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/application-detail.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/application-detail.html
@@ -122,7 +122,7 @@
             <div class="pull-right form-actions" data-ng-show="!create && access.manageApplications">
                 <button kc-reset data-ng-show="changed">Clear changes</button>
                 <button kc-save  data-ng-show="changed">Save</button>
-                <button kc-delete data-ng-click="remove()" data-ng-hide="changed">Delete</button>
+                <button kc-delete data-ng-click="remove()" data-ng-hide="changed">Delete Application</button>
             </div>
         </form>
     </div>
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/oauth-client-detail.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/oauth-client-detail.html
index c32a655..a7ff191 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/oauth-client-detail.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/oauth-client-detail.html
@@ -113,7 +113,7 @@
             <div class="pull-right form-actions" data-ng-show="!create && access.manageClients">
                 <button kc-reset data-ng-show="changed">Clear changes</button>
                 <button kc-save  data-ng-show="changed">Save</button>
-                <button kc-delete data-ng-click="remove()" data-ng-hide="changed">Delete</button>
+                <button kc-delete data-ng-click="remove()" data-ng-hide="changed">Delete Client</button>
             </div>
         </form>
     </div>
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-cache-settings.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-cache-settings.html
new file mode 100755
index 0000000..fec89ed
--- /dev/null
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-cache-settings.html
@@ -0,0 +1,38 @@
+<div class="bs-sidebar col-sm-3 " data-ng-include data-src="'partials/realm-menu.html'"></div>
+<div id="content-area" class="col-sm-9" role="main">
+    <kc-navigation data-kc-current="general" data-kc-realm="realm.realm" data-kc-social="social"></kc-navigation>
+    <div id="content">
+        <ol class="breadcrumb" data-ng-hide="createRealm">
+            <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+            <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
+            <li class="active">Cache</li>
+        </ol>
+        <div data-ng-show="access.viewRealm">
+            <h2><span>{{realm.realm}}</span> Cache Settings</h2>
+            <form class="form-horizontal" name="realmForm" novalidate kc-read-only="!access.manageRealm">
+                <fieldset class="border-top">
+                     <div class="form-group">
+                        <label class="col-sm-2 control-label" for="enabled">Realm Cache Enabled</label>
+                        <div class="col-sm-4">
+                            <input ng-model="realm.realmCacheEnabled" name="realmCacheEnabled" id="realmCacheEnabled" onoffswitch />
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label" for="enabled">User Cache Enabled</label>
+                        <div class="col-sm-4">
+                            <input ng-model="realm.userCacheEnabled" name="userCacheEnabled" id="userCacheEnabled" onoffswitch />
+                        </div>
+                    </div>
+                </fieldset>
+                <div class="pull-right form-actions" data-ng-show="access.manageRealm">
+                    <button kc-reset data-ng-show="changed">Clear changes</button>
+                    <button kc-save  data-ng-show="changed">Save</button>
+                </div>
+            </form>
+        </div>
+        <div data-ng-hide="access.viewRealm">
+            <h2 ><span>{{realm.realm}}</span></h2>
+        </div>
+
+    </div>
+</div>
\ No newline at end of file
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-detail.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-detail.html
index f46bf7d..be95d88 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-detail.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-detail.html
@@ -12,8 +12,7 @@
             <h2 data-ng-hide="createRealm"><span>{{realm.realm}}</span> General Settings</h2>
             <p class="subtitle" data-ng-show="createRealm"><span class="required">*</span> Required fields</p>
             <form class="form-horizontal" name="realmForm" novalidate kc-read-only="!access.manageRealm">
-                <fieldset>
-                    <legend class="aj-collapse open"><span class="text">Required Settings</span></legend>
+                <fieldset class="border-top">
                     <div class="form-group">
                         <label class="col-sm-2 control-label" for="name">Name <span class="required" data-ng-show="createRealm">*</span></label>
 
@@ -28,129 +27,6 @@
                         </div>
                     </div>
                 </fieldset>
-                <fieldset>
-                    <legend><span class="text">Login Options</span></legend>
-                    <div class="form-group">
-                        <label class="col-sm-2 control-label" for="social">Social login</label>
-                        <div class="col-sm-4">
-                            <input ng-model="realm.social" name="social" id="social" onoffswitch />
-                        </div>
-                    </div>
-                    <div class="form-group" data-ng-show="realm.social">
-                        <label class="col-sm-2 control-label" for="updateProfileOnInitialSocialLogin">Update profile on first social login</label>
-                        <div class="col-sm-4">
-                            <input ng-model="realm.updateProfileOnInitialSocialLogin" name="updateProfileOnInitialSocialLogin" id="updateProfileOnInitialSocialLogin" onoffswitch />
-                        </div>
-                    </div>
-                    <div class="form-group">
-                        <label for="registrationAllowed" class="col-sm-2 control-label">User registration</label>
-                        <div class="col-sm-4">
-                            <input ng-model="realm.registrationAllowed" name="registrationAllowed" id="registrationAllowed" onoffswitch />
-                        </div>
-                    </div>
-                    <div class="form-group">
-                        <label for="resetPasswordAllowed" class="col-sm-2 control-label">Forget password</label>
-                        <div class="col-sm-4">
-                            <input ng-model="realm.resetPasswordAllowed" name="resetPasswordAllowed" id="resetPasswordAllowed" onoffswitch />
-                        </div>
-                    </div>
-                    <div class="form-group">
-                        <label class="col-sm-2 control-label" for="rememberMe">Remember Me</label>
-                        <div class="col-sm-4">
-                            <input ng-model="realm.rememberMe" name="rememberMe" id="rememberMe" onoffswitch />
-                        </div>
-                    </div>
-                    <div class="form-group">
-                        <label for="verifyEmail" class="col-sm-2 control-label">Verify email</label>
-                        <div class="col-sm-4">
-                            <input ng-model="realm.verifyEmail" name="verifyEmail" id="verifyEmail" onoffswitch />
-                        </div>
-                    </div>
-                    <div class="form-group">
-                        <label for="passwordCredentialGrantAllowed" class="col-sm-2 control-label">Direct Grant API</label>
-                        <div class="col-sm-4">
-                            <input ng-model="realm.passwordCredentialGrantAllowed" name="passwordCredentialGrantAllowed" id="passwordCredentialGrantAllowed" onoffswitch />
-                        </div>
-                    </div>
-                    <div class="form-group">
-                        <label for="sslRequired" class="col-sm-2 control-label">Require SSL</label>
-                        <div class="col-sm-4">
-                            <div class="select-kc">
-                                <select id="sslRequired" ng-model="realm.sslRequired">
-                                    <option value="all">all requests</option>
-                                    <option value="external">external requests</option>
-                                    <option value="none">none</option>
-                                </select>
-                            </div>
-                        </div>
-                    </div>
-                </fieldset>
-                <fieldset>
-                    <legend><span class="text">Theme Settings</span></legend>
-                    <div class="form-group">
-                        <label class="col-sm-2 control-label" for="loginTheme">Login Theme</label>
-                        <div class="col-sm-4">
-                            <div class="select-kc">
-                                <select id="loginTheme"
-                                        ng-model="realm.loginTheme"
-                                        ng-options="o as o for o in serverInfo.themes.login">
-                                    <option value="" disabled selected>Select one...</option>
-                                </select>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="form-group">
-                        <label class="col-sm-2 control-label" for="accountTheme">Account Theme</label>
-                        <div class="col-sm-4">
-                            <div class="select-kc">
-                                <select id="accountTheme"
-                                        ng-model="realm.accountTheme"
-                                        ng-options="o as o for o in serverInfo.themes.account">
-                                    <option value="" disabled selected>Select one...</option>
-                                </select>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="form-group">
-                        <label class="col-sm-2 control-label" for="adminTheme">Admin Console Theme</label>
-                        <div class="col-sm-4">
-                            <div class="select-kc">
-                                <select id="adminTheme"
-                                        ng-model="realm.adminTheme"
-                                        ng-options="o as o for o in serverInfo.themes.admin">
-                                    <option value="" disabled selected>Select one...</option>
-                                </select>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="form-group">
-                        <label class="col-sm-2 control-label" for="emailTheme">Email Theme</label>
-                        <div class="col-sm-4">
-                            <div class="select-kc">
-                                <select id="emailTheme"
-                                        ng-model="realm.emailTheme"
-                                        ng-options="o as o for o in serverInfo.themes.email">
-                                    <option value="" disabled selected>Select one...</option>
-                                </select>
-                            </div>
-                        </div>
-                    </div>
-                </fieldset>
-                <fieldset>
-                    <legend><span class="text">Cache Settings</span></legend>
-                    <div class="form-group">
-                        <label class="col-sm-2 control-label" for="enabled">Realm Cache Enabled</label>
-                        <div class="col-sm-4">
-                            <input ng-model="realm.realmCacheEnabled" name="realmCacheEnabled" id="realmCacheEnabled" onoffswitch />
-                        </div>
-                    </div>
-                    <div class="form-group">
-                        <label class="col-sm-2 control-label" for="enabled">User Cache Enabled</label>
-                        <div class="col-sm-4">
-                            <input ng-model="realm.userCacheEnabled" name="userCacheEnabled" id="userCacheEnabled" onoffswitch />
-                        </div>
-                    </div>
-                </fieldset>
 
                 <div class="pull-right form-actions" data-ng-show="createRealm && access.manageRealm">
                     <button kc-cancel data-ng-click="cancel()">Cancel</button>
@@ -159,7 +35,7 @@
                 <div class="pull-right form-actions" data-ng-show="!createRealm && access.manageRealm">
                     <button kc-reset data-ng-show="changed">Clear changes</button>
                     <button kc-save  data-ng-show="changed">Save</button>
-                    <button kc-delete data-ng-click="remove()" data-ng-hide="changed">Delete</button>
+                    <button kc-delete data-ng-click="remove()" data-ng-hide="changed">Delete Realm</button>
                 </div>
             </form>
         </div>
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-list.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-list.html
index 831aadf..c9e6ce8 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-list.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-list.html
@@ -5,7 +5,7 @@
 </div>
 <div id="content-area" class="col-md-9" role="main">
     <ul class="nav nav-tabs nav-tabs-pf">
-        <li class="active"><a href="">Realm List</a></li>
+        <li class="active"><a href="">Choose realm to manage</a></li>
     </ul>
     <div id="content">
         <h2 class="margin-top">Realms</h2>
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-login-settings.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-login-settings.html
new file mode 100755
index 0000000..ecc9344
--- /dev/null
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-login-settings.html
@@ -0,0 +1,80 @@
+<div class="bs-sidebar col-sm-3 " data-ng-include data-src="'partials/realm-menu.html'"></div>
+<div id="content-area" class="col-sm-9" role="main">
+    <kc-navigation data-kc-current="general" data-kc-realm="realm.realm" data-kc-social="social"></kc-navigation>
+    <div id="content">
+        <ol class="breadcrumb" data-ng-hide="createRealm">
+            <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+            <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
+            <li class="active">Login</li>
+        </ol>
+        <div data-ng-show="access.viewRealm">
+            <h2><span>{{realm.realm}}</span> Login Settings</h2>
+            <form class="form-horizontal" name="realmForm" novalidate kc-read-only="!access.manageRealm">
+                <fieldset class="border-top">
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label" for="social">Social login</label>
+                        <div class="col-sm-4">
+                            <input ng-model="realm.social" name="social" id="social" onoffswitch />
+                        </div>
+                    </div>
+                    <div class="form-group" data-ng-show="realm.social">
+                        <label class="col-sm-2 control-label" for="updateProfileOnInitialSocialLogin">Update profile on first social login</label>
+                        <div class="col-sm-4">
+                            <input ng-model="realm.updateProfileOnInitialSocialLogin" name="updateProfileOnInitialSocialLogin" id="updateProfileOnInitialSocialLogin" onoffswitch />
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label for="registrationAllowed" class="col-sm-2 control-label">User registration</label>
+                        <div class="col-sm-4">
+                            <input ng-model="realm.registrationAllowed" name="registrationAllowed" id="registrationAllowed" onoffswitch />
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label for="resetPasswordAllowed" class="col-sm-2 control-label">Forget password</label>
+                        <div class="col-sm-4">
+                            <input ng-model="realm.resetPasswordAllowed" name="resetPasswordAllowed" id="resetPasswordAllowed" onoffswitch />
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label" for="rememberMe">Remember Me</label>
+                        <div class="col-sm-4">
+                            <input ng-model="realm.rememberMe" name="rememberMe" id="rememberMe" onoffswitch />
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label for="verifyEmail" class="col-sm-2 control-label">Verify email</label>
+                        <div class="col-sm-4">
+                            <input ng-model="realm.verifyEmail" name="verifyEmail" id="verifyEmail" onoffswitch />
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label for="passwordCredentialGrantAllowed" class="col-sm-2 control-label">Direct Grant API</label>
+                        <div class="col-sm-4">
+                            <input ng-model="realm.passwordCredentialGrantAllowed" name="passwordCredentialGrantAllowed" id="passwordCredentialGrantAllowed" onoffswitch />
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label for="sslRequired" class="col-sm-2 control-label">Require SSL</label>
+                        <div class="col-sm-4">
+                            <div class="select-kc">
+                                <select id="sslRequired" ng-model="realm.sslRequired">
+                                    <option value="all">all requests</option>
+                                    <option value="external">external requests</option>
+                                    <option value="none">none</option>
+                                </select>
+                            </div>
+                        </div>
+                    </div>
+                </fieldset>
+                <div class="pull-right form-actions" data-ng-show="access.manageRealm">
+                    <button kc-reset data-ng-show="changed">Clear changes</button>
+                    <button kc-save  data-ng-show="changed">Save</button>
+                </div>
+            </form>
+        </div>
+        <div data-ng-hide="access.viewRealm">
+            <h2 ><span>{{realm.realm}}</span></h2>
+        </div>
+
+    </div>
+</div>
\ No newline at end of file
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-theme-settings.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-theme-settings.html
new file mode 100755
index 0000000..2710039
--- /dev/null
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-theme-settings.html
@@ -0,0 +1,74 @@
+<div class="bs-sidebar col-sm-3 " data-ng-include data-src="'partials/realm-menu.html'"></div>
+<div id="content-area" class="col-sm-9" role="main">
+    <kc-navigation data-kc-current="general" data-kc-realm="realm.realm" data-kc-social="social"></kc-navigation>
+    <div id="content">
+        <ol class="breadcrumb" data-ng-hide="createRealm">
+            <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
+            <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
+            <li class="active">Theme</li>
+        </ol>
+        <div data-ng-show="access.viewRealm">
+            <h2><span>{{realm.realm}}</span> Theme Settings</h2>
+            <form class="form-horizontal" name="realmForm" novalidate kc-read-only="!access.manageRealm">
+                <fieldset class="border-top">
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label" for="loginTheme">Login Theme</label>
+                        <div class="col-sm-4">
+                            <div class="select-kc">
+                                <select id="loginTheme"
+                                        ng-model="realm.loginTheme"
+                                        ng-options="o as o for o in serverInfo.themes.login">
+                                    <option value="" disabled selected>Select one...</option>
+                                </select>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label" for="accountTheme">Account Theme</label>
+                        <div class="col-sm-4">
+                            <div class="select-kc">
+                                <select id="accountTheme"
+                                        ng-model="realm.accountTheme"
+                                        ng-options="o as o for o in serverInfo.themes.account">
+                                    <option value="" disabled selected>Select one...</option>
+                                </select>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label" for="adminTheme">Admin Console Theme</label>
+                        <div class="col-sm-4">
+                            <div class="select-kc">
+                                <select id="adminTheme"
+                                        ng-model="realm.adminTheme"
+                                        ng-options="o as o for o in serverInfo.themes.admin">
+                                    <option value="" disabled selected>Select one...</option>
+                                </select>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <label class="col-sm-2 control-label" for="emailTheme">Email Theme</label>
+                        <div class="col-sm-4">
+                            <div class="select-kc">
+                                <select id="emailTheme"
+                                        ng-model="realm.emailTheme"
+                                        ng-options="o as o for o in serverInfo.themes.email">
+                                    <option value="" disabled selected>Select one...</option>
+                                </select>
+                            </div>
+                        </div>
+                    </div>
+                </fieldset>
+                <div class="pull-right form-actions" data-ng-show="access.manageRealm">
+                    <button kc-reset data-ng-show="changed">Clear changes</button>
+                    <button kc-save  data-ng-show="changed">Save</button>
+                </div>
+            </form>
+        </div>
+        <div data-ng-hide="access.viewRealm">
+            <h2 ><span>{{realm.realm}}</span></h2>
+        </div>
+
+    </div>
+</div>
\ No newline at end of file
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-tokens.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-tokens.html
index 4dc0ffc..ba58157 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-tokens.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-tokens.html
@@ -2,16 +2,16 @@
 <div id="content-area" class="col-sm-9" role="main">
     <ul class="nav nav-tabs nav-tabs-pf"  data-ng-show="!create">
         <li><a href="#/realms/{{realm.realm}}/sessions/realm">Realm Sessions</a></li>
-        <li class="active"><a href="#/realms/{{realm.realm}}/token-settings">Token Settings</a></li>
+        <li class="active"><a href="#/realms/{{realm.realm}}/token-settings">Timeout Settings</a></li>
         <li><a href="#/realms/{{realm.realm}}/sessions/revocation">Revocation</a></li>
-        <li><a href="#/realms/{{realm.realm}}/sessions/brute-force">Brute Force</a></li>
+        <li><a href="#/realms/{{realm.realm}}/sessions/brute-force">Brute Force Protection</a></li>
     </ul>
     <div id="content">
         <ol class="breadcrumb">
             <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
-            <li class="active">Token</li>
+            <li class="active">Timeouts</li>
         </ol>
-        <h2><span>{{realm.realm}}</span> Token Settings</h2>
+        <h2><span>{{realm.realm}}</span> Session and Token Timeout Settings</h2>
         <form class="form-horizontal" name="realmForm" novalidate kc-read-only="!access.manageRealm">
             <fieldset class="border-top">
                 <div class="form-group input-select">
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/session-brute-force.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/session-brute-force.html
index a2c7f47..3f9bd9a 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/session-brute-force.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/session-brute-force.html
@@ -2,9 +2,9 @@
 <div id="content-area" class="col-sm-9" role="main">
     <ul class="nav nav-tabs nav-tabs-pf"  data-ng-show="!create">
         <li><a href="#/realms/{{realm.realm}}/sessions/realm">Realm Sessions</a></li>
-        <li><a href="#/realms/{{realm.realm}}/token-settings">Token Settings</a></li>
+        <li><a href="#/realms/{{realm.realm}}/token-settings">Timeout Settings</a></li>
         <li><a href="#/realms/{{realm.realm}}/sessions/revocation">Revocation</a></li>
-        <li class="active"><a href="#/realms/{{realm.realm}}/sessions/brute-force">Brute Force</a></li>
+        <li class="active"><a href="#/realms/{{realm.realm}}/sessions/brute-force">Brute Force Protection</a></li>
     </ul>
     <div id="content">
         <ol class="breadcrumb">
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/session-realm.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/session-realm.html
index bea3c02..866b2f7 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/session-realm.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/session-realm.html
@@ -2,9 +2,9 @@
 <div id="content-area" class="col-md-9" role="main">
     <ul class="nav nav-tabs nav-tabs-pf">
         <li class="active"><a href="#/realms/{{realm.realm}}/sessions/realm">Realm Sessions</a></li>
-        <li><a href="#/realms/{{realm.realm}}/token-settings">Token Settings</a></li>
+        <li><a href="#/realms/{{realm.realm}}/token-settings">Timeout Settings</a></li>
         <li><a href="#/realms/{{realm.realm}}/sessions/revocation">Revocation</a></li>
-        <li><a href="#/realms/{{realm.realm}}/sessions/brute-force">Brute Force</a></li>
+        <li><a href="#/realms/{{realm.realm}}/sessions/brute-force">Brute Force Protection</a></li>
     </ul>
     <div id="content">
         <ol class="breadcrumb">
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/session-revocation.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/session-revocation.html
index 285903c..04ec771 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/session-revocation.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/session-revocation.html
@@ -2,9 +2,9 @@
 <div id="content-area" class="col-md-9" role="main">
     <ul class="nav nav-tabs nav-tabs-pf"  data-ng-show="!create">
         <li><a href="#/realms/{{realm.realm}}/sessions/realm">Realm Sessions</a></li>
-        <li><a href="#/realms/{{realm.realm}}/token-settings">Token Settings</a></li>
+        <li><a href="#/realms/{{realm.realm}}/token-settings">Timeout Settings</a></li>
         <li class="active"><a href="#/realms/{{realm.realm}}/sessions/revocation">Revocation</a></li>
-        <li><a href="#/realms/{{realm.realm}}/sessions/brute-force">Brute Force</a></li>
+        <li><a href="#/realms/{{realm.realm}}/sessions/brute-force">Brute Force Protection</a></li>
     </ul>
     <div id="content">
         <ol class="breadcrumb">
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/templates/kc-navigation.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/templates/kc-navigation.html
index d684fc5..9d2e019 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/templates/kc-navigation.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/templates/kc-navigation.html
@@ -1,9 +1,12 @@
 <ul class="nav nav-tabs nav-tabs-pf">
     <li ng-class="{active: !path[2]}"><a href="#/realms/{{realm.realm}}">General</a></li>
+    <li ng-class="{active: path[2] == 'login-settings'}" data-ng-show="access.viewRealm"><a href="#/realms/{{realm.realm}}/login-settings">Login</a></li>
     <li ng-class="{active: path[2] == 'social-settings'}" data-ng-show="realm.social && access.viewRealm"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
     <li ng-class="{active: path[2] == 'roles'}" data-ng-show="access.viewRealm"><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
     <li ng-class="{active: path[2] == 'default-roles'}" data-ng-show="access.viewRealm"><a href="#/realms/{{realm.realm}}/default-roles">Default Roles</a></li>
     <li ng-class="{active: path[2] == 'required-credentials'}" data-ng-show="access.viewRealm"><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
     <li ng-class="{active: path[2] == 'keys-settings'}" data-ng-show="access.viewRealm"><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
     <li ng-class="{active: path[2] == 'smtp-settings'}" data-ng-show="access.viewRealm"><a href="#/realms/{{realm.realm}}/smtp-settings">Email</a></li>
+    <li ng-class="{active: path[2] == 'theme-settings'}" data-ng-show="access.viewRealm"><a href="#/realms/{{realm.realm}}/theme-settings">Themes</a></li>
+    <li ng-class="{active: path[2] == 'cache-settings'}" data-ng-show="access.viewRealm"><a href="#/realms/{{realm.realm}}/cache-settings">Cache Config</a></li>
 </ul>
\ No newline at end of file
diff --git a/forms/common-themes/src/main/resources/theme/login/base/login.ftl b/forms/common-themes/src/main/resources/theme/login/base/login.ftl
index 9bc1570..6fd5808 100755
--- a/forms/common-themes/src/main/resources/theme/login/base/login.ftl
+++ b/forms/common-themes/src/main/resources/theme/login/base/login.ftl
@@ -1,9 +1,17 @@
 <#import "template.ftl" as layout>
 <@layout.registrationLayout displayInfo=social.displayInfo; section>
     <#if section = "title">
-        ${rb.loginTitle} ${realm.name}
+        <#if client.application>
+             ${rb.loginTitle} ${realm.name}
+        <#elseif client.oauthClient>
+             ${realm.name} ${rb.loginOauthTitle}
+        </#if>
     <#elseif section = "header">
-        ${rb.loginTitle} <strong>${(realm.name)!''}</strong>
+        <#if client.application>
+             ${rb.loginTitle} <strong>${(realm.name)!''}</strong>
+        <#elseif client.oauthClient>
+             Temporary access for <strong>${(realm.name)!''}</strong> requested by <strong>${(client.clientId)!''}</strong>.
+        </#if>
     <#elseif section = "form">
         <#if realm.password>
             <form id="kc-form-login" class="${properties.kcFormClass!}" action="${url.loginAction}" method="post">
diff --git a/forms/common-themes/src/main/resources/theme/login/base/login-oauth-grant.ftl b/forms/common-themes/src/main/resources/theme/login/base/login-oauth-grant.ftl
index a44b2c7..e8cfbf3 100755
--- a/forms/common-themes/src/main/resources/theme/login/base/login-oauth-grant.ftl
+++ b/forms/common-themes/src/main/resources/theme/login/base/login-oauth-grant.ftl
@@ -4,10 +4,10 @@
     <#if section = "title">
         ${rb.oauthGrantTitle}
     <#elseif section = "header">
-        ${rb.oauthGrantTitleHtml}
+        Temporary access for <strong>${(realm.name)!''}</strong> requested by <strong>${(client.clientId)!''}</strong>.
     <#elseif section = "form">
         <div id="kc-oauth" class="content-area">
-            <h3><strong>${oauth.client}</strong> ${rb.oauthGrantRequest}</h3>
+            <h3>${rb.oauthGrantRequest}</h3>
             <ul>
                 <#if oauth.claimsRequested??>
                     <li>
@@ -45,8 +45,8 @@
 
                     <div id="kc-form-buttons" class="${properties.kcFormButtonsClass!}">
                         <div class="${properties.kcFormButtonsWrapperClass!}">
-                            <input class="btn btn-primary btn-lg" name="accept" id="kc-login" type="submit" value="${rb.accept}"/>
-                            <input class="btn btn-default btn-lg" name="cancel" id="kc-cancel" type="submit" value="${rb.cancel}"/>
+                            <input class="btn btn-primary btn-lg" name="accept" id="kc-login" type="submit" value="${rb.yes}"/>
+                            <input class="btn btn-default btn-lg" name="cancel" id="kc-cancel" type="submit" value="${rb.no}"/>
                         </div>
                     </div>
                 </div>
diff --git a/forms/common-themes/src/main/resources/theme/login/base/messages/messages.properties b/forms/common-themes/src/main/resources/theme/login/base/messages/messages.properties
index 5bac22e..e7a0eb9 100755
--- a/forms/common-themes/src/main/resources/theme/login/base/messages/messages.properties
+++ b/forms/common-themes/src/main/resources/theme/login/base/messages/messages.properties
@@ -23,6 +23,8 @@ passwordNewConfirm=New Password confirmation
 cancel=Cancel
 accept=Accept
 submit=Submit
+yes=Yes
+no=No
 
 authenticatorCode=One-time-password
 clientCertificate=Client Certificate
@@ -50,6 +52,8 @@ successTotpRemoved=Google authenticator removed.
 usernameExists=Username already exists
 
 loginTitle=Log in to
+loginOauthTitle=Temporary access.
+loginOauthTitleHtml=Temporary access requested.  Login to grant access.
 loginForgot=Forgot
 
 loginTotpTitle=Google Authenticator Setup
@@ -67,9 +71,10 @@ loginProfileError=Some required fields are empty or incorrect.
 loginProfileErrorSteps=Please correct the fields in red.
 
 oauthGrantTitle=OAuth Grant
-oauthGrantTitleHtml=<strong>Keycloak</strong> Central Login
+oauthGrantTitleHtml=Temporary access requested
 oauthGrantTerms=Keycloak Central Login and Google will use this information in accordance with their respective terms of service and privacy policies.
-oauthGrantRequest=requests access to:
+oauthGrantRequest=Do you grant these access privileges?
+oauthGrantLoginRequest=Do you grant access?
 
 emailVerifyTitle=Email verification
 emailVerifyInstr=An email with instructions to verify your email address has been sent to you.
diff --git a/forms/email-api/pom.xml b/forms/email-api/pom.xml
index 61a0787..a09eae2 100755
--- a/forms/email-api/pom.xml
+++ b/forms/email-api/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>keycloak-forms-parent</artifactId>
 		<groupId>org.keycloak</groupId>
-		<version>1.0-beta-4-SNAPSHOT</version>
+		<version>1.0-beta-4</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
diff --git a/forms/email-freemarker/pom.xml b/forms/email-freemarker/pom.xml
index 22126e0..1ad691d 100755
--- a/forms/email-freemarker/pom.xml
+++ b/forms/email-freemarker/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-forms-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/forms/login-api/pom.xml b/forms/login-api/pom.xml
index 3068e6f..d326197 100755
--- a/forms/login-api/pom.xml
+++ b/forms/login-api/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>keycloak-forms-parent</artifactId>
 		<groupId>org.keycloak</groupId>
-		<version>1.0-beta-4-SNAPSHOT</version>
+		<version>1.0-beta-4</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
diff --git a/forms/login-freemarker/pom.xml b/forms/login-freemarker/pom.xml
index 33a97b5..a6202c9 100755
--- a/forms/login-freemarker/pom.xml
+++ b/forms/login-freemarker/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>keycloak-forms-parent</artifactId>
 		<groupId>org.keycloak</groupId>
-		<version>1.0-beta-4-SNAPSHOT</version>
+		<version>1.0-beta-4</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
diff --git a/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/FreeMarkerLoginFormsProvider.java b/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/FreeMarkerLoginFormsProvider.java
index f0540ad..fcabeb1 100755
--- a/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/FreeMarkerLoginFormsProvider.java
+++ b/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/FreeMarkerLoginFormsProvider.java
@@ -10,6 +10,7 @@ import org.keycloak.freemarker.Theme;
 import org.keycloak.freemarker.ThemeProvider;
 import org.keycloak.login.LoginFormsPages;
 import org.keycloak.login.LoginFormsProvider;
+import org.keycloak.login.freemarker.model.ClientBean;
 import org.keycloak.login.freemarker.model.CodeBean;
 import org.keycloak.login.freemarker.model.LoginBean;
 import org.keycloak.login.freemarker.model.MessageBean;
@@ -189,6 +190,10 @@ public class FreeMarkerLoginFormsProvider implements LoginFormsProvider {
             attributes.put("url", new UrlBean(realm, theme, baseUri));
         }
 
+        if (client != null) {
+            attributes.put("client", new ClientBean(client));
+        }
+
         attributes.put("login", new LoginBean(formData));
 
         switch (page) {
diff --git a/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/model/ClientBean.java b/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/model/ClientBean.java
new file mode 100755
index 0000000..4507762
--- /dev/null
+++ b/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/model/ClientBean.java
@@ -0,0 +1,29 @@
+package org.keycloak.login.freemarker.model;
+
+import org.keycloak.models.ApplicationModel;
+import org.keycloak.models.ClientModel;
+import org.keycloak.models.OAuthClientModel;
+
+/**
+ * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
+ * @version $Revision: 1 $
+ */
+public class ClientBean {
+    protected ClientModel client;
+
+    public ClientBean(ClientModel client) {
+        this.client = client;
+    }
+
+    public boolean isApplication() {
+        return client instanceof ApplicationModel;
+    }
+
+    public boolean isOauthClient() {
+        return client instanceof OAuthClientModel;
+    }
+
+    public String getClientId() {
+        return client.getClientId();
+    }
+}
diff --git a/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/model/OAuthGrantBean.java b/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/model/OAuthGrantBean.java
index 664b25b..a5551b0 100755
--- a/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/model/OAuthGrantBean.java
+++ b/forms/login-freemarker/src/main/java/org/keycloak/login/freemarker/model/OAuthGrantBean.java
@@ -41,8 +41,6 @@ public class OAuthGrantBean {
     private String code;
     private ClientModel client;
     private List<String> claimsRequested;
-    private String oAuthCode;
-    private String action;
 
     public OAuthGrantBean(String code, ClientModel client, List<RoleModel> realmRolesRequested, MultivaluedMap<String, RoleModel> resourceRolesRequested) {
         this.code = code;

forms/pom.xml 2(+1 -1)

diff --git a/forms/pom.xml b/forms/pom.xml
index 7ea2ce2..2fde536 100755
--- a/forms/pom.xml
+++ b/forms/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>keycloak-parent</artifactId>
 		<groupId>org.keycloak</groupId>
-		<version>1.0-beta-4-SNAPSHOT</version>
+		<version>1.0-beta-4</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
diff --git a/integration/adapter-core/pom.xml b/integration/adapter-core/pom.xml
index 4c7d75a..5d3fe16 100755
--- a/integration/adapter-core/pom.xml
+++ b/integration/adapter-core/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/integration/admin-client/pom.xml b/integration/admin-client/pom.xml
old mode 100644
new mode 100755
index ca53e39..4f0bc74
--- a/integration/admin-client/pom.xml
+++ b/integration/admin-client/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/integration/as7-eap6/adapter/pom.xml b/integration/as7-eap6/adapter/pom.xml
index 20d480a..d789c5d 100755
--- a/integration/as7-eap6/adapter/pom.xml
+++ b/integration/as7-eap6/adapter/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/integration/as7-eap-subsystem/pom.xml b/integration/as7-eap-subsystem/pom.xml
index f01a5b7..5da784a 100755
--- a/integration/as7-eap-subsystem/pom.xml
+++ b/integration/as7-eap-subsystem/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <groupId>org.keycloak</groupId>
         <artifactId>keycloak-parent</artifactId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/integration/installed/pom.xml b/integration/installed/pom.xml
index bc54019..758ae60 100755
--- a/integration/installed/pom.xml
+++ b/integration/installed/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/integration/jaxrs-oauth-client/pom.xml b/integration/jaxrs-oauth-client/pom.xml
index 0b88811..69088d1 100755
--- a/integration/jaxrs-oauth-client/pom.xml
+++ b/integration/jaxrs-oauth-client/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/integration/jboss-adapter-core/pom.xml b/integration/jboss-adapter-core/pom.xml
index 960fc68..b917d45 100755
--- a/integration/jboss-adapter-core/pom.xml
+++ b/integration/jboss-adapter-core/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/integration/js/pom.xml b/integration/js/pom.xml
index d9958b5..025cec0 100755
--- a/integration/js/pom.xml
+++ b/integration/js/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>keycloak-parent</artifactId>
 		<groupId>org.keycloak</groupId>
-		<version>1.0-beta-4-SNAPSHOT</version>
+		<version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
diff --git a/integration/pom.xml b/integration/pom.xml
index 02ce18f..77694cb 100755
--- a/integration/pom.xml
+++ b/integration/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <name>Keycloak Integration</name>
diff --git a/integration/servlet-oauth-client/pom.xml b/integration/servlet-oauth-client/pom.xml
index 4e10254..a729df3 100755
--- a/integration/servlet-oauth-client/pom.xml
+++ b/integration/servlet-oauth-client/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/integration/tomcat7/adapter/pom.xml b/integration/tomcat7/adapter/pom.xml
index c04cc17..1643a87 100755
--- a/integration/tomcat7/adapter/pom.xml
+++ b/integration/tomcat7/adapter/pom.xml
@@ -4,7 +4,7 @@
     <parent>
 		<artifactId>keycloak-parent</artifactId>
 		<groupId>org.keycloak</groupId>
-		<version>1.0-beta-4-SNAPSHOT</version>
+		<version>1.0-beta-4</version>
 		<relativePath>../../../pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
diff --git a/integration/undertow/pom.xml b/integration/undertow/pom.xml
index e6512ff..02b2f90 100755
--- a/integration/undertow/pom.xml
+++ b/integration/undertow/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/integration/wildfly-adapter/pom.xml b/integration/wildfly-adapter/pom.xml
index addeda7..61bae90 100755
--- a/integration/wildfly-adapter/pom.xml
+++ b/integration/wildfly-adapter/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/integration/wildfly-subsystem/pom.xml b/integration/wildfly-subsystem/pom.xml
index ff4ebf7..9cc3241 100755
--- a/integration/wildfly-subsystem/pom.xml
+++ b/integration/wildfly-subsystem/pom.xml
@@ -20,7 +20,7 @@
     <parent>
         <groupId>org.keycloak</groupId>
         <artifactId>keycloak-parent</artifactId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/model/api/pom.xml b/model/api/pom.xml
index d0af4dc..c3ed613 100755
--- a/model/api/pom.xml
+++ b/model/api/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/model/api/src/main/java/org/keycloak/models/ClaimMask.java b/model/api/src/main/java/org/keycloak/models/ClaimMask.java
index 7d4334c..3a65034 100755
--- a/model/api/src/main/java/org/keycloak/models/ClaimMask.java
+++ b/model/api/src/main/java/org/keycloak/models/ClaimMask.java
@@ -16,6 +16,8 @@ public class ClaimMask {
     public static final long ADDRESS = 0x100l;
     public static final long PHONE = 0x200l;
 
+    public static final long ALL = NAME | USERNAME | PROFILE | PICTURE | WEBSITE | EMAIL | GENDER | LOCALE | ADDRESS | PHONE;
+
     public static boolean hasName(long mask) {
         return (mask & NAME) > 0;
     }
diff --git a/model/api/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java b/model/api/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java
index c36dd10..ca07fdb 100755
--- a/model/api/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java
+++ b/model/api/src/main/java/org/keycloak/models/utils/KeycloakModelUtils.java
@@ -2,6 +2,7 @@ package org.keycloak.models.utils;
 
 import org.bouncycastle.openssl.PEMWriter;
 import org.keycloak.models.ApplicationModel;
+import org.keycloak.models.ClaimMask;
 import org.keycloak.models.ClientModel;
 import org.keycloak.models.KeycloakSession;
 import org.keycloak.models.RealmModel;
@@ -92,6 +93,7 @@ public final class KeycloakModelUtils {
         ApplicationModel app = realm.addApplication(name);
         generateSecret(app);
         app.setFullScopeAllowed(true);
+        app.setAllowedClaimsMask(ClaimMask.ALL);
 
         return app;
     }
diff --git a/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java b/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
index 35a4acb..0a9f687 100755
--- a/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
+++ b/model/api/src/main/java/org/keycloak/models/utils/RepresentationToModel.java
@@ -181,6 +181,9 @@ public class RepresentationToModel {
         if (rep.getScopeMappings() != null) {
             for (ScopeMappingRepresentation scope : rep.getScopeMappings()) {
                 ClientModel client = newRealm.findClient(scope.getClient());
+                if (client == null) {
+                    throw new RuntimeException("Unknown client specification in realm scope mappings");
+                }
                 for (String roleString : scope.getRoles()) {
                     RoleModel role = newRealm.getRole(roleString.trim());
                     if (role == null) {
@@ -406,7 +409,7 @@ public class RepresentationToModel {
         if (resourceRep.getClaims() != null) {
             setClaims(applicationModel, resourceRep.getClaims());
         } else {
-            applicationModel.setAllowedClaimsMask(ClaimMask.USERNAME);
+            applicationModel.setAllowedClaimsMask(ClaimMask.ALL);
         }
 
         return applicationModel;
@@ -558,6 +561,9 @@ public class RepresentationToModel {
     public static void createApplicationScopeMappings(RealmModel realm, ApplicationModel applicationModel, List<ScopeMappingRepresentation> mappings) {
         for (ScopeMappingRepresentation mapping : mappings) {
             ClientModel client = realm.findClient(mapping.getClient());
+            if (client == null) {
+                throw new RuntimeException("Unknown client specified in application scope mappings");
+            }
             for (String roleString : mapping.getRoles()) {
                 RoleModel role = applicationModel.getRole(roleString.trim());
                 if (role == null) {
diff --git a/model/invalidation-cache/model-adapters/pom.xml b/model/invalidation-cache/model-adapters/pom.xml
index 8882850..d714dbf 100755
--- a/model/invalidation-cache/model-adapters/pom.xml
+++ b/model/invalidation-cache/model-adapters/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/model/invalidation-cache/pom.xml b/model/invalidation-cache/pom.xml
index d4f0490..5d53940 100755
--- a/model/invalidation-cache/pom.xml
+++ b/model/invalidation-cache/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <name>Model Parent</name>
diff --git a/model/jpa/pom.xml b/model/jpa/pom.xml
index 52c7db5..a41637e 100755
--- a/model/jpa/pom.xml
+++ b/model/jpa/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/model/mongo/pom.xml b/model/mongo/pom.xml
index c239f07..acceb49 100755
--- a/model/mongo/pom.xml
+++ b/model/mongo/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

model/pom.xml 2(+1 -1)

diff --git a/model/pom.xml b/model/pom.xml
index bfb162d..84f8512 100755
--- a/model/pom.xml
+++ b/model/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <name>Model Parent</name>
diff --git a/model/sessions-jpa/pom.xml b/model/sessions-jpa/pom.xml
index 65007be..f2bf6aa 100755
--- a/model/sessions-jpa/pom.xml
+++ b/model/sessions-jpa/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/model/sessions-mem/pom.xml b/model/sessions-mem/pom.xml
index c3f40eb..6deb4a5 100755
--- a/model/sessions-mem/pom.xml
+++ b/model/sessions-mem/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/model/sessions-mongo/pom.xml b/model/sessions-mongo/pom.xml
index 3daf147..af4bcd0 100755
--- a/model/sessions-mongo/pom.xml
+++ b/model/sessions-mongo/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/picketlink/keycloak-picketlink-api/pom.xml b/picketlink/keycloak-picketlink-api/pom.xml
index b954af7..f282002 100755
--- a/picketlink/keycloak-picketlink-api/pom.xml
+++ b/picketlink/keycloak-picketlink-api/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>keycloak-picketlink-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/picketlink/keycloak-picketlink-ldap/pom.xml b/picketlink/keycloak-picketlink-ldap/pom.xml
index 9360aa8..7a6f684 100755
--- a/picketlink/keycloak-picketlink-ldap/pom.xml
+++ b/picketlink/keycloak-picketlink-ldap/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>keycloak-picketlink-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/picketlink/pom.xml b/picketlink/pom.xml
index 4cefc46..85de39e 100755
--- a/picketlink/pom.xml
+++ b/picketlink/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

pom.xml 2(+1 -1)

diff --git a/pom.xml b/pom.xml
index dcecacf..6eef80d 100755
--- a/pom.xml
+++ b/pom.xml
@@ -8,7 +8,7 @@
     </description>
     <groupId>org.keycloak</groupId>
     <artifactId>keycloak-parent</artifactId>
-    <version>1.0-beta-4-SNAPSHOT</version>
+    <version>1.0-beta-4</version>
     <packaging>pom</packaging>
 
     <properties>
diff --git a/project-integrations/aerogear-ups/app/pom.xml b/project-integrations/aerogear-ups/app/pom.xml
index eb42ab7..6fc9d18 100755
--- a/project-integrations/aerogear-ups/app/pom.xml
+++ b/project-integrations/aerogear-ups/app/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
 
diff --git a/project-integrations/aerogear-ups/auth-server/pom.xml b/project-integrations/aerogear-ups/auth-server/pom.xml
index 61a7d86..d499a71 100755
--- a/project-integrations/aerogear-ups/auth-server/pom.xml
+++ b/project-integrations/aerogear-ups/auth-server/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
 
diff --git a/project-integrations/aerogear-ups/pom.xml b/project-integrations/aerogear-ups/pom.xml
index 873117f..f77d077 100755
--- a/project-integrations/aerogear-ups/pom.xml
+++ b/project-integrations/aerogear-ups/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
     <name>Aerogear UPS Parent</name>
diff --git a/project-integrations/pom.xml b/project-integrations/pom.xml
index 840b5c1..c1f6744 100755
--- a/project-integrations/pom.xml
+++ b/project-integrations/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <name>Third-party Integration Parent</name>

server/pom.xml 2(+1 -1)

diff --git a/server/pom.xml b/server/pom.xml
index 53ee2ef..12246ea 100755
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

services/pom.xml 2(+1 -1)

diff --git a/services/pom.xml b/services/pom.xml
index d52cf59..3227c3f 100755
--- a/services/pom.xml
+++ b/services/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java b/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
index b4e68c4..64ce3a5 100755
--- a/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
@@ -54,10 +54,19 @@ public class AuthenticationManager {
     }
 
     public static boolean isSessionValid(RealmModel realm, UserSessionModel userSession) {
-        if (userSession == null) return false;
+        if (userSession == null) {
+            logger.info("userSession was null");
+            return false;
+        }
         int currentTime = Time.currentTime();
         int max = userSession.getStarted() + realm.getSsoSessionMaxLifespan();
         boolean valid = userSession != null && userSession.getLastSessionRefresh() + realm.getSsoSessionIdleTimeout() > currentTime && max > currentTime;
+        if (!valid) {
+            logger.info("userSession.getLastSessionRefresh(): " + userSession.getLastSessionRefresh());
+            logger.info("realm.getSsoSessionIdleTimeout(): " + realm.getSsoSessionIdleTimeout());
+            logger.info("currentTime: " + currentTime);
+            logger.info("max: " + max);
+        }
         return valid;
     }
 
diff --git a/services/src/main/java/org/keycloak/services/resources/AccountService.java b/services/src/main/java/org/keycloak/services/resources/AccountService.java
index 17147fb..dca8ad1 100755
--- a/services/src/main/java/org/keycloak/services/resources/AccountService.java
+++ b/services/src/main/java/org/keycloak/services/resources/AccountService.java
@@ -189,7 +189,7 @@ public class AccountService {
             try {
                 require(AccountRoles.MANAGE_ACCOUNT);
             } catch (ForbiddenException e) {
-                return Flows.forms(session, realm, uriInfo).setError("No access").createErrorPage();
+                return Flows.forms(session, realm, null, uriInfo).setError("No access").createErrorPage();
             }
 
             String[] referrer = getReferrer();
diff --git a/services/src/main/java/org/keycloak/services/resources/flows/Flows.java b/services/src/main/java/org/keycloak/services/resources/flows/Flows.java
index 781edbc..9765c56 100755
--- a/services/src/main/java/org/keycloak/services/resources/flows/Flows.java
+++ b/services/src/main/java/org/keycloak/services/resources/flows/Flows.java
@@ -24,6 +24,7 @@ package org.keycloak.services.resources.flows;
 import org.jboss.resteasy.spi.HttpRequest;
 import org.keycloak.ClientConnection;
 import org.keycloak.login.LoginFormsProvider;
+import org.keycloak.models.ClientModel;
 import org.keycloak.models.KeycloakSession;
 import org.keycloak.models.RealmModel;
 import org.keycloak.services.managers.AuthenticationManager;
@@ -40,8 +41,8 @@ public class Flows {
     private Flows() {
     }
 
-    public static LoginFormsProvider forms(KeycloakSession session, RealmModel realm, UriInfo uriInfo) {
-        return session.getProvider(LoginFormsProvider.class).setRealm(realm).setUriInfo(uriInfo);
+    public static LoginFormsProvider forms(KeycloakSession session, RealmModel realm, ClientModel client, UriInfo uriInfo) {
+        return session.getProvider(LoginFormsProvider.class).setRealm(realm).setUriInfo(uriInfo).setClient(client);
     }
 
     public static OAuthFlows oauth(KeycloakSession session, RealmModel realm, HttpRequest request, UriInfo uriInfo, ClientConnection clientConnection, AuthenticationManager authManager,
diff --git a/services/src/main/java/org/keycloak/services/resources/flows/OAuthFlows.java b/services/src/main/java/org/keycloak/services/resources/flows/OAuthFlows.java
index 621bb1c..68bf394 100755
--- a/services/src/main/java/org/keycloak/services/resources/flows/OAuthFlows.java
+++ b/services/src/main/java/org/keycloak/services/resources/flows/OAuthFlows.java
@@ -142,7 +142,7 @@ public class OAuthFlows {
                 audit.clone().event(EventType.SEND_VERIFY_EMAIL).detail(Details.EMAIL, accessCode.getUser().getEmail()).success();
             }
 
-            return Flows.forms(this.session, realm, uriInfo).setAccessCode(accessCode.getCode()).setUser(user)
+            return Flows.forms(this.session, realm, client, uriInfo).setAccessCode(accessCode.getCode()).setUser(user)
                     .createResponse(action);
         }
 
@@ -159,7 +159,7 @@ public class OAuthFlows {
                 }
             }
 
-            return Flows.forms(this.session, realm, uriInfo)
+            return Flows.forms(this.session, realm, client, uriInfo)
                     .setAccessCode(accessCode.getCode())
                     .setAccessRequest(realmRoles, resourceRoles)
                     .setClient(client)
@@ -177,7 +177,7 @@ public class OAuthFlows {
     }
 
     public Response forwardToSecurityFailure(String message) {
-        return Flows.forms(session, realm, uriInfo).setError(message).createErrorPage();
+        return Flows.forms(session, realm, null, uriInfo).setError(message).createErrorPage();
     }
 
     private void isTotpConfigurationRequired(UserModel user) {
diff --git a/services/src/main/java/org/keycloak/services/resources/RequiredActionsService.java b/services/src/main/java/org/keycloak/services/resources/RequiredActionsService.java
index 5d598e6..4e33e75 100755
--- a/services/src/main/java/org/keycloak/services/resources/RequiredActionsService.java
+++ b/services/src/main/java/org/keycloak/services/resources/RequiredActionsService.java
@@ -116,7 +116,7 @@ public class RequiredActionsService {
 
         String error = Validation.validateUpdateProfileForm(formData);
         if (error != null) {
-            return Flows.forms(session, realm, uriInfo).setUser(user).setError(error).createResponse(RequiredAction.UPDATE_PROFILE);
+            return Flows.forms(session, realm, null, uriInfo).setUser(user).setError(error).createResponse(RequiredAction.UPDATE_PROFILE);
         }
 
         user.setFirstName(formData.getFirst("firstName"));
@@ -155,7 +155,7 @@ public class RequiredActionsService {
         String totp = formData.getFirst("totp");
         String totpSecret = formData.getFirst("totpSecret");
 
-        LoginFormsProvider loginForms = Flows.forms(session, realm, uriInfo).setUser(user);
+        LoginFormsProvider loginForms = Flows.forms(session, realm, null, uriInfo).setUser(user);
         if (Validation.isEmpty(totp)) {
             return loginForms.setError(Messages.MISSING_TOTP).createResponse(RequiredAction.CONFIGURE_TOTP);
         } else if (!new TimeBasedOTP().validate(totp, totpSecret.getBytes())) {
@@ -195,7 +195,7 @@ public class RequiredActionsService {
         String passwordNew = formData.getFirst("password-new");
         String passwordConfirm = formData.getFirst("password-confirm");
 
-        LoginFormsProvider loginForms = Flows.forms(session, realm, uriInfo).setUser(user);
+        LoginFormsProvider loginForms = Flows.forms(session, realm, null, uriInfo).setUser(user);
         if (Validation.isEmpty(passwordNew)) {
             return loginForms.setError(Messages.MISSING_PASSWORD).createResponse(RequiredAction.UPDATE_PASSWORD);
         } else if (!passwordNew.equals(passwordConfirm)) {
@@ -251,7 +251,7 @@ public class RequiredActionsService {
 
             initAudit(accessCode);
 
-            return Flows.forms(session, realm, uriInfo).setAccessCode(accessCode.getCode()).setUser(accessCode.getUser())
+            return Flows.forms(session, realm, null, uriInfo).setAccessCode(accessCode.getCode()).setUser(accessCode.getUser())
                     .createResponse(RequiredAction.VERIFY_EMAIL);
         }
     }
@@ -265,9 +265,9 @@ public class RequiredActionsService {
                 return unauthorized();
             }
 
-            return Flows.forms(session, realm, uriInfo).setAccessCode(accessCode.getCode()).createResponse(RequiredAction.UPDATE_PASSWORD);
+            return Flows.forms(session, realm, null, uriInfo).setAccessCode(accessCode.getCode()).createResponse(RequiredAction.UPDATE_PASSWORD);
         } else {
-            return Flows.forms(session, realm, uriInfo).createPasswordReset();
+            return Flows.forms(session, realm, null, uriInfo).createPasswordReset();
         }
     }
 
@@ -327,11 +327,11 @@ public class RequiredActionsService {
                 audit.user(user).detail(Details.EMAIL, user.getEmail()).detail(Details.CODE_ID, accessCode.getCodeId()).success();
             } catch (EmailException e) {
                 logger.error("Failed to send password reset email", e);
-                return Flows.forms(this.session, realm, uriInfo).setError("emailSendError").createErrorPage();
+                return Flows.forms(this.session, realm, client, uriInfo).setError("emailSendError").createErrorPage();
             }
         }
 
-        return Flows.forms(session, realm, uriInfo).setSuccess("emailSent").createPasswordReset();
+        return Flows.forms(session, realm, client,  uriInfo).setSuccess("emailSent").createPasswordReset();
     }
 
     private AccessCode getAccessCodeEntry(RequiredAction requiredAction) {
@@ -368,7 +368,7 @@ public class RequiredActionsService {
         Set<RequiredAction> requiredActions = user.getRequiredActions();
         if (!requiredActions.isEmpty()) {
             accessCode.setRequiredAction(requiredActions.iterator().next());
-            return Flows.forms(session, realm, uriInfo).setAccessCode(accessCode.getCode()).setUser(user)
+            return Flows.forms(session, realm, null, uriInfo).setAccessCode(accessCode.getCode()).setUser(user)
                     .createResponse(requiredActions.iterator().next());
         } else {
             logger.debugv("redirectOauth: redirecting to: {0}", accessCode.getRedirectUri());
@@ -410,7 +410,7 @@ public class RequiredActionsService {
     }
 
     private Response unauthorized() {
-        return Flows.forms(session, realm, uriInfo).setError("Unauthorized request").createErrorPage();
+        return Flows.forms(session, realm, null, uriInfo).setError("Unauthorized request").createErrorPage();
     }
 
 }
diff --git a/services/src/main/java/org/keycloak/services/resources/SocialResource.java b/services/src/main/java/org/keycloak/services/resources/SocialResource.java
index e9acd79..84439e4 100755
--- a/services/src/main/java/org/keycloak/services/resources/SocialResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/SocialResource.java
@@ -110,7 +110,7 @@ public class SocialResource {
             initialRequest = new JWSInput(encodedState).readJsonContent(State.class);
         } catch (Throwable t) {
             logger.warn("Invalid social callback", t);
-            return Flows.forms(session, null, uriInfo).setError("Unexpected callback").createErrorPage();
+            return Flows.forms(session, null, null, uriInfo).setError("Unexpected callback").createErrorPage();
         }
 
         SocialProvider provider = SocialLoader.load(initialRequest.getProvider());
@@ -174,7 +174,7 @@ public class SocialResource {
             queryParms.putSingle(OAuth2Constants.RESPONSE_TYPE, responseType);
 
             audit.error(Errors.REJECTED_BY_USER);
-            return  Flows.forms(session, realm, uriInfo).setQueryParams(queryParms).setWarning("Access denied").createLogin();
+            return  Flows.forms(session, realm, client, uriInfo).setQueryParams(queryParms).setWarning("Access denied").createLogin();
         } catch (SocialProviderException e) {
             logger.error("Failed to process social callback", e);
             return oauth.forwardToSecurityFailure("Failed to process social callback");
@@ -278,25 +278,25 @@ public class SocialResource {
         SocialProvider provider = SocialLoader.load(providerId);
         if (provider == null) {
             audit.error(Errors.SOCIAL_PROVIDER_NOT_FOUND);
-            return Flows.forms(session, realm, uriInfo).setError("Social provider not found").createErrorPage();
+            return Flows.forms(session, realm, null, uriInfo).setError("Social provider not found").createErrorPage();
         }
 
         ClientModel client = realm.findClient(clientId);
         if (client == null) {
             audit.error(Errors.CLIENT_NOT_FOUND);
             logger.warn("Unknown login requester: " + clientId);
-            return Flows.forms(session, realm, uriInfo).setError("Unknown login requester.").createErrorPage();
+            return Flows.forms(session, realm, null, uriInfo).setError("Unknown login requester.").createErrorPage();
         }
 
         if (!client.isEnabled()) {
             audit.error(Errors.CLIENT_DISABLED);
             logger.warn("Login requester not enabled.");
-            return Flows.forms(session, realm, uriInfo).setError("Login requester not enabled.").createErrorPage();
+            return Flows.forms(session, realm, null, uriInfo).setError("Login requester not enabled.").createErrorPage();
         }
         redirectUri = TokenService.verifyRedirectUri(uriInfo, redirectUri, realm, client);
         if (redirectUri == null) {
             audit.error(Errors.INVALID_REDIRECT_URI);
-            return Flows.forms(session, realm, uriInfo).setError("Invalid redirect_uri.").createErrorPage();
+            return Flows.forms(session, realm, null, uriInfo).setError("Invalid redirect_uri.").createErrorPage();
         }
 
         try {
@@ -309,7 +309,7 @@ public class SocialResource {
                     .redirectToSocialProvider();
         } catch (Throwable t) {
             logger.error("Failed to redirect to social auth", t);
-            return Flows.forms(session, realm, uriInfo).setError("Failed to redirect to social auth").createErrorPage();
+            return Flows.forms(session, realm, null, uriInfo).setError("Failed to redirect to social auth").createErrorPage();
         }
     }
 
diff --git a/services/src/main/java/org/keycloak/services/resources/TokenService.java b/services/src/main/java/org/keycloak/services/resources/TokenService.java
index 67d29bb..a466c31 100755
--- a/services/src/main/java/org/keycloak/services/resources/TokenService.java
+++ b/services/src/main/java/org/keycloak/services/resources/TokenService.java
@@ -538,18 +538,18 @@ public class TokenService {
                 return oauth.processAccessCode(scopeParam, state, redirect, client, user, userSession, audit);
             case ACCOUNT_TEMPORARILY_DISABLED:
                 audit.error(Errors.USER_TEMPORARILY_DISABLED);
-                return Flows.forms(this.session, realm, uriInfo).setError(Messages.ACCOUNT_TEMPORARILY_DISABLED).setFormData(formData).createLogin();
+                return Flows.forms(this.session, realm, client, uriInfo).setError(Messages.ACCOUNT_TEMPORARILY_DISABLED).setFormData(formData).createLogin();
             case ACCOUNT_DISABLED:
                 audit.error(Errors.USER_DISABLED);
-                return Flows.forms(this.session, realm, uriInfo).setError(Messages.ACCOUNT_DISABLED).setFormData(formData).createLogin();
+                return Flows.forms(this.session, realm, client, uriInfo).setError(Messages.ACCOUNT_DISABLED).setFormData(formData).createLogin();
             case MISSING_TOTP:
-                return Flows.forms(this.session, realm, uriInfo).setFormData(formData).createLoginTotp();
+                return Flows.forms(this.session, realm, client, uriInfo).setFormData(formData).createLoginTotp();
             case INVALID_USER:
                 audit.error(Errors.USER_NOT_FOUND);
-                return Flows.forms(this.session, realm, uriInfo).setError(Messages.INVALID_USER).setFormData(formData).createLogin();
+                return Flows.forms(this.session, realm, client, uriInfo).setError(Messages.INVALID_USER).setFormData(formData).createLogin();
             default:
                 audit.error(Errors.INVALID_USER_CREDENTIALS);
-                return Flows.forms(this.session, realm, uriInfo).setError(Messages.INVALID_USER).setFormData(formData).createLogin();
+                return Flows.forms(this.session, realm, client, uriInfo).setError(Messages.INVALID_USER).setFormData(formData).createLogin();
         }
     }
 
@@ -634,13 +634,13 @@ public class TokenService {
 
         if (error != null) {
             audit.error(Errors.INVALID_REGISTRATION);
-            return Flows.forms(session, realm, uriInfo).setError(error).setFormData(formData).createRegistration();
+            return Flows.forms(session, realm, client, uriInfo).setError(error).setFormData(formData).createRegistration();
         }
 
         // Validate that user with this username doesn't exist in realm or any authentication provider
         if (session.users().getUserByUsername(username, realm) != null) {
             audit.error(Errors.USERNAME_IN_USE);
-            return Flows.forms(session, realm, uriInfo).setError(Messages.USERNAME_EXISTS).setFormData(formData).createRegistration();
+            return Flows.forms(session, realm, client, uriInfo).setError(Messages.USERNAME_EXISTS).setFormData(formData).createRegistration();
         }
 
         UserModel user = session.users().addUser(realm, username);
@@ -668,7 +668,7 @@ public class TokenService {
             // User already registered, but force him to update password
             if (!passwordUpdateSuccessful) {
                 user.addRequiredAction(UserModel.RequiredAction.UPDATE_PASSWORD);
-                return Flows.forms(session, realm, uriInfo).setError(passwordUpdateError).createResponse(UserModel.RequiredAction.UPDATE_PASSWORD);
+                return Flows.forms(session, realm, client, uriInfo).setError(passwordUpdateError).createResponse(UserModel.RequiredAction.UPDATE_PASSWORD);
             }
         }
 
@@ -959,7 +959,7 @@ public class TokenService {
             return oauth.redirectError(client, "access_denied", state, redirect);
         }
 
-        LoginFormsProvider forms = Flows.forms(session, realm, uriInfo);
+        LoginFormsProvider forms = Flows.forms(session, realm, client, uriInfo);
 
         if (loginHint != null) {
             MultivaluedMap<String, String> formData = new MultivaluedMapImpl<String, String>();
@@ -1028,7 +1028,7 @@ public class TokenService {
 
         authManager.expireIdentityCookie(realm, uriInfo, clientConnection);
 
-        return Flows.forms(session, realm, uriInfo).createRegistration();
+        return Flows.forms(session, realm, client, uriInfo).createRegistration();
     }
 
     /**
@@ -1150,7 +1150,7 @@ public class TokenService {
     @Path("oauth/oob")
     @GET
     public Response installedAppUrnCallback(final @QueryParam("code") String code, final @QueryParam("error") String error, final @QueryParam("error_description") String errorDescription) {
-        LoginFormsProvider forms = Flows.forms(session, realm, uriInfo);
+        LoginFormsProvider forms = Flows.forms(session, realm, null, uriInfo);
         if (code != null) {
             return forms.setAccessCode(code).createCode();
         } else {
diff --git a/social/core/pom.xml b/social/core/pom.xml
index 86eb1c8..63bb7f1 100755
--- a/social/core/pom.xml
+++ b/social/core/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-social-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/social/facebook/pom.xml b/social/facebook/pom.xml
index 6efd735..11acc6d 100755
--- a/social/facebook/pom.xml
+++ b/social/facebook/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-social-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/social/github/pom.xml b/social/github/pom.xml
index 91bd6ae..8b8efd7 100755
--- a/social/github/pom.xml
+++ b/social/github/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-social-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/social/google/pom.xml b/social/google/pom.xml
index e54edc1..bf460c9 100755
--- a/social/google/pom.xml
+++ b/social/google/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-social-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

social/pom.xml 2(+1 -1)

diff --git a/social/pom.xml b/social/pom.xml
index 8576beb..0471b65 100755
--- a/social/pom.xml
+++ b/social/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/social/twitter/pom.xml b/social/twitter/pom.xml
index 6ea5460..e8bdc1f 100755
--- a/social/twitter/pom.xml
+++ b/social/twitter/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-social-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/testsuite/integration/pom.xml b/testsuite/integration/pom.xml
index 8b3e58c..fe25157 100755
--- a/testsuite/integration/pom.xml
+++ b/testsuite/integration/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-testsuite-pom</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/testsuite/performance/pom.xml b/testsuite/performance/pom.xml
index 1ba9c0f..f0f679c 100755
--- a/testsuite/performance/pom.xml
+++ b/testsuite/performance/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>keycloak-testsuite-pom</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/testsuite/performance-web/pom.xml b/testsuite/performance-web/pom.xml
old mode 100644
new mode 100755
index b9fee7c..89e9a89
--- a/testsuite/performance-web/pom.xml
+++ b/testsuite/performance-web/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-testsuite-pom</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
diff --git a/testsuite/pom.xml b/testsuite/pom.xml
index 7961ca5..7a7eeda 100755
--- a/testsuite/pom.xml
+++ b/testsuite/pom.xml
@@ -4,7 +4,7 @@
 	<parent>
 		<artifactId>keycloak-parent</artifactId>
 		<groupId>org.keycloak</groupId>
-		<version>1.0-beta-4-SNAPSHOT</version>
+		<version>1.0-beta-4</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<modelVersion>4.0.0</modelVersion>
diff --git a/testsuite/tools/pom.xml b/testsuite/tools/pom.xml
index aea718f..3a5640c 100755
--- a/testsuite/tools/pom.xml
+++ b/testsuite/tools/pom.xml
@@ -4,7 +4,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../../pom.xml</relativePath>
     </parent>
 
diff --git a/timer/api/pom.xml b/timer/api/pom.xml
index 68d991d..5b4280a 100755
--- a/timer/api/pom.xml
+++ b/timer/api/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-timer-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>
diff --git a/timer/basic/pom.xml b/timer/basic/pom.xml
index 34b0c0f..0419a90 100755
--- a/timer/basic/pom.xml
+++ b/timer/basic/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-timer-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
     </parent>
 
     <modelVersion>4.0.0</modelVersion>

timer/pom.xml 2(+1 -1)

diff --git a/timer/pom.xml b/timer/pom.xml
index d78a1a7..eda4125 100755
--- a/timer/pom.xml
+++ b/timer/pom.xml
@@ -3,7 +3,7 @@
     <parent>
         <artifactId>keycloak-parent</artifactId>
         <groupId>org.keycloak</groupId>
-        <version>1.0-beta-4-SNAPSHOT</version>
+        <version>1.0-beta-4</version>
         <relativePath>../pom.xml</relativePath>
     </parent>