Crowd 3.1 Upgrade Notes
Before upgrading to Crowd 3.1, read the following sections to make sure you're aware of all the important changes. We highly recommend that you read about all the new features in the Crowd 3.1 Release Notes.
Crowd 3.1 is bundled with Apache Tomcat 8.5
Crowd 3.1 is the first version of Crowd to be shipped with Tomcat 8.5. As such, there's a number of precautions that should be followed when upgrading:
Tomcat 8.x does not send HTTP reason phrases in the responses by default. This may cause incorrect error reporting from the Crowd integration REST client older than 3.1.0. Tomcats shipped in the standalone distribution are configured to send reason phrases by default, however when using the WAR distribution please add the following attribute to the Connector node in the Tomcat's server.xml.
JNDI related changes
Tomcat 8.x uses a different connection pool implementation. When using a JNDI DataSource with a JDBC driver that does not implement the
java.sql.Connection.isValid(int) method, provide a validationQuery in the DataSource configuration.
Customized Tomcat configuration files
in <APACHE_TOMCAT>/conf/server.xml remove the lines:
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html --> <Listener className="org.apache.catalina.core.JasperListener" />
Tomcat GZIP compression is enabled by default
Due to compatibility issues between Java and zlib Tomcat compression was disabled in Crowd 3.0.2. If you are using the Crowd WAR distribution, you may re-enable Tomcat compression.
JDBC connections strings on Postgres
prepareThreshold=0parameter in the JDBC connection string for Crowd instances running with Postgres databases. Crowd will automatically do appropriate changes in the connection string, but since the
crowd.cfg.xml file can be changed manually please make sure the parameter is always present.
Users of Oracle database should make sure they are not connecting as the SYS user before upgrading
If you are using the Oracle database, please make sure you are not authenticating Crowd as the SYS user. If you are, you will need to switch to a normal user before upgrading.
WAR distribution is now deprecated
Crowd and CrowdID WAR distributions are deprecated since Crowd 3.1. WAR distribution won't be available and supported for future releases. We recommend using a standalone distribution instead.
Why are we ending support for this?
- We are trying to reduce the amount of combinations and confusion around this for customers downloading a Server and Data Center edition
- The WAR edition is a bit more complex to install and gets more difficult as the installation ages and gets bigger - we want to reduce that complexity
- We can't and don't test every permutation of environments + app servers that a customer might deploy into, nor can we control what else might be in that environment, which can lead to a poor user experience
- We only support Tomcat - Crowd doesn't work on WLS or WebSphere anyways, other app servers - maybe.
Anything we release, we want to make sure users get a good experience in installation and usage and don't have to deal with app server quirks etc.
Solaris support is now deprecated
Changes important to add-on developers
Crowd is now using Struts 2.5.x
Crowd 3.1 is bundled with Apache Struts 2.5.13
- If you are including struts action modules in your plugin, you should make sure these still work as expected
- Struts Action plugin module are now deprecated for plugin developers, to avoid problems with compatibility in the future - we recommend using Servlet or REST plugin modules instead, or using a UI framework of your choice if needed
- Due to changes in Struts and Tomcat implementations, plugin servlet responses which don't specify a charset in the Content-Type header, will have the charset set to a default one, which is ISO-8859-1. In general we recommend setting an explicit charset in all responses.
Crowd Demo Application removed
Crowd standalone no longer ships the Crowd Demo application, also the war distribution of Crowd Demo application has been stopped as well.
To upgrade to Crowd 3.1.x from any earlier version, follow these upgrade instructions.