diff --git a/build.gradle b/build.gradle
index 194c9df..d96776c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -316,7 +316,7 @@ configure (errorProneProjects) {
 	}
 
 	dependencies {
-		errorprone 'com.google.errorprone:error_prone_core:2.3.3'
+		errorprone 'com.google.errorprone:error_prone_core:2.3.4'
 		errorproneJavac('com.google.errorprone:javac:9+181-r4173-1')
 	}
 }
diff --git a/debian/changelog b/debian/changelog
index fca8f16..6b5cd93 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+libjxmpp-java (1.0.2-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk>  Mon, 16 May 2022 10:50:24 -0000
+
 libjxmpp-java (1.0.1-3) unstable; urgency=medium
 
   * Don't build jxmpp-stringprep-libidn
diff --git a/debian/patches/01-edit-build-system.patch b/debian/patches/01-edit-build-system.patch
index 4859dab..aeb6b16 100644
--- a/debian/patches/01-edit-build-system.patch
+++ b/debian/patches/01-edit-build-system.patch
@@ -28,10 +28,10 @@ Forwarded: not-needed
  settings.gradle | 10 +++++-----
  2 files changed, 34 insertions(+), 34 deletions(-)
 
-diff --git a/build.gradle b/build.gradle
-index 194c9df..0010922 100644
---- a/build.gradle
-+++ b/build.gradle
+Index: libjxmpp-java/build.gradle
+===================================================================
+--- libjxmpp-java.orig/build.gradle
++++ libjxmpp-java/build.gradle
 @@ -6,22 +6,22 @@ buildscript {
  		mavenCentral()
  	}
@@ -173,7 +173,7 @@ index 194c9df..0010922 100644
  
  	tasks.withType(JavaCompile) {
 @@ -319,7 +319,7 @@ configure (errorProneProjects) {
- 		errorprone 'com.google.errorprone:error_prone_core:2.3.3'
+ 		errorprone 'com.google.errorprone:error_prone_core:2.3.4'
  		errorproneJavac('com.google.errorprone:javac:9+181-r4173-1')
  	}
 -}
@@ -190,7 +190,7 @@ index 194c9df..0010922 100644
  	dependencies {
  		testImplementation "junit:junit:4.12"
  		testRuntimeOnly "org.junit.vintage:junit-vintage-engine:$junitVersion"
-@@ -381,7 +381,7 @@ task jacocoRootReport(type: org.gradle.testing.jacoco.tasks.JacocoReport) {
+@@ -381,7 +381,7 @@ task jacocoRootReport(type: org.gradle.t
  	// the subprojects is wrong (e.g. a project is missing
  	// in there).
  	setOnlyIf { true }
@@ -199,10 +199,10 @@ index 194c9df..0010922 100644
  
  def getGitCommit() {
  	def projectDirFile = new File("$projectDir")
-diff --git a/settings.gradle b/settings.gradle
-index ff18801..b1c8476 100644
---- a/settings.gradle
-+++ b/settings.gradle
+Index: libjxmpp-java/settings.gradle
+===================================================================
+--- libjxmpp-java.orig/settings.gradle
++++ libjxmpp-java/settings.gradle
 @@ -1,8 +1,8 @@
  include 'jxmpp-core',
  		'jxmpp-jid',
diff --git a/jxmpp-core/src/main/java/org/jxmpp/stringprep/simple/SimpleXmppStringprep.java b/jxmpp-core/src/main/java/org/jxmpp/stringprep/simple/SimpleXmppStringprep.java
index 6999874..696acd2 100644
--- a/jxmpp-core/src/main/java/org/jxmpp/stringprep/simple/SimpleXmppStringprep.java
+++ b/jxmpp-core/src/main/java/org/jxmpp/stringprep/simple/SimpleXmppStringprep.java
@@ -105,7 +105,7 @@ public final class SimpleXmppStringprep implements XmppStringprep {
 			int forbiddenCharPos = Arrays.binarySearch(excludedChars, c);
 			if (forbiddenCharPos >= 0) {
 				throw new XmppStringprepException(input, parttype.getCapitalizedName() + " must not contain '"
-						+ LOCALPART_FURTHER_EXCLUDED_CHARACTERS[forbiddenCharPos] + "'");
+						+ excludedChars[forbiddenCharPos] + "'");
 			}
 		}
 	}
diff --git a/jxmpp-core/src/main/java/org/jxmpp/util/XmppDateTime.java b/jxmpp-core/src/main/java/org/jxmpp/util/XmppDateTime.java
index 76dcb29..31e6e61 100644
--- a/jxmpp-core/src/main/java/org/jxmpp/util/XmppDateTime.java
+++ b/jxmpp-core/src/main/java/org/jxmpp/util/XmppDateTime.java
@@ -1,6 +1,6 @@
 /**
  *
- * Copyright © 2014-2018 Florian Schmaus
+ * Copyright © 2014-2021 Florian Schmaus
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -25,6 +25,7 @@ import java.util.Collections;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.List;
+import java.util.Locale;
 import java.util.TimeZone;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -58,27 +59,30 @@ public class XmppDateTime {
 
 	private static final TimeZone TIME_ZONE_UTC = TimeZone.getTimeZone("UTC");
 
+	private static DateFormat constructUtcDateFormat(String format) {
+		DateFormat dateFormat = new SimpleDateFormat(format, Locale.ENGLISH);
+		dateFormat.setTimeZone(TIME_ZONE_UTC);
+		return dateFormat;
+	}
+
 	private static final ThreadLocal<DateFormat> xep0091Formatter = new ThreadLocal<DateFormat>() {
 		@Override
 		protected DateFormat initialValue() {
-			DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd'T'HH:mm:ss");
-			dateFormat.setTimeZone(TIME_ZONE_UTC);
+			DateFormat dateFormat = constructUtcDateFormat("yyyyMMdd'T'HH:mm:ss");
 			return dateFormat;
 		}
 	};
 	private static final ThreadLocal<DateFormat> xep0091Date6DigitFormatter = new ThreadLocal<DateFormat>() {
 		@Override
 		protected DateFormat initialValue() {
-			DateFormat dateFormat = new SimpleDateFormat("yyyyMd'T'HH:mm:ss");
-			dateFormat.setTimeZone(TIME_ZONE_UTC);
+			DateFormat dateFormat = constructUtcDateFormat("yyyyMd'T'HH:mm:ss");
 			return dateFormat;
 		}
 	};
 	private static final ThreadLocal<DateFormat> xep0091Date7Digit1MonthFormatter = new ThreadLocal<DateFormat>() {
 		@Override
 		protected DateFormat initialValue() {
-			DateFormat dateFormat = new SimpleDateFormat("yyyyMdd'T'HH:mm:ss");
-			dateFormat.setTimeZone(TIME_ZONE_UTC);
+			DateFormat dateFormat = constructUtcDateFormat("yyyyMdd'T'HH:mm:ss");
 			dateFormat.setLenient(false);
 			return dateFormat;
 		}
@@ -86,8 +90,7 @@ public class XmppDateTime {
 	private static final ThreadLocal<DateFormat> xep0091Date7Digit2MonthFormatter = new ThreadLocal<DateFormat>() {
 		@Override
 		protected DateFormat initialValue() {
-			DateFormat dateFormat = new SimpleDateFormat("yyyyMMd'T'HH:mm:ss");
-			dateFormat.setTimeZone(TIME_ZONE_UTC);
+			DateFormat dateFormat = constructUtcDateFormat("yyyyMMd'T'HH:mm:ss");
 			dateFormat.setLenient(false);
 			return dateFormat;
 		}
@@ -125,8 +128,7 @@ public class XmppDateTime {
 			FORMATTER = new ThreadLocal<DateFormat>() {
 				@Override
 				protected DateFormat initialValue() {
-					DateFormat dateFormat = new SimpleDateFormat(FORMAT_STRING);
-					dateFormat.setTimeZone(TIME_ZONE_UTC);
+					DateFormat dateFormat = constructUtcDateFormat(FORMAT_STRING);
 					return dateFormat;
 				}
 			};
diff --git a/jxmpp-core/src/test/java/org/jxmpp/util/XmppDateTimeTest.java b/jxmpp-core/src/test/java/org/jxmpp/util/XmppDateTimeTest.java
index 626e404..67db41a 100644
--- a/jxmpp-core/src/test/java/org/jxmpp/util/XmppDateTimeTest.java
+++ b/jxmpp-core/src/test/java/org/jxmpp/util/XmppDateTimeTest.java
@@ -1,6 +1,6 @@
 /**
  *
- * Copyright © 2014-2018 Florian Schmaus
+ * Copyright © 2014-2021 Florian Schmaus
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,6 +21,7 @@ import static org.junit.Assert.assertEquals;
 import java.text.ParseException;
 import java.util.Calendar;
 import java.util.Date;
+import java.util.Locale;
 import java.util.TimeZone;
 
 import org.junit.Test;
@@ -296,4 +297,14 @@ public class XmppDateTimeTest {
 		cal.setTimeZone(TimeZone.getTimeZone("GMT"));
 		assertEquals(3, cal.get(Calendar.SECOND));
 	}
+
+	@Test
+	public void testArabicLocale() throws ParseException {
+		Locale.setDefault(new Locale("AR"));
+		String initialDateString = "2018-09-22T20:09:42.000+00:00";
+		Date date = XmppDateTime.parseXEP0082Date(initialDateString);
+		String dateString = XmppDateTime.formatXEP0082Date(date);
+		assertEquals(initialDateString, dateString);
+	}
+
 }
diff --git a/version b/version
index 7dea76e..6d7de6e 100644
--- a/version
+++ b/version
@@ -1 +1 @@
-1.0.1
+1.0.2