diff --git a/.gitignore b/.gitignore
index 517994e..a6ed269 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-SOURCES/jdk-updates-jdk11u-jdk-11.0.15+9-4curve.tar.xz
+SOURCES/openjdk-jdk11u-jdk-11.0.16+8-4curve.tar.xz
 SOURCES/tapsets-icedtea-3.15.0.tar.xz
diff --git a/.java-11-openjdk.metadata b/.java-11-openjdk.metadata
index 94e3cd8..4f4bb73 100644
--- a/.java-11-openjdk.metadata
+++ b/.java-11-openjdk.metadata
@@ -1,2 +1,2 @@
-9d43605109c7a4c5cad6cef74e19efe42fb163f8 SOURCES/jdk-updates-jdk11u-jdk-11.0.15+9-4curve.tar.xz
+221ac8e48cf86a97fa03d6f628461a3a815d4cbb SOURCES/openjdk-jdk11u-jdk-11.0.16+8-4curve.tar.xz
 7ae2cba67467825b2c2a5fec7aea041865023002 SOURCES/tapsets-icedtea-3.15.0.tar.xz
diff --git a/SOURCES/CheckVendor.java b/SOURCES/CheckVendor.java
index e2101cf..29b296b 100644
--- a/SOURCES/CheckVendor.java
+++ b/SOURCES/CheckVendor.java
@@ -21,8 +21,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 public class CheckVendor {
 
     public static void main(String[] args) {
-	if (args.length < 3) {
-	    System.err.println("CheckVendor <VENDOR> <VENDOR-URL> <VENDOR-BUG-URL>");
+        if (args.length < 4) {
+            System.err.println("CheckVendor <VENDOR> <VENDOR-URL> <VENDOR-BUG-URL> <VENDOR-VERSION-STRING>");
 	    System.exit(1);
 	}
 
@@ -32,6 +32,8 @@ public class CheckVendor {
 	String expectedVendorURL = args[1];
 	String vendorBugURL = System.getProperty("java.vendor.url.bug");
 	String expectedVendorBugURL = args[2];
+        String vendorVersionString = System.getProperty("java.vendor.version");
+        String expectedVendorVersionString = args[3];
 
 	if (!expectedVendor.equals(vendor)) {
 	    System.err.printf("Invalid vendor %s, expected %s\n",
@@ -46,12 +48,18 @@ public class CheckVendor {
 	}
 
 	if (!expectedVendorBugURL.equals(vendorBugURL)) {
-	    System.err.printf("Invalid vendor bug URL%s, expected %s\n",
+            System.err.printf("Invalid vendor bug URL %s, expected %s\n",
 			      vendorBugURL, expectedVendorBugURL);
 	    System.exit(4);
 	}
 
-	System.err.printf("Vendor information verified as %s, %s, %s\n",
-			  vendor, vendorURL, vendorBugURL);
+        if (!expectedVendorVersionString.equals(vendorVersionString)) {
+            System.err.printf("Invalid vendor version string %s, expected %s\n",
+                              vendorVersionString, expectedVendorVersionString);
+	    System.exit(5);
+        }
+
+        System.err.printf("Vendor information verified as %s, %s, %s, %s\n",
+                          vendor, vendorURL, vendorBugURL, vendorVersionString);
     }
 }
diff --git a/SOURCES/NEWS b/SOURCES/NEWS
index 559a70b..b365726 100644
--- a/SOURCES/NEWS
+++ b/SOURCES/NEWS
@@ -3,6 +3,360 @@ 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 11.0.16 (2022-07-19):
+=============================================
+Live versions of these release notes can be found at:
+  * https://bitly.com/openjdk11016
+  * https://builds.shipilev.net/backports-monitor/release-notes-11.0.16.txt
+
+* Security fixes
+  - JDK-8277608: Address IP Addressing
+  - JDK-8272243: Improve DER parsing
+  - JDK-8272249: Better properties of loaded Properties
+  - JDK-8281859, CVE-2022-21540: Improve class compilation
+  - JDK-8281866, CVE-2022-21541: Enhance MethodHandle invocations
+  - JDK-8283190: Improve MIDI processing
+  - JDK-8284370: Improve zlib usage
+  - JDK-8285407, CVE-2022-34169: Improve Xalan supports
+* Other changes
+  - JDK-6986863: ProfileDeferralMgr throwing ConcurrentModificationException
+  - JDK-7124293: [macosx] VoiceOver reads percentages rather than the actual values for sliders.
+  - JDK-7124301: [macosx] When in a tab group if you arrow between tabs there are no VoiceOver announcements.
+  - JDK-8133713: [macosx] Accessible JTables always reported as empty
+  - JDK-8139046: Compiler Control: IGVPrintLevel directive should set PrintIdealGraph
+  - JDK-8139173: [macosx] JInternalFrame shadow is not properly drawn
+  - JDK-8163498: Many long-running security libs tests
+  - JDK-8166727: javac crashed: [jimage.dll+0x1942]  ImageStrings::find+0x28
+  - JDK-8169004: Fix redundant @requires tags in tests
+  - JDK-8181571: printing to CUPS fails on mac sandbox app
+  - JDK-8182404: remove jdk.testlibrary.JDKToolFinder and JDKToolLauncher
+  - JDK-8186548: move jdk.testlibrary.JcmdBase closer to tests
+  - JDK-8192057: com/sun/jdi/BadHandshakeTest.java fails with java.net.ConnectException
+  - JDK-8193682: Infinite loop in ZipOutputStream.close()
+  - JDK-8199874: [TESTBUG] runtime/Thread/ThreadPriorities.java fails with "expected 0 to equal 10"
+  - JDK-8202886: [macos] Test java/awt/MenuBar/8007006/bug8007006.java fails on MacOS
+  - JDK-8203238: [TESTBUG] rewrite MemOptions shell test in Java
+  - JDK-8203239: [TESTBUG] remove vmTestbase/vm/gc/kind/parOld test
+  - JDK-8206187: javax/management/remote/mandatory/connection/DefaultAgentFilterTest.java fails with Port already in use
+  - JDK-8206330: Revisit com/sun/jdi/RedefineCrossEvent.java
+  - JDK-8207364: nsk/jvmti/ResourceExhausted/resexhausted003 fails to start
+  - JDK-8208207: Test nsk/stress/jni/gclocker/gcl001 fails after co-location
+  - JDK-8208246: flags duplications in vmTestbase_vm_g1classunloading tests
+  - JDK-8208249: TriggerUnloadingByFillingMetaspace generates garbage class names
+  - JDK-8208697: vmTestbase/metaspace/stressHierarchy/stressHierarchy012/TestDescription.java fails with OutOfMemoryError: Metaspace
+  - JDK-8209150: [TESTBUG] Add logging to verify JDK-8197901 to a different test
+  - JDK-8209776: Refactor jdk/security/JavaDotSecurity/ifdefs.sh to plain java test
+  - JDK-8209883: ZGC: Compile without C1 broken
+  - JDK-8209920: runtime/logging/RedefineClasses.java fail with OOME with ZGC
+  - JDK-8210022: remove jdk.testlibrary.ProcessThread, TestThread and XRun
+  - JDK-8210039: move OSInfo to top level testlibrary
+  - JDK-8210108: sun/tools/jstatd test build failures after JDK-8210022
+  - JDK-8210112: remove jdk.testlibrary.ProcessTools
+  - JDK-8210649: AssertionError @ jdk.compiler/com.sun.tools.javac.comp.Modules.enter(Modules.java:244)
+  - JDK-8210732: remove jdk.testlibrary.Utils
+  - JDK-8211795: ArrayIndexOutOfBoundsException in PNGImageReader after JDK-6788458
+  - JDK-8211822: Some tests fail after JDK-8210039
+  - JDK-8211962: Implicit narrowing in MacOSX java.desktop jsound
+  - JDK-8212151: jdi/ExclusiveBind.java times out due to "bind failed: Address already in use" on Solaris-X64
+  - JDK-8213440: Lingering INCLUDE_ALL_GCS in test_oopStorage_parperf.cpp
+  - JDK-8214275: CondyRepeatFailedResolution asserts "Dynamic constant has no fixed basic type"
+  - JDK-8214799: Add package declaration to each JTREG test case in the gc folder
+  - JDK-8215544: SA: Modify ClhsdbLauncher to add sudo privileges to enable MacOS tests on Mach5
+  - JDK-8216137: assert(Compile::current()->live_nodes() < Compile::current()->max_node_limit()) failed: Live Node limit exceeded limit
+  - JDK-8216265: [testbug] Introduce Platform.sharedLibraryPathVariableName() and adapt all tests.
+  - JDK-8216366: Add rationale to PER_CPU_SHARES define
+  - JDK-8217017: [TESTBUG] Tests fail to compile after JDK-8216265
+  - JDK-8217233: Update build settings for AIX/xlc
+  - JDK-8217340: Compilation failed: tools/launcher/Test7029048.java
+  - JDK-8217473: SA: Tests using ClhsdbLauncher fail on SAP docker containers
+  - JDK-8218136: minor hotspot adjustments for xlclang++ from xlc16 on AIX
+  - JDK-8218751: Do not store original classfiles inside the CDS archive
+  - JDK-8218965: aix:  support xlclang++ in the compiler detection
+  - JDK-8220658: Improve the readability of container information in the error log
+  - JDK-8220813: update hotspot tier1_gc tests depending on GC to use @requires vm.gc.X
+  - JDK-8222799: java.beans.Introspector uses an obsolete methods cache
+  - JDK-8222926: Shenandoah build fails with --with-jvm-features=-compiler1
+  - JDK-8223143: Restructure/clean-up for 'loopexit_or_null()'.
+  - JDK-8223363: Bad node estimate assertion failure
+  - JDK-8223389: Shenandoah optimizations fail with assert(!phase->exceeding_node_budget())
+  - JDK-8223396: [TESTBUG] several jfr tests do not clean up files created in /tmp
+  - JDK-8223502: Node estimate for loop unswitching is not correct: assert(delta <= 2 * required) failed: Bad node estimate
+  - JDK-8224648: assert(!exceeding_node_budget()) failed: Too many NODES required! failure with ctw
+  - JDK-8225475: Node budget asserts on x86_32/64
+  - JDK-8227171: provide function names in native stack trace on aix with xlc16
+  - JDK-8227389: Remove unsupported xlc16 compile options on aix
+  - JDK-8229202: Docker reporting causes secondary crashes in error handling
+  - JDK-8229210: [TESTBUG] Move gc stress tests from JFR directory tree to gc/stress
+  - JDK-8229486: Replace wildcard address with loopback or local host in tests - part 21
+  - JDK-8229499: Node budget assert in fuzzed test
+  - JDK-8230305: Cgroups v2: Container awareness
+  - JDK-8230865: [TESTBUG] jdk/jfr/event/io/EvilInstrument.java fails at-run shell MakeJAR.sh target
+  - JDK-8231111: Cgroups v2: Rework Metrics in java.base so as to recognize unified hierarchy
+  - JDK-8231454: File lock in Windows on a loaded jar due to a leak in Introspector::getBeanInfo
+  - JDK-8231489: GC watermark_0_1 failed due to "metaspace.gc.Fault: GC has happened too rare"
+  - JDK-8231565: More node budget asserts in fuzzed tests
+  - JDK-8233551: [TESTBUG] SelectEditTableCell.java fails on MacOS
+  - JDK-8234382: Test tools/javac/processing/model/testgetallmembers/Main.java using too small heap
+  - JDK-8234605: C2 failed "assert(C->live_nodes() - live_at_begin <= 2 * _nodes_required) failed: Bad node estimate: actual = 208 >> request = 101"
+  - JDK-8234608: [TESTBUG] Fix G1 redefineClasses tests and a memory leak
+  - JDK-8235220: ClhsdbScanOops.java fails with sun.jvm.hotspot.types.WrongTypeException
+  - JDK-8235385: Crash on aarch64 JDK due to long offset
+  - JDK-8237479: 8230305 causes slowdebug build failure
+  - JDK-8239559: Cgroups: Incorrect detection logic on some systems
+  - JDK-8239785: Cgroups: Incorrect detection logic on old systems in hotspot
+  - JDK-8240132: ProblemList com/sun/jdi/InvokeHangTest.java
+  - JDK-8240189: [TESTBUG] Some cgroup tests are failing after JDK-8231111
+  - JDK-8240335: C2: assert(found_sfpt) failed: no node in loop that's not input to safepoint
+  - JDK-8240734: ModuleHashes attribute not reproducible between builds
+  - JDK-8240756: [macos] SwingSet2:TableDemo:Printed Japanese characters were garbled
+  - JDK-8241707: introduce randomness k/w to hotspot test suite
+  - JDK-8242310: use reproducible random in hotspot compiler tests
+  - JDK-8242311: use reproducible random in hotspot runtime tests
+  - JDK-8242312: use reproducible random in hotspot gc tests
+  - JDK-8242313: use reproducible random in hotspot svc tests
+  - JDK-8242538: java/security/SecureRandom/ThreadSafe.java failed on windows
+  - JDK-8243429: use reproducible random in :vmTestbase_nsk_stress
+  - JDK-8243666: ModuleHashes attribute generated for JMOD and JAR files depends on timestamps
+  - JDK-8244500: jtreg test error in test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java
+  - JDK-8244602: Add JTREG_REPEAT_COUNT to repeat execution of a test
+  - JDK-8245543: Cgroups: Incorrect detection logic on some systems (still reproducible)
+  - JDK-8245938: Remove unused print_stack(void) method from XToolkit.c
+  - JDK-8246494: introduce vm.flagless at-requires property
+  - JDK-8246741: NetworkInterface/UniqueMacAddressesTest: mac address uniqueness test failed
+  - JDK-8247589: Implementation of Alpine Linux/x64 Port
+  - JDK-8247591: Document Alpine Linux build steps in OpenJDK build guide
+  - JDK-8247592: refactor test/jdk/tools/launcher/Test7029048.java
+  - JDK-8247614: java/nio/channels/DatagramChannel/Connect.java timed out
+  - JDK-8248876: LoadObject with bad base address created for exec file on linux
+  - JDK-8249592: Robot.mouseMove moves cursor to incorrect location when display scale varies and Java runs in DPI Unaware mode
+  - JDK-8252117: com/sun/jdi/BadHandshakeTest.java failed with "ConnectException: Connection refused: connect"
+  - JDK-8252248: __SIGRTMAX is not declared in musl libc
+  - JDK-8252250: isnanf is obsolete
+  - JDK-8252359: HotSpot Not Identifying it is Running in a Container
+  - JDK-8252957: Wrong comment in CgroupV1Subsystem::cpu_quota
+  - JDK-8253435: Cgroup: 'stomping of _mount_path' crash if manually mounted cpusets exist
+  - JDK-8253714: [cgroups v2] Soft memory limit incorrectly using memory.high
+  - JDK-8253727: [cgroups v2] Memory and swap limits reported incorrectly
+  - JDK-8253797: [cgroups v2] Account for the fact that swap accounting is disabled on some systems
+  - JDK-8253872: ArgumentHandler must use the same delimiters as in jvmti_tools.cpp
+  - JDK-8253939: [TESTBUG] Increase coverage of the cgroups detection code
+  - JDK-8254001: [Metrics] Enhance parsing of cgroup interface files for version detection
+  - JDK-8254887: C2: assert(cl->trip_count() > 0) failed: peeling a fully unrolled loop
+  - JDK-8254997: Remove unimplemented OSContainer::read_memory_limit_in_bytes
+  - JDK-8255266: Update Public Suffix List to 3c213aa
+  - JDK-8255604: java/nio/channels/DatagramChannel/Connect.java fails with java.net.BindException: Cannot assign requested address: connect
+  - JDK-8255787: Tag container tests that use cGroups with cgroups keyword
+  - JDK-8256146: Cleanup test/jdk/java/nio/channels/DatagramChannel/Connect.java
+  - JDK-8256722: handle VC++:1927 VS2019 in  abstract_vm_version
+  - JDK-8257794: Zero: assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1) failed: wrong on Linux/x86_32
+  - JDK-8258795: Update IANA Language Subtag Registry to Version 2021-05-11
+  - JDK-8258956: Memory Leak in StringCoding on ThreadLocal resultCached StringCoding.Result
+  - JDK-8259517: Incorrect test path in test cases
+  - JDK-8260518: Change default -mmacosx-version-min to 10.12
+  - JDK-8261169: Upgrade HarfBuzz to the latest 2.8.0
+  - JDK-8262379: Add regression test for JDK-8257746
+  - JDK-8263364: sun/net/www/http/KeepAliveStream/KeepAliveStreamCloseWithWrongContentLength.java wedged in getInputStream
+  - JDK-8263718: unused-result warning happens at os_linux.cpp
+  - JDK-8263856: Github Actions for macos/aarch64 cross-build
+  - JDK-8264179: [TESTBUG] Some compiler tests fail when running without C2
+  - JDK-8265261: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
+  - JDK-8265297: javax/net/ssl/SSLSession/TestEnabledProtocols.java failed with "RuntimeException: java.net.SocketException: Connection reset"
+  - JDK-8265343: Update Debian-based cross-compilation recipes
+  - JDK-8266251: compiler.inlining.InlineAccessors shouldn't do testing in driver VM
+  - JDK-8266318: Switch to macos prefix for macOS bundles
+  - JDK-8266391: Replace use of reflection in jdk.internal.platform.Metrics
+  - JDK-8266545: 8261169 broke Harfbuzz build with gcc 7 and 8
+  - JDK-8268773: Improvements related to: Failed to start thread - pthread_create failed (EAGAIN)
+  - JDK-8269772: [macos-aarch64] test compilation failed with "SocketException: No buffer space available"
+  - JDK-8269933: test/jdk/javax/net/ssl/compatibility/JdkInfo incorrect verification of protocol and cipher support
+  - JDK-8270797: ShortECDSA.java test is not complete
+  - JDK-8271055: Crash during deoptimization with "assert(bb->is_reachable()) failed: getting result from unreachable basicblock" with -XX:+VerifyStack
+  - JDK-8271199: Mutual TLS handshake fails signing client certificate with custom sensitive PKCS11 key
+  - JDK-8272167: AbsPathsInImage.java should skip *.dSYM directories
+  - JDK-8272358: Some tests may fail when executed with other locales than the US
+  - JDK-8272493: Suboptimal code generation around Preconditions.checkIndex intrinsic with AVX2
+  - JDK-8272908: Missing coverage for certain classes in com.sun.org.apache.xml.internal.security
+  - JDK-8272964: java/nio/file/Files/InterruptCopy.java fails with java.lang.RuntimeException: Copy was not interrupted
+  - JDK-8273176: handle latest VS2019 in abstract_vm_version
+  - JDK-8273655: content-types.properties files are missing some common types
+  - JDK-8274171: java/nio/file/Files/probeContentType/Basic.java failed on "Content type" mismatches
+  - JDK-8274233: Minor cleanup for ToolBox
+  - JDK-8274735: javax.imageio.IIOException: Unsupported Image Type  while processing a valid JPEG image
+  - JDK-8274751: Drag And Drop hangs on Windows
+  - JDK-8275082: Update XML Security for Java to 2.3.0
+  - JDK-8275330: C2:  assert(n->is_Root() || n->is_Region() || n->is_Phi() || n->is_MachMerge() || def_block->dominates(block)) failed: uses must be dominated by definitions
+  - JDK-8275337: C1: assert(false) failed: live_in set of first block must be empty
+  - JDK-8276657: XSLT compiler tries to define a class with empty name
+  - JDK-8276990: Memory leak in invoker.c fillInvokeRequest() during JDI operations
+  - JDK-8277072: ObjectStreamClass caches keep ClassLoaders alive
+  - JDK-8277093: Vector should throw ClassNotFoundException for a missing class of an element
+  - JDK-8277396: [TESTBUG] In DefaultButtonModelCrashTest.java, frame is accessed from main thread
+  - JDK-8277422: tools/jar/JarEntryTime.java fails with modified time mismatch
+  - JDK-8277922: Unable to click JCheckBox in JTable through Java Access Bridge
+  - JDK-8278065: Refactor subclassAudits to use ClassValue
+  - JDK-8278186: org.jcp.xml.dsig.internal.dom.Utils.parseIdFromSameDocumentURI throws StringIndexOutOfBoundsException when calling substring method
+  - JDK-8278346: java/nio/file/Files/probeContentType/Basic.java fails on Linux SLES15 machine
+  - JDK-8278472: Invalid value set to CANDIDATEFORM structure
+  - JDK-8278794: Infinite loop in DeflaterOutputStream.finish()
+  - JDK-8278851: Correct signer logic for jars signed with multiple digestalgs
+  - JDK-8278951: containers/cgroup/PlainRead.java fails on Ubuntu 21.10
+  - JDK-8279219: [REDO] C2 crash when allocating array of size too large
+  - JDK-8279356: Method linking fails with guarantee(mh->adapter() != NULL) failed: Adapter blob must already exist!
+  - JDK-8279505: Update documentation for RETRY_COUNT and REPEAT_COUNT
+  - JDK-8279520: SPNEGO has not passed channel binding info into the underlying mechanism
+  - JDK-8279529: ProblemList java/nio/channels/DatagramChannel/ManySourcesAndTargets.java on macosx-aarch64
+  - JDK-8279532: ProblemList sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java
+  - JDK-8279668: x86: AVX2 versions of vpxor should be asserted
+  - JDK-8279837: C2: assert(is_Loop()) failed: invalid node class: Region
+  - JDK-8279842: HTTPS Channel Binding support for Java GSS/Kerberos
+  - JDK-8279958: Provide configure hints for Alpine/apk package managers
+  - JDK-8280041: Retry loop issues in java.io.ClassCache
+  - JDK-8280373: Update Xalan serializer / SystemIDResolver to align with JDK-8270492
+  - JDK-8280476: [macOS] : hotspot arm64 bug exposed by latest clang
+  - JDK-8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.
+  - JDK-8280799: С2: assert(false) failed: cyclic dependency prevents range check elimination
+  - JDK-8280867: Cpuid1Ecx feature parsing is incorrect for AMD CPUs
+  - JDK-8280964: [Linux aarch64] : drawImage dithers TYPE_BYTE_INDEXED images incorrectly
+  - JDK-8281274: deal with ActiveProcessorCount in os::Linux::print_container_info
+  - JDK-8281275: Upgrading from 8 to 11 no longer accepts '/' as filepath separator in gc paths
+  - JDK-8281615: Deadlock caused by jdwp agent
+  - JDK-8281811: assert(_base == Tuple) failed: Not a Tuple after JDK-8280799
+  - JDK-8282008: Incorrect handling of quoted arguments in ProcessBuilder
+  - JDK-8282172: CompileBroker::log_metaspace_failure is called from non-Java/compiler threads
+  - JDK-8282225: GHA: Allow one concurrent run per PR only
+  - JDK-8282231: x86-32: runtime call to SharedRuntime::ldiv corrupts registers
+  - JDK-8282293: Domain value for system property jdk.https.negotiate.cbt should be case-insensitive
+  - JDK-8282312: Minor corrections to evbroadcasti32x4 intrinsic on x86
+  - JDK-8282382: Report glibc malloc tunables in error reports
+  - JDK-8282422: JTable.print() failed with UnsupportedCharsetException on AIX ko_KR locale
+  - JDK-8282501: Bump update version for OpenJDK: jdk-11.0.16
+  - JDK-8282583: Update BCEL md to include the copyright notice
+  - JDK-8282588: [11] set harfbuzz compilation flag to -std=c++11
+  - JDK-8282589: runtime/ErrorHandling/ErrorHandler.java fails on MacOS aarch64 in jdk 11
+  - JDK-8282887: Potential memory leak in sun.util.locale.provider.HostLocaleProviderAdapterImpl.getNumberPattern() on Windows
+  - JDK-8283018: 11u GHA: Update GCC 9 minor versions
+  - JDK-8283217: Leak FcObjectSet in getFontConfigLocations() in fontpath.c
+  - JDK-8283323: libharfbuzz optimization level results in extreme build times
+  - JDK-8283350: (tz) Update Timezone Data to 2022a
+  - JDK-8283408: Fix a C2 crash when filling arrays with unsafe
+  - JDK-8283420: [AOT] Exclude TrackedFlagTest/NotTrackedFlagTest in 11u because of intermittent java.lang.AssertionError: duplicate classes for name Ljava/lang/Boolean;
+  - JDK-8283424: compiler/loopopts/LoopUnswitchingBadNodeBudget.java fails with release VMs due to lack of -XX:+UnlockDiagnosticVMOptions
+  - JDK-8283451: C2: assert(_base == Long) failed: Not a Long
+  - JDK-8283469: Don't use memset to initialize members in FileMapInfo and fix memory leak
+  - JDK-8283497: [windows] print TMP and TEMP in hs_err and VM.info
+  - JDK-8283614: [11] Repair compiler versions handling after 8233787
+  - JDK-8283641: Large value for CompileThresholdScaling causes assert
+  - JDK-8283834: Unmappable character for US-ASCII encoding in TestPredicateInputBelowLoopPredicate
+  - JDK-8284033: Leak XVisualInfo in getAllConfigs in awt_GraphicsEnv.c
+  - JDK-8284094: Memory leak in invoker_completeInvokeRequest()
+  - JDK-8284102: [TESTBUG] [11u] Retroactively add regression test for JDK-8272124
+  - JDK-8284369: TestFailedAllocationBadGraph fails with -XX:TieredStopAtLevel < 4
+  - JDK-8284389: Improve stability of GHA Pre-submit testing by caching cygwin installer
+  - JDK-8284458: CodeHeapState::aggregate() leaks blob_name
+  - JDK-8284507: GHA: Only check test results if testing was not skipped
+  - JDK-8284549: JFR: FieldTable leaks FieldInfoTable member
+  - JDK-8284573: [11u] ProblemList TestBubbleUpRef.java and TestGCOldWithCMS.java because of 8272195
+  - JDK-8284604: [11u] Update Boot JDK used in GHA to 11.0.14.1
+  - JDK-8284620: CodeBuffer may leak _overflow_arena
+  - JDK-8284622: Update versions of some Github Actions used in JDK workflow
+  - JDK-8284756: [11u] Remove unused isUseContainerSupport in CgroupV1Subsystem
+  - JDK-8285395: [JVMCI] [11u] Partial backport of JDK-8220623: InstalledCode
+  - JDK-8285397: JNI exception pending in CUPSfuncs.c:250
+  - JDK-8285445: cannot open file "NUL:"
+  - JDK-8285515: (dc) DatagramChannel.disconnect fails with "Invalid argument" on macOS 12.4
+  - JDK-8285523: Improve test java/io/FileOutputStream/OpenNUL.java
+  - JDK-8285591: [11] add signum checks in DSA.java engineVerify
+  - JDK-8285686: Update FreeType to 2.12.0
+  - JDK-8285720: test/jdk/java/nio/file/Files/probeContentType/Basic.java fails to compile after backport of 8273655
+  - JDK-8285726: [11u, 17u] Unify fix for JDK-8284548 with version from head
+  - JDK-8285727: [11u, 17u] Unify fix for JDK-8284920 with version from head
+  - JDK-8285828: runtime/execstack/TestCheckJDK.java fails with zipped debug symbols
+  - JDK-8286013: Incorrect test configurations for compiler/stable/TestStableShort.java
+  - JDK-8286198: [linux] Fix process-memory information
+  - JDK-8286293: Tests ShortResponseBody and ShortResponseBodyWithRetry should use less resources
+  - JDK-8286444: javac errors after JDK-8251329 are not helpful enough to find root cause
+  - JDK-8286594: (zipfs) Mention paths with dot elements in ZipException and cleanups
+  - JDK-8286630: [11] avoid -std=c++11 CXX harfbuzz buildflag on Windows
+  - JDK-8286855: javac error on invalid jar should only print filename
+  - JDK-8287109: Distrust.java failed with CertificateExpiredException
+  - JDK-8287119: Add Distrust.java to ProblemList
+  - JDK-8287362: FieldAccessWatch testcase failed on AIX platform
+  - JDK-8287378: GHA: Update cygwin to fix issues in langtools tests on Windows
+  - JDK-8287739: [11u] ProblemList sun/security/ssl/SSLSessionImpl/NoInvalidateSocketException.java
+
+Notes on individual issues:
+===========================
+
+core-libs/java.io:serialization:
+
+JDK-8277157: Vector should throw ClassNotFoundException for a missing class of an element
+=========================================================================================
+`java.util.Vector` is updated to correctly report
+`ClassNotFoundException that occurs during deserialization using
+`java.io.ObjectInputStream.GetField.get(name, object)` when the class
+of an element of the Vector is not found. Without this fix, a
+`StreamCorruptedException` is thrown that does not provide information
+about the missing class.
+
+core-libs/java.net:
+
+JDK-8285240: HTTPS Channel Binding support for Java GSS/Kerberos
+================================================================
+Support has been added for TLS channel binding tokens for
+Negotiate/Kerberos authentication over HTTPS through
+javax.net.HttpsURLConnection.
+
+Channel binding tokens are increasingly required as an enhanced form
+of security which can mitigate certain kinds of socially engineered,
+man in the middle (MITM) attacks. They work by communicating from a
+client to a server the client's understanding of the binding between
+connection security (as represented by a TLS server cert) and higher
+level authentication credentials (such as a username and
+password). The server can then detect if the client has been fooled by
+a MITM and shutdown the session/connection.
+
+The feature is controlled through a new system property
+`jdk.https.negotiate.cbt` which is described fully at the following
+page:
+
+https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/net/doc-files/net-properties.html#jdk.https.negotiate.cbt
+
+core-libs/java.lang:
+
+JDK-8283137: Incorrect handling of quoted arguments in ProcessBuilder
+=====================================================================
+ProcessBuilder on Windows is restored to address a regression caused
+by JDK-8250568.  Previously, an argument to ProcessBuilder that
+started with a double-quote and ended with a backslash followed by a
+double-quote was passed to a command incorrectly and may cause the
+command to fail.  For example the argument `"C:\\Program Files\"`,
+would be seen by the command with extra double-quotes. This update
+restores the long standing behavior that does not treat the backslash
+before the final double-quote specially.
+
+core-libs/java.util.jar:
+
+JDK-8278386: Default JDK compressor will be closed when IOException is encountered
+==================================================================================
+`DeflaterOutputStream.close()` and `GZIPOutputStream.finish()` methods
+have been modified to close out the associated default JDK compressor
+before propagating a Throwable up the
+stack. `ZIPOutputStream.closeEntry()` method has been modified to
+close out the associated default JDK compressor before propagating an
+IOException, not of type ZipException, up the stack.
+
+core-libs/java.io:
+
+JDK-8285660: New System Property to Disable Windows Alternate Data Stream Support in java.io.File
+=================================================================================================
+The Windows implementation of `java.io.File` allows access to NTFS
+Alternate Data Streams (ADS) by default. Such streams have a structure
+like “filename:streamname”. A system property `jdk.io.File.enableADS`
+has been added to control this behavior. To disable ADS support in
+`java.io.File`, the system property `jdk.io.File.enableADS` should be
+set to `false` (case ignored). Stricter path checking however prevents
+the use of special devices such as `NUL:`
+
 New in release OpenJDK 11.0.15 (2022-04-19):
 =============================================
 Live versions of these release notes can be found at:
@@ -197,6 +551,7 @@ Live versions of these release notes can be found at:
   - JDK-8283270: [11u] broken JRT_ENTRY_NO_ASYNC after Backport of JDK-8253795
   - JDK-8283778: 11u GHA: Fix GCC 9 ubuntu package names
   - JDK-8284548: Invalid XPath expression causes StringIndexOutOfBoundsException
+  - JDK-8284920: Incorrect Token type causes XPath expression to return empty result
 
 Notes on individual issues:
 ===========================
diff --git a/SOURCES/jdk8284920-incorrect_token_type.patch b/SOURCES/jdk8284920-incorrect_token_type.patch
deleted file mode 100644
index a223f1a..0000000
--- a/SOURCES/jdk8284920-incorrect_token_type.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From 34af291680f7554b16412205e7b47aa2f829b29c Mon Sep 17 00:00:00 2001
-From: Anton Kozlov <akozlov@azul.com>
-Date: Fri, 15 Apr 2022 14:07:52 +0300
-Subject: [PATCH] 8284920: Incorrect Token type causes XPath expression to
- return empty result
-
-Backport-of: 0d3aea2f11df585b491ae5c07de9f66679601d58
-
-Reviewed-by:
----
- .../com/sun/org/apache/xpath/internal/compiler/Lexer.java | 4 ++--
- .../com/sun/org/apache/xpath/internal/compiler/Token.java | 4 ++--
- .../org/apache/xpath/internal/compiler/XPathParser.java   | 8 ++++----
- 3 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git openjdk.orig/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Lexer.java openjdk/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Lexer.java
-index b7b3f419eb2..41b58da8e99 100644
---- openjdk.orig/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Lexer.java
-+++ openjdk/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Lexer.java
-@@ -360,7 +360,7 @@ class Lexer
- 
-         addToTokenQueue(pat.substring(i, i + 1));
-         break;
--      case Token.COLON :
-+      case Token.COLON_CHAR:
-         if (i>0)
-         {
-           if (posOfNSSep == (i - 1))
-@@ -615,7 +615,7 @@ class Lexer
-         resetTokenMark(tokPos + 1);
-       }
- 
--      if (m_processor.lookahead(Token.COLON, 1))
-+      if (m_processor.lookahead(Token.COLON_CHAR, 1))
-       {
-         tokPos += 2;
-       }
-diff --git openjdk.orig/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Token.java openjdk/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Token.java
-index 8c4fee146c6..7bce14e5770 100644
---- openjdk.orig/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Token.java
-+++ openjdk/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/Token.java
-@@ -45,10 +45,9 @@ public final class Token {
-     static final char LPAREN = '(';
-     static final char RPAREN = ')';
-     static final char COMMA = ',';
--    static final char DOT = '.';
-     static final char AT = '@';
-     static final char US = '_';
--    static final char COLON = ':';
-+    static final char COLON_CHAR = ':';
-     static final char SQ = '\'';
-     static final char DQ = '"';
-     static final char DOLLAR = '$';
-@@ -58,6 +57,7 @@ public final class Token {
-     static final String DIV = "div";
-     static final String MOD = "mod";
-     static final String QUO = "quo";
-+    static final String DOT = ".";
-     static final String DDOT = "..";
-     static final String DCOLON = "::";
-     static final String ATTR = "attribute";
-diff --git openjdk.orig/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathParser.java openjdk/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathParser.java
-index c3f9e1494be..22192fd06f6 100644
---- openjdk.orig/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathParser.java
-+++ openjdk/src/java.xml/share/classes/com/sun/org/apache/xpath/internal/compiler/XPathParser.java
-@@ -1413,7 +1413,7 @@ public class XPathParser
- 
-       matchFound = true;
-     }
--    else if (lookahead(Token.LPAREN, 1) || (lookahead(Token.COLON, 1) && lookahead(Token.LPAREN, 3)))
-+    else if (lookahead(Token.LPAREN, 1) || (lookahead(Token.COLON_CHAR, 1) && lookahead(Token.LPAREN, 3)))
-     {
-       matchFound = FunctionCall();
-     }
-@@ -1457,7 +1457,7 @@ public class XPathParser
- 
-     int opPos = m_ops.getOp(OpMap.MAPINDEX_LENGTH);
- 
--    if (lookahead(Token.COLON, 1))
-+    if (lookahead(Token.COLON_CHAR, 1))
-     {
-       appendOp(4, OpCodes.OP_EXTFUNCTION);
- 
-@@ -1841,7 +1841,7 @@ public class XPathParser
-       m_ops.setOp(m_ops.getOp(OpMap.MAPINDEX_LENGTH), OpCodes.NODENAME);
-       m_ops.setOp(OpMap.MAPINDEX_LENGTH, m_ops.getOp(OpMap.MAPINDEX_LENGTH) + 1);
- 
--      if (lookahead(Token.COLON, 1))
-+      if (lookahead(Token.COLON_CHAR, 1))
-       {
-         if (tokenIs(Token.STAR))
-         {
-@@ -1944,7 +1944,7 @@ public class XPathParser
-   protected void QName() throws TransformerException
-   {
-     // Namespace
--    if(lookahead(Token.COLON, 1))
-+    if(lookahead(Token.COLON_CHAR, 1))
-     {
-       m_ops.setOp(m_ops.getOp(OpMap.MAPINDEX_LENGTH), m_queueMark - 1);
-       m_ops.setOp(OpMap.MAPINDEX_LENGTH, m_ops.getOp(OpMap.MAPINDEX_LENGTH) + 1);
--- 
-2.34.1
-
diff --git a/SPECS/java-11-openjdk.spec b/SPECS/java-11-openjdk.spec
index 4dbb5aa..ea66ed0 100644
--- a/SPECS/java-11-openjdk.spec
+++ b/SPECS/java-11-openjdk.spec
@@ -271,12 +271,8 @@
 # New Version-String scheme-style defines
 %global featurever 11
 %global interimver 0
-%global updatever 15
+%global updatever 16
 %global patchver 0
-# If you bump featurever, you must bump also vendor_version_string
-# Used via new version scheme. JDK 11 was
-# GA'ed in September 2018 => 18.9
-%global vendor_version_string 18.9
 # buildjdkver is usually same as %%{featurever},
 # but in time of bootstrap of next jdk, it is featurever-1,
 # and this it is better to change it here, on single place
@@ -309,6 +305,7 @@
 %endif
 %endif
 %endif
+%global oj_vendor_version (Red_Hat-%{version}-%{release})
 
 # Define IcedTea version used for SystemTap tapsets and desktop file
 %global icedteaver      3.15.0
@@ -318,20 +315,19 @@
 %global origin_nice     OpenJDK
 %global top_level_dir_name   %{origin}
 %global top_level_dir_name_backup %{top_level_dir_name}-backup
-%global buildver        9
-%global rpmrelease      2
+%global buildver        8
+%global rpmrelease      1
 #%%global tagsuffix      %%{nil}
 # priority must be 7 digits in total
 # setting to 1, so debug ones can have 0
 %global priority 00000%{interimver}1
 %global newjavaver %{featurever}.%{interimver}.%{updatever}.%{patchver}
 
-# Omit trailing 0 in filenames when the patch version is 0
-%if 0%{?patchver} > 0
-%global filever %{newjavaver}
-%else
-%global filever %{featurever}.%{interimver}.%{updatever}
-%endif
+# Strip up to 6 trailing zeros in newjavaver, as the JDK does, to get the correct version used in filenames
+%global filever %(svn=%{newjavaver}; for i in 1 2 3 4 5 6 ; do svn=${svn%%.0} ; done; echo ${svn})
+
+# The tag used to create the OpenJDK tarball
+%global vcstag jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}
 
 %global javaver         %{featurever}
 
@@ -874,8 +870,8 @@ Requires: ca-certificates
 # Require jpackage-utils for ownership of /usr/lib/jvm/ and macros
 Requires: javapackages-tools
 # Require zone-info data provided by tzdata-java sub-package
-# 2020f required as of JDK-8259048 in October CPU
-Requires: tzdata-java >= 2020f
+# 2022a required as of JDK-8283350 in 11.0.16
+Requires: tzdata-java >= 2022a
 # for support of kernel stream control
 # libsctp.so.1 is being `dlopen`ed on demand
 %if 0%{?rhel} >= 8
@@ -1040,7 +1036,7 @@ URL:      http://openjdk.java.net/
 
 # to regenerate source0 (jdk) run update_package.sh
 # update_package.sh contains hard-coded repos, revisions, tags, and projects to regenerate the source archives
-Source0: jdk-updates-jdk%{featurever}u-jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}-4curve.tar.xz
+Source0: openjdk-jdk%{featurever}u-%{vcstag}-4curve.tar.xz
 
 # Use 'icedtea_sync.sh' to update the following
 # They are based on code contained in the IcedTea project (3.x).
@@ -1111,6 +1107,16 @@ Patch7: jdk8009550-rh910107-search_for_versioned_libpcsclite.patch
 
 #############################################
 #
+# Backportable patches
+#
+# This section includes patches which are
+# present in the current development tree, but
+# need to be reviewed & pushed to the appropriate
+# updates tree of OpenJDK.
+#############################################
+
+#############################################
+#
 # Patches appearing in 11.0.15
 #
 # This section includes patches which are present
@@ -1118,8 +1124,6 @@ Patch7: jdk8009550-rh910107-search_for_versioned_libpcsclite.patch
 # able to be removed once that release is out
 # and used by this RPM.
 #############################################
-# JDK-8284920: Incorrect Token type causes XPath expression to return empty result
-Patch8: jdk8284920-incorrect_token_type.patch
 
 BuildRequires: autoconf
 BuildRequires: automake
@@ -1134,13 +1138,6 @@ BuildRequires: freetype-devel
 BuildRequires: giflib-devel
 BuildRequires: gcc-c++
 BuildRequires: gdb
-%ifarch %{arm}
-BuildRequires: devtoolset-7-build
-BuildRequires: devtoolset-7-binutils
-BuildRequires: devtoolset-7-gcc
-BuildRequires: devtoolset-7-gcc-c++
-BuildRequires: devtoolset-7-gdb
-%endif
 BuildRequires: gtk2-devel
 # LCMS on rhel7 is older then LCMS in intree JDK
 BuildRequires: lcms2-devel
@@ -1163,8 +1160,8 @@ BuildRequires: java-%{buildjdkver}-openjdk-devel
 %ifnarch %{jit_arches}
 BuildRequires: libffi-devel
 %endif
-# 2020f required as of JDK-8259048 in October CPU
-BuildRequires: tzdata-java >= 2020f
+# 2022a required as of JDK-8283350 in 11.0.16
+BuildRequires: tzdata-java >= 2022a
 # Earlier versions have a bug in tree vectorization on PPC
 BuildRequires: gcc >= 4.8.3-8
 
@@ -1412,6 +1409,8 @@ The %{origin_nice} %{featurever} API documentation compressed in a single archiv
 
 %prep
 
+echo "Preparing %{oj_vendor_version}"
+
 # Using the echo macro breaks rpmdev-bumpspec, as it parses the first line of stdout :-(
 %if 0%{?stapinstall:1}
   echo "CPU: %{_target_cpu}, arch install directory: %{archinstall}, SystemTap install directory: %{stapinstall}"
@@ -1458,7 +1457,6 @@ pushd %{top_level_dir_name}
 %patch3 -p1
 %patch4 -p1
 %patch7 -p1
-%patch8 -p1
 popd # openjdk
 
 %patch1000
@@ -1511,10 +1509,6 @@ sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
 
 
 %build
-%ifarch %{arm}
-%{?enable_devtoolset7:%{enable_devtoolset7}}
-%endif
-
 # How many CPU's do we have?
 export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
 export NUM_PROC=${NUM_PROC:-1}
@@ -1579,7 +1573,7 @@ function buildjdk() {
     --with-version-build=%{buildver} \
     --with-version-pre="%{ea_designator}" \
     --with-version-opt=%{lts_designator} \
-    --with-vendor-version-string="%{vendor_version_string}" \
+    --with-vendor-version-string="%{oj_vendor_version}" \
     --with-vendor-name="%{oj_vendor}" \
     --with-vendor-url="%{oj_vendor_url}" \
     --with-vendor-bug-url="%{oj_vendor_bug_url}" \
@@ -1659,6 +1653,9 @@ function installjdk() {
     echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
     cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
     popd
+
+    # Print release information
+    cat ${imagepath}/release
 }
 
 for suffix in %{build_loop} ; do
@@ -1751,7 +1748,7 @@ $JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
 
 # Check correct vendor values have been set
 $JAVA_HOME/bin/javac -d . %{SOURCE15}
-$JAVA_HOME/bin/java $(echo $(basename %{SOURCE15})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}"
+$JAVA_HOME/bin/java $(echo $(basename %{SOURCE15})|sed "s|\.java||") "%{oj_vendor}" "%{oj_vendor_url}" "%{oj_vendor_bug_url}" "%{oj_vendor_version}"
 
 # Check java launcher has no SSB mitigation
 if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
@@ -2159,6 +2156,24 @@ require "copy_jdk_configs.lua"
 %endif
 
 %changelog
+* Sat Jul 16 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.16.0.8-1
+- Update to jdk-11.0.16+8
+- Update release notes to 11.0.16+8
+- Use same tarball naming style as java-17-openjdk and java-latest-openjdk
+- Drop JDK-8284920 patch now upstreamed
+- Print release file during build, which should now include a correct SOURCE value from .src-rev
+- Update tarball script with IcedTea GitHub URL and .src-rev generation
+- Use "git apply" with patches in the tarball script to allow binary diffs
+- Include script to generate bug list for release notes
+- Update tzdata requirement to 2022a to match JDK-8283350
+- Make use of the vendor version string to store our version & release rather than an upstream release date
+- Explicitly require crypto-policies during build and runtime for system security properties
+- Resolves: rhbz#2106510
+
+* Thu Jul 14 2022 Jiri Vanek <jvanek@redhat.com> - 1:11.0.16.0.8-1
+- Add additional patch during tarball generation to align tests with ECC changes
+- Related: rhbz#2106510
+
 * Sat Apr 16 2022 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.15.0.9-2
 - Add JDK-8284920 fix for XPath regression
 - Related: rhbz#2073422