diff --git a/README b/README
index ed5b172..0e3e005 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
 
-      Apache uimaFIT (TM) v3.1.0
+      Apache uimaFIT (TM) v3.2.0
       --------------------------
 
 
@@ -37,36 +37,45 @@
      SimplePipeline.runPipeline(reader, ae1, ..., aeN, consumer1, ... consumerN)
 
 
-What's New in 3.1.0
+What's New in 3.2.0
 -------------------
 
-uimaFIT 3.1.0 is a minor feature and bugfix release. On supported platforms, it serves mostly as 
-a drop-in replacement for previous uimaFIT 3.x versions. However, due to a clash in method
-signatures, you may notice incompatible changes in the methods provided ExternalResourceFactory.
-For details, please refer to the migration section in the documentation.
+uimaFIT 3.2.0 is a feature and bugfix release. On supported platforms, it serves mostly as 
+a drop-in replacement for previous uimaFIT 3.x versions. However, the behavior of the various
+select methods was slightly adapted in edge cases to align with the update behavior of the UIMA Java
+SDK SelectFS API.  For details, please refer to the migration section in the documentation in the
+Apache UIMA Java SDK 3.2.0.
 
 Notable changes in this release include:
 
- * Added support for PEARs in AnalysisEngineFactory
- * Added ExternalResourceFactory.createResource(...) methods for instantiating resources
- * Added support for Charset-typed parameters in components
- * Added ability to set number of threads in CpePipeline.runPipeline(...)
- * Fixed issue with non-XML 1.0 characters in parameter values when running CPEs
- * Fixed JCasIterable.iterator() destroying the ResourceManager before it is even used
- * Fixed issue causing component parameters to be used when initializing resources
- * Fixed CollectionReaderFactory.createReaderDescription(...) not discovering type prios and indexes
- * Fixed clashing method signatures of ExternalResourceFactory.bindResource(...)
- * Upgraded to UIMA 3.1.1
- * Upgraded to Spring 4.3.26
+#### New Features and improvements
+
+* [UIMA-6242] - uimaFIT Maven plugin should fail on error by default
+* [UIMA-6263] - CAS validation support
+* [UIMA-6270] - Add selectOverlapping to (J)CasUtil
+* [UIMA-6311] - Add generated resources output folder as resource folder
+* [UIMA-6312] - Better PEAR parameter support
+* [UIMA-6232] - Reduce overhead of createTypeSystemDescription() and friends
+
+#### Bugs fixed
+
+* [UIMA-6226] - uimaFIT maven plugin "generate" fails to import type systems from dependencies
+* [UIMA-6240] - Failure to resolve type system imports when generating descriptors
+* [UIMA-6275] - InitializableFactory is not smart enough to find a suitable classloader
+* [UIMA-6286] - select following finds zero-width annotation at reference end position
+* [UIMA-6292] - selectCovering is slow
+* [UIMA-6294] - SelectFS.at(annotation) does not return the correct result
+* [UIMA-6314] - Align preceding/following with predicate in UIMA core
+
  
 A full list of issues addressed in this release can be found on the Apache issue tracker:
 
-  https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310570&version=12343882
+  https://issues.apache.org/jira/issues/?jql=project%20%3D%20UIMA%20AND%20fixVersion%20%3D%203.2.0uimaFIT
 
 Supported Platforms
 -------------------
 
-uimaFIT requires Java 1.8 or higher, UIMA 3.1.1 or higher, and the Spring Framework 4.3.26 or higher.
+uimaFIT requires Java 1.8 or higher, UIMA 3.2.0 or higher, and the Spring Framework 4.3.30 or higher.
 
 
 Availability
@@ -83,7 +92,7 @@
   <dependency>
     <groupId>org.apache.uima</groupId>
     <artifactId>uimafit-core</artifactId>
-    <version>3.1.0</version>
+    <version>3.2.0</version>
   </dependency>
 
 
diff --git a/pom.xml b/pom.xml
index 2da830c..4c71e77 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
     <relativePath>uimafit-parent</relativePath>
   </parent>
   <properties>
-    <jiraVersion>3.1.0uimaFIT</jiraVersion>
+    <jiraVersion>3.2.0uimaFIT</jiraVersion>
   </properties>
   <scm>
     <connection>scm:git:git://github.com/apache/uima-uimafit</connection>
diff --git a/uimafit-parent/pom.xml b/uimafit-parent/pom.xml
index 37243c8..6b09a3e 100644
--- a/uimafit-parent/pom.xml
+++ b/uimafit-parent/pom.xml
@@ -33,7 +33,7 @@
   <inceptionYear>2012</inceptionYear>
   <properties>
     <spring.version>4.3.30.RELEASE</spring.version>
-    <uima.version>3.2.0-SNAPSHOT</uima.version>
+    <uima.version>3.2.0</uima.version>
     <slf4j.version>1.7.26</slf4j.version>
     <maven.compiler.source>1.8</maven.compiler.source>
     <maven.compiler.target>1.8</maven.compiler.target>
@@ -42,7 +42,6 @@
   <repositories>
     <!--
       - For UIMA/uimaFIT SNAPSHOTs
-    -->
     <repository>
       <id>apache.snapshots</id>
       <name>Apache Snapshot Repository</name>
@@ -51,11 +50,11 @@
         <enabled>false</enabled>
       </releases>
     </repository>
+    -->
   </repositories>
   <pluginRepositories>
     <!--
       - For UIMA/uimaFIT SNAPSHOTs
-    -->
     <pluginRepository>
       <id>apache.snapshots.plugins</id>
       <name>Apache Snapshot Repository - Maven plugins</name>
@@ -70,6 +69,7 @@
         <updatePolicy>never</updatePolicy>
       </snapshots>
     </pluginRepository>
+      -->
   </pluginRepositories>
 
   <dependencies>
@@ -155,16 +155,6 @@
         <groupId>org.springframework</groupId>
         <artifactId>spring-context</artifactId>
         <version>${spring.version}</version>
-        <!--
-          - This is excluded in the assembly and not here to avoid unwanted side-effects
-          - on users' projects.
-          <exclusions>
-          <exclusion>
-          <groupId>org.springframework</groupId>
-          <artifactId>spring-aop</artifactId>
-          </exclusion>
-          </exclusions>
-        -->
       </dependency>
       <dependency>
         <groupId>org.springframework</groupId>
@@ -311,7 +301,7 @@
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.8.0</version>
+          <version>3.8.1</version>
           <configuration>
             <source>${maven.compiler.source}</source>
             <target>${maven.compiler.target}</target>
@@ -364,42 +354,6 @@
                     <ignore />
                   </action>
                 </pluginExecution>
-                <!-- *********************************************** -->
-                <!-- The Maven Dev Connector for Eclipse m2e is no   -->
-                <!-- longer maintained. We copy the relevant part    --> 
-                <!-- of the lifecycle mapping for the                -->
-                <!-- maven-plugin-plugin here.                       -->
-                <!--                                                 -->
-                <!-- See https://github.com/ifedorenko/com.ifedorenko.m2e.mavendev/blob/master/com.ifedorenko.m2e.mavendev/lifecycle-mapping-metadata.xml -->
-                <!-- *********************************************** -->
-                <pluginExecution>
-                  <pluginExecutionFilter>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-plugin-plugin</artifactId>
-                    <versionRange>[3.5.2,)</versionRange>
-                    <goals>
-                      <goal>descriptor</goal>
-                    </goals>
-                  </pluginExecutionFilter>
-                  <action>
-                    <execute>
-                      <runOnIncremental>false</runOnIncremental>
-                    </execute>
-                  </action>
-                </pluginExecution>
-                <pluginExecution>
-                  <pluginExecutionFilter>
-                    <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-plugin-plugin</artifactId>
-                    <versionRange>[3.5.2,)</versionRange>
-                    <goals>
-                      <goal>helpmojo</goal>
-                    </goals>
-                  </pluginExecutionFilter>
-                  <action>
-                    <ignore />
-                  </action>
-                </pluginExecution>
               </pluginExecutions>
             </lifecycleMappingMetadata>
           </configuration>
