diff --git a/pom.xml b/pom.xml
index c0f47c5..0b26cc1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,158 +1,158 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<parent>
-		<artifactId>turbine-parent</artifactId>
-		<groupId>org.apache.turbine</groupId>
-		<version>8</version>
-	</parent>
-
-	<modelVersion>4.0.0</modelVersion>
-	<groupId>org.apache.fulcrum</groupId>
-	<artifactId>fulcrum-quartz</artifactId>
-	<version>1.1.3-SNAPSHOT</version>
-	<name>Fulcrum Quartz</name>
-	<inceptionYear>2004</inceptionYear>
-	<description>A wrapper around the Quartz Scheduler.</description>
-	<url>http://turbine.apache.org/fulcrum/fulcrum-quartz/</url>
-
-	<!-- Required for staging to work -->
-    <distributionManagement>
-       <site>
-              <id>turbine.apache.org</id>
-              <url>https://turbine.apache.org/fulcrum/fulcrum-quartz/</url>
-       </site>
-    </distributionManagement>
-
-	<scm>
-		<connection>scm:svn:http://svn.apache.org/repos/asf/turbine/fulcrum/trunk/quartz/</connection>
-		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/turbine/fulcrum/trunk/quartz/</developerConnection>
-		<url>http://svn.apache.org/viewvc/turbine/fulcrum/trunk/quartz/</url>
-	</scm>
-
-	<developers>
-		<developer>
-			<name>Scott Eade</name>
-			<id>seade</id>
-			<email>seade@backstagetech.com.au</email>
-			<organization>Backstage Technologies Pty. Ltd.</organization>
-			<roles>
-				<role>Java Developer</role>
-			</roles>
-		</developer>
-		<developer>
-			<name>Siegfried Goeschl</name>
-			<id>sgoeschl</id>
-			<roles>
-				<role>Java Developer</role>
-			</roles>
-		</developer>
-		<developer>
-			<name>Thomas Vandahl</name>
-			<id>tv</id>
-			<email>tv@apache.org</email>
-			<organization />
-			<roles>
-				<role>Java Developer</role>
-			</roles>
-		</developer>
-	</developers>
-
-	<dependencies>
-
-		<dependency>
-		    <groupId>javax.xml.bind</groupId>
-		    <artifactId>jaxb-api</artifactId>
-		    <version>2.3.1</version>
-		</dependency>
-
-		<!-- Service Dependencies -->
-		<dependency>
-			<groupId>org.apache.avalon.framework</groupId>
-			<artifactId>avalon-framework-api</artifactId>
-			<version>4.3.1</version>
-		</dependency>
-    <!-- 2.3.1 fixes https://github.com/quartz-scheduler/quartz/issues/316 , resolve CVE-2019-13990-->
-		<dependency>
-			<groupId>org.quartz-scheduler</groupId>
-			<artifactId>quartz</artifactId>
-			<version>2.3.2</version>
-		</dependency>
-		<dependency>
-			<groupId>org.quartz-scheduler</groupId>
-			<artifactId>quartz-jobs</artifactId>
-			<version>2.3.2</version>
-		</dependency>
-		<dependency>
-			<groupId>javax.transaction</groupId>
-			<artifactId>jta</artifactId>
-			<version>1.1</version>
-			<scope>runtime</scope>
-		</dependency>
-
-		<!-- testing dependencies -->
-		<dependency>
-			<groupId>org.apache.fulcrum</groupId>
-			<artifactId>fulcrum-testcontainer</artifactId>
-			<version>1.0.9</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.apache.fulcrum</groupId>
-			<artifactId>fulcrum-yaafi</artifactId>
-			<version>1.0.8</version>
-			<scope>test</scope>
-		</dependency>
-	</dependencies>
-
-	<build>
-		<sourceDirectory>${basedir}/src/java</sourceDirectory>
-		<testSourceDirectory>${basedir}/src/test</testSourceDirectory>
-
-		<testResources>
-			<testResource>
-				<directory>${basedir}/src/test</directory>
-				<includes>
-					<include>**/*.*</include>
-				</includes>
-			</testResource>
-		</testResources>
-		<plugins>
-			<plugin>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<configuration>
-					<includes>
-						<include>**/*Test.*</include>
-						<include>**/*TestCase.*</include>
-					</includes>
-				</configuration>
-			</plugin>
-		</plugins>
-
-
-
-	</build>
-
-  <properties>
-    <turbine.site.path>fulcrum/fulcrum-quartz</turbine.site.path>
-    <turbine.scmPubCheckoutDirectory>${turbine.site.cache}/fulcrum/quartz</turbine.scmPubCheckoutDirectory>
-    <turbine.site.cache>${project.build.directory}/turbine-sites</turbine.site.cache>
-    <siteContent.path>${project.build.directory}/staging</siteContent.path><!-- default stagingSiteURL -->
-  </properties>
-
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<parent>
+		<artifactId>turbine-parent</artifactId>
+		<groupId>org.apache.turbine</groupId>
+		<version>8</version>
+	</parent>
+
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>org.apache.fulcrum</groupId>
+	<artifactId>fulcrum-quartz</artifactId>
+	<version>1.1.2-SNAPSHOT</version>
+	<name>Fulcrum Quartz</name>
+	<inceptionYear>2004</inceptionYear>
+	<description>A wrapper around the Quartz Scheduler.</description>
+	<url>http://turbine.apache.org/fulcrum/fulcrum-quartz/</url>
+
+	<!-- Required for staging to work -->
+    <distributionManagement>
+       <site>
+              <id>turbine.apache.org</id>
+              <url>https://turbine.apache.org/fulcrum/fulcrum-quartz/</url>
+       </site>
+    </distributionManagement>
+
+	<scm>
+		<connection>scm:svn:http://svn.apache.org/repos/asf/turbine/fulcrum/trunk/quartz/</connection>
+		<developerConnection>scm:svn:https://svn.apache.org/repos/asf/turbine/fulcrum/trunk/quartz/</developerConnection>
+		<url>http://svn.apache.org/viewvc/turbine/fulcrum/trunk/quartz/</url>
+	</scm>
+
+	<developers>
+		<developer>
+			<name>Scott Eade</name>
+			<id>seade</id>
+			<email>seade@backstagetech.com.au</email>
+			<organization>Backstage Technologies Pty. Ltd.</organization>
+			<roles>
+				<role>Java Developer</role>
+			</roles>
+		</developer>
+		<developer>
+			<name>Siegfried Goeschl</name>
+			<id>sgoeschl</id>
+			<roles>
+				<role>Java Developer</role>
+			</roles>
+		</developer>
+		<developer>
+			<name>Thomas Vandahl</name>
+			<id>tv</id>
+			<email>tv@apache.org</email>
+			<organization />
+			<roles>
+				<role>Java Developer</role>
+			</roles>
+		</developer>
+	</developers>
+
+	<dependencies>
+
+		<dependency>
+		    <groupId>javax.xml.bind</groupId>
+		    <artifactId>jaxb-api</artifactId>
+		    <version>2.3.1</version>
+		</dependency>
+
+		<!-- Service Dependencies -->
+		<dependency>
+			<groupId>org.apache.avalon.framework</groupId>
+			<artifactId>avalon-framework-api</artifactId>
+			<version>4.3.1</version>
+		</dependency>
+    <!-- 2.3.1 fixes https://github.com/quartz-scheduler/quartz/issues/316 , resolve CVE-2019-13990-->
+		<dependency>
+			<groupId>org.quartz-scheduler</groupId>
+			<artifactId>quartz</artifactId>
+			<version>2.3.2</version>
+		</dependency>
+		<dependency>
+			<groupId>org.quartz-scheduler</groupId>
+			<artifactId>quartz-jobs</artifactId>
+			<version>2.3.2</version>
+		</dependency>
+		<dependency>
+			<groupId>javax.transaction</groupId>
+			<artifactId>jta</artifactId>
+			<version>1.1</version>
+			<scope>runtime</scope>
+		</dependency>
+
+		<!-- testing dependencies -->
+		<dependency>
+			<groupId>org.apache.fulcrum</groupId>
+			<artifactId>fulcrum-testcontainer</artifactId>
+			<version>1.0.9</version>
+			<scope>test</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.apache.fulcrum</groupId>
+			<artifactId>fulcrum-yaafi</artifactId>
+			<version>1.0.8</version>
+			<scope>test</scope>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<sourceDirectory>${basedir}/src/java</sourceDirectory>
+		<testSourceDirectory>${basedir}/src/test</testSourceDirectory>
+
+		<testResources>
+			<testResource>
+				<directory>${basedir}/src/test</directory>
+				<includes>
+					<include>**/*.*</include>
+				</includes>
+			</testResource>
+		</testResources>
+		<plugins>
+			<plugin>
+				<artifactId>maven-surefire-plugin</artifactId>
+				<configuration>
+					<includes>
+						<include>**/*Test.*</include>
+						<include>**/*TestCase.*</include>
+					</includes>
+				</configuration>
+			</plugin>
+		</plugins>
+
+
+
+	</build>
+
+  <properties>
+    <turbine.site.path>fulcrum/fulcrum-quartz</turbine.site.path>
+    <turbine.scmPubCheckoutDirectory>${turbine.site.cache}/fulcrum/quartz</turbine.scmPubCheckoutDirectory>
+    <turbine.site.cache>${project.build.directory}/turbine-sites</turbine.site.cache>
+    <siteContent.path>${project.build.directory}/staging</siteContent.path><!-- default stagingSiteURL -->
+  </properties>
+
+</project>
