diff --git a/.gitignore b/.gitignore
index 5f70416..09a127e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-SOURCES/openjdk-shenandoah-jdk8u-aarch64-shenandoah-jdk8u322-b06-4curve.tar.xz
+SOURCES/openjdk-shenandoah-jdk8u-shenandoah-jdk8u332-b09-4curve.tar.xz
 SOURCES/tapsets-icedtea-3.15.0.tar.xz
diff --git a/.java-1.8.0-openjdk.metadata b/.java-1.8.0-openjdk.metadata
index dd9d11c..03f54ee 100644
--- a/.java-1.8.0-openjdk.metadata
+++ b/.java-1.8.0-openjdk.metadata
@@ -1,2 +1,2 @@
-c54dd40b6deb5defa8d4d7132d650080d0e300f4 SOURCES/openjdk-shenandoah-jdk8u-aarch64-shenandoah-jdk8u322-b06-4curve.tar.xz
+a93b3d0fd5da1f95f22c85003fd3d4007e69ab32 SOURCES/openjdk-shenandoah-jdk8u-shenandoah-jdk8u332-b09-4curve.tar.xz
 7ae2cba67467825b2c2a5fec7aea041865023002 SOURCES/tapsets-icedtea-3.15.0.tar.xz
diff --git a/SOURCES/NEWS b/SOURCES/NEWS
index e911b13..f9af271 100644
--- a/SOURCES/NEWS
+++ b/SOURCES/NEWS
@@ -3,6 +3,70 @@ Key:
 JDK-X  - https://bugs.openjdk.java.net/browse/JDK-X
 CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
 
+New in release OpenJDK 8u332 (2022-04-19):
+===========================================
+Live versions of these release notes can be found at:
+  * https://bitly.com/openjdk8u332
+  * https://builds.shipilev.net/backports-monitor/release-notes-openjdk8u332.txt
+
+* Security fixes
+  - JDK-8269938: Enhance XML processing passes redux
+  - JDK-8270504, CVE-2022-21426: Better XPath expression handling
+  - JDK-8272255: Completely handle MIDI files
+  - JDK-8272261: Improve JFR recording file processing
+  - JDK-8272594: Better record of recordings
+  - JDK-8274221: More definite BER encodings
+  - JDK-8275151, CVE-2022-21443: Improved Object Identification
+  - JDK-8277227: Better identification of OIDs
+  - JDK-8277672, CVE-2022-21434: Better invocation handler handling
+  - JDK-8278008, CVE-2022-21476: Improve Santuario processing
+  - JDK-8278356: Improve file creation
+  - JDK-8278449: Improve keychain support
+  - JDK-8278805: Enhance BMP image loading
+  - JDK-8278972, CVE-2022-21496: Improve URL supports
+  - JDK-8281388: Change wrapping of EncryptedPrivateKeyInfo
+* Other changes
+  - JDK-8033980: Xerces Update: datatype XMLGregorianCalendarImpl and DurationImpl
+  - JDK-8035437: Xerces Update: xml/serialize/DOMSerializerImpl
+  - JDK-8035577: Xerces Update: impl/xpath/regex/RangeToken.java
+  - JDK-8037259: xerces update: xpointer update
+  - JDK-8041523: Xerces Update: Serializer improvements from Xalan
+  - JDK-8141508: java.lang.invoke.LambdaConversionException: Invalid receiver type
+  - JDK-8162572: Update License Header for all JAXP sources
+  - JDK-8167014: jdeps: Missing message: warn.skipped.entry
+  - JDK-8198411: [TEST_BUG] Two java2d tests are unstable in mach5
+  - JDK-8202822: Add .git to .hgignore
+  - JDK-8205540: test/hotspot/jtreg/vmTestbase/nsk/jdb/trace/trace001/trace001.java fails with Debuggee did not exit after 15 <cont> commands
+  - JDK-8209178: Proxied HttpsURLConnection doesn't send BODY when retrying POST request
+  - JDK-8210283: Support git as an SCM alternative in the build
+  - JDK-8218682: [TEST_BUG] DashOffset fails in mach5
+  - JDK-8225690: Multiple AttachListener threads can be created
+  - JDK-8227738: jvmti/DataDumpRequest/datadumpreq001 failed due to "exit code is 134"
+  - JDK-8227815: Minimal VM: set_state is not a member of AttachListener
+  - JDK-8240633: Memory leaks in the implementations of FileChooserUI
+  - JDK-8241768: git needs .gitattributes
+  - JDK-8247766: [aarch64] guarantee(val < (1U << nbits)) failed: Field too big for insn
+  - JDK-8253147: The javax/swing/JPopupMenu/7154841/bug7154841.java fail on big screens
+  - JDK-8253353: Crash in C2: guarantee(n != NULL) failed: No Node
+  - JDK-8266749: AArch64: Backtracing broken on PAC enabled systems
+  - JDK-8270290: NTLM authentication fails if HEAD request is used
+  - JDK-8273229: Update OS detection code to recognize Windows Server 2022
+  - JDK-8273341: Update Siphash to version 1.0
+  - JDK-8273575: memory leak in appendBootClassPath(), paths must be deallocated
+  - JDK-8274524: SSLSocket.close() hangs if it is called during the ssl handshake
+  - JDK-8277224: sun.security.pkcs.PKCS9Attributes.toString() throws NPE
+  - JDK-8277488: Add expiry exception for Digicert (geotrustglobalca) expiring in May 2022
+  - JDK-8279077: JFR crashes on Linux ppc due to missing crash protector in signal handler
+  - JDK-8280060: The sun/rmi/server/Activation.java class use Thread.dumpStack()
+  - JDK-8282300: Throws NamingException instead of InvalidNameException after JDK-8278972
+  - JDK-8282397: createTempFile method of java.io.File is failing when called with suffix of spaces character
+  - JDK-8284548: Invalid XPath expression causes StringIndexOutOfBoundsException
+  - JDK-8284920: Incorrect Token type causes XPath expression to return empty result
+  - JDK-8284936: Fix Java 7 bootstrap breakage due to use of Arrays.stream
+* Shenandoah
+  - JDK-8260632: Build failures after JDK-8253353
+  - JDK-8282458: Update .jcheck/conf file for sh-jdk8u move to git
+
 New in release OpenJDK 8u322 (2022-01-18):
 ===========================================
 Live versions of these release notes can be found at:
diff --git a/SOURCES/jdk8279077-missing_crash_protector_ppc.patch b/SOURCES/jdk8279077-missing_crash_protector_ppc.patch
deleted file mode 100644
index 0ab462e..0000000
--- a/SOURCES/jdk8279077-missing_crash_protector_ppc.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-# HG changeset patch
-# User zgu
-# Date 1641313782 0
-#      Tue Jan 04 16:29:42 2022 +0000
-# Node ID b694a28adaa2a602fedbc4aeba69b9c2350e7409
-# Parent  3177fc2314df6deb4d4771148f27934a597dd1d7
-8279077: JFR crashes on Linux ppc due to missing crash protector in signal handler
-Reviewed-by: phh
-
-diff --git openjdk.orig/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp openjdk/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp
---- openjdk.orig/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp
-+++ openjdk/hotspot/src/os_cpu/linux_ppc/vm/os_linux_ppc.cpp
-@@ -176,6 +176,10 @@
- 
-   Thread* t = ThreadLocalStorage::get_thread_slow();
- 
-+  // Must do this before SignalHandlerMark, if crash protection installed we will longjmp away
-+  // (no destructors can be run)
-+  os::ThreadCrashProtection::check_crash_protection(sig, t);
-+
-   SignalHandlerMark shm(t);
- 
-   // Note: it's not uncommon that JNI code uses signal/sigset to install
diff --git a/SPECS/java-1.8.0-openjdk.spec b/SPECS/java-1.8.0-openjdk.spec
index 40fb8c9..11e2a3c 100644
--- a/SPECS/java-1.8.0-openjdk.spec
+++ b/SPECS/java-1.8.0-openjdk.spec
@@ -267,7 +267,7 @@
 # note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there.
 %global shenandoah_project	openjdk
 %global shenandoah_repo		shenandoah-jdk8u
-%global shenandoah_revision    	aarch64-shenandoah-jdk8u322-b06
+%global shenandoah_revision    	shenandoah-jdk8u332-b09
 # Define old aarch64/jdk8u tree variables for compatibility
 %global project         %{shenandoah_project}
 %global repo            %{shenandoah_repo}
@@ -283,7 +283,7 @@
 %global updatever       %(VERSION=%{whole_update}; echo ${VERSION##*u})
 # eg jdk8u60-b27 -> b27
 %global buildver        %(VERSION=%{version_tag}; echo ${VERSION##*-})
-%global rpmrelease      2
+%global rpmrelease      1
 # Define milestone (EA for pre-releases, GA ("fcs") for releases)
 # Release will be (where N is usually a number starting at 1):
 # - 0.N%%{?extraver}%%{?dist} for EA releases,
@@ -1291,7 +1291,6 @@ Patch580: jdk8195607-pr3776-rh1760437-nss_sqlite_db_config.patch
 # able to be removed once that release is out
 # and used by this RPM.
 #############################################
-Patch700: jdk8279077-missing_crash_protector_ppc.patch
 
 #############################################
 #
@@ -1703,7 +1702,6 @@ sh %{SOURCE12}
 %patch539
 
 # Upstreamed fixes
-%patch700
 
 # RPM-only fixes
 %patch600
@@ -2465,6 +2463,20 @@ cjc.mainProgram(args)
 %endif
 
 %changelog
+* Mon Apr 18 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.332.b09-1
+- Update to shenandoah-jdk8u332-b09 (GA)
+- Update release notes for 8u332-b09.
+- Switch to GA mode for final release.
+- This tarball is embargoed until 2022-04-19 @ 1pm PT.
+- Resolves: rhbz#2073422
+
+* Mon Apr 18 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.332.b06-0.1.ea
+- Update to shenandoah-jdk8u332-b06 (EA)
+- Update release notes for shenandoah-8u332-b06.
+- Switch to EA mode.
+- Remove JDK-8279077 patch now upstream.
+- Related: rhbz#2073422
+
 * Mon Jan 24 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:1.8.0.322.b06-2
 - Fix FIPS issues in native code and with initialisation of java.security.Security
 - Related: rhbz#2039366