RELEASE NOTES: JDK 28

Notes generated: Wed Jul 01 08:51:29 CEST 2026

JEPs

None.

RELEASE NOTES

core-libs/java.text

Issue Description
JDK-8386200

ListFormat Single Quote Handling Fixed


The JDK reference implementation for [java.text.ListFormat] is no longer affected by [java.text.MessageFormat] single quote escaping semantics. For example, previously, a list pattern such as " '{0}', {1} " may have incorrectly formatted List.of("bar", "foo") as: " {0}, bar ". ListFormat is now updated to always treat single quotes as literal characters when read from a pattern.

This change is observable for ListFormat patterns that contain single quotes. As a result, it primarily affects application-supplied custom patterns that contain them.


JDK-8385834

Custom ListFormat Patterns Are Validated More Strictly


[java.text.ListFormat.getInstance(String[])] now validates custom list format patterns more strictly. Only the exact placeholders "{0}", "{1}", and "{2}" are accepted, and "{2}" is accepted only in the three-element pattern. Patterns with duplicate placeholders or curly braces outside valid placeholders now cause an [IllegalArgumentException] to be thrown.

This change affects only application-supplied custom patterns passed to [ListFormat.getInstance(String[])]. Locale-derived ListFormat instances are not affected.


security-libs/javax.net.ssl

Issue Description
JDK-8301626

Capture Named Group information in TLSHandshakeEvent


The jdk.TLSHandshakeEvent JFR event now records the named group that is negotiated in a TLS handshake. A new field named namedGroup has been added to the event.


security-libs/java.security

Issue Description
JDK-8387123

LuxTrust Global Root CA removed


The following root certificate has been removed from the cacerts keystore: ``` + alias name "luxtrustglobalrootca [jdk]" Distinguished Name: CN=LuxTrust Global Root, O=LuxTrust s.a., C=LU

```


FIXED ISSUES

client-libs/2d

Priority Bug Summary
P2 JDK-8386671 Raster factory methods fail to throw specified exceptions for invalid bandOffsets and bankIndices
P3 JDK-8041911 media sizes with width > height are not supported by the java printing api
P3 JDK-8385100 Null pointer dereference in java.desktop/windows/classes/sun/print/Win32PrintJob.java:606 and other PrintJob implementations
P5 JDK-8386109 Add missing @Override annotations in "javax.print.*" packages

client-libs/java.awt

Priority Bug Summary
P4 JDK-8291470 Description change for mouseMoved method in java.awt.event.MouseMotionAdapter

client-libs/javax.accessibility

Priority Bug Summary
P4 JDK-8385302 Open source accessibility AWT tests
P4 JDK-8381236 VoiceOver Fails to Identify Component After Switching Windows

client-libs/javax.imageio

Priority Bug Summary
P4 JDK-8384512 BMPImageWriter uses integer division before Math.ceil causing incorrect calculation

client-libs/javax.sound

Priority Bug Summary
P4 JDK-8386273 Some javax/sound/sampled tests fail on systems with high CPU core number and running with high concurrency

client-libs/javax.swing

Priority Bug Summary
P3 JDK-8386795 Swing specification needs caveats on L&F rendering behaviors

core-libs

Priority Bug Summary
P4 JDK-8386255 Float16Vector NaN canonicalization for hashCode computation

core-libs/java.lang

Priority Bug Summary
P4 JDK-8386960 BUILD_LIBVERIFY remove special warning settings
P4 JDK-8386965 Data race on java.lang.Class.reflectionFactory field
P5 JDK-8365887 Outdated comments in String::decode

core-libs/java.lang.classfile

Priority Bug Summary
P3 JDK-8386700 Class-File API: StackMapGenerator.setLocalsFromArg leaves stale locals, generating invalid stack maps

core-libs/java.lang.invoke

Priority Bug Summary
P3 JDK-8378796 java.lang.runtime bootstrap methods missing lookup validation

core-libs/java.lang:reflect

Priority Bug Summary
P4 JDK-8384833 Start of release updates for JDK 28

core-libs/java.net

Priority Bug Summary
P4 JDK-8385906 DirPermissionDenied.java uses chmod instead of Java APIs for changing permissions
P4 JDK-8387273 Enhance httpserver logging to log when maxConnections is reached
P4 JDK-8386985 PacketSpaceManagerTest failed with AssertionError; A race condition may cause packetSent to mistakenly skip rescheduling of the transmitter task
P4 JDK-8386989 QuicEndpoint.ClosedConnection should not use QuicTimerQueue::offer
P4 JDK-8383248 Reduce buffer allocations for HTTP headers instead of allocating 16KB per request

core-libs/java.nio.charsets

Priority Bug Summary
P4 JDK-8386810 Improve debuggability of test/jdk/sun/nio/cs/TestStringCodingUTF8.java

core-libs/java.text

Priority Bug Summary
P4 JDK-8386200 ListFormat incorrectly escapes single quotes
P4 JDK-8385834 Tighten ListFormat.getInstance(String[]) behavior for invalid placeholders

core-libs/java.time

Priority Bug Summary
P4 JDK-8386328 TemporalField.adjustInto Javadoc incorrectly uses 1-argument method signatures

core-libs/java.util.concurrent

Priority Bug Summary
P3 JDK-8385830 ForkJoinTask#get may swallow caller thread's interrupt flag
P3 JDK-8386085 Livelock in AbstractQueuedSyncronizer.cleanQueue() when multiple threads do tryAcquire() with a short timeout and no permits available
P4 JDK-8386372 Add ConcurrentSkipListMap to map stress test

core-libs/java.util.jar

Priority Bug Summary
P4 JDK-8385891 Introduce a test for GZIPInputStream whose underlying stream is a blocking InputStream

core-libs/java.util:collections

Priority Bug Summary
P4 JDK-6356745 (coll) Add PriorityQueue(Collection, Comparator)

core-libs/java.util:i18n

Priority Bug Summary
P4 JDK-8380993 [REDO] Incorrect Interpretation of POSIX TZ Environment Variable on AIX
P4 JDK-8387041 Add a URL link to BCP 47 in the Locale class
P4 JDK-8387259 Clarify extlang in Locale composition description
P4 JDK-8387185 Locale does not respect numeric singletons
P4 JDK-8387253 Locale incorrectly accepts extlangs after non 2*3ALPHA lang

core-libs/javax.lang.model

Priority Bug Summary
P4 JDK-8384838 Add SourceVersion.RELEASE_28

core-libs/javax.naming

Priority Bug Summary
P3 JDK-8154193 Move jdk.naming.rmi module to platform class loader

core-libs/javax.script

Priority Bug Summary
P4 JDK-8387044 test/jdk/javax/script/CommonSetup.sh incorrectly sets isCygwin=true for MSys/MinGW

core-svc/java.lang.management

Priority Bug Summary
P4 JDK-8387142 BUILD_LIBMANAGEMENT_EXT remove special warning settings

core-svc/javax.management

Priority Bug Summary
P4 JDK-8385839 JMX config file correction

core-svc/tools

Priority Bug Summary
P4 JDK-8385964 AttachProvider docs update: 'doors' to 'socket'

globalization/translation

Priority Bug Summary
P3 JDK-8385927 JDK 27 RDP1 L10n resource files update

hotspot/compiler

Priority Bug Summary
P2 JDK-8387378 [BACKOUT] C2: SIGSEGV in compiled code due to missing ctrl
P2 JDK-8386831 Build fails due to bad copyright header in test/hotspot/jtreg/compiler/onSpinWait/TestOnSpinWaitPPC64.java
P2 JDK-8385833 C2 Vector API: assert(false) failed: infinite loop in PhaseIterGVN::transform_old
P2 JDK-8386155 C2 Vector API: missing truncation in VectorNode::push_through_replicate
P3 JDK-8386656 C2 AVX512: -XX:-UseCountTrailingZerosInstruction causes assert(UseCountTrailingZerosInstruction) failed: tzcnt instruction not supported
P3 JDK-8386482 C2 CountedLoopConverter::filtered_type_from_dominators: assert(_base == Int) failed: Not an Int
P3 JDK-8383767 C2: assert(curr_ctrl->in(0)->Opcode() == Op_If) failed: unexpected node MemBarStoreStore
P3 JDK-8386830 C2: CountedLoopConverter::filtered_type wrongly ignores nullptr contributions to type union/meet
P3 JDK-8387015 C2: crash with "named projection 2 not found" from ArrayCopyNode::finish_transform() for clone
P3 JDK-8375694 C2: Dead loop constructed with CastPP in late inlining
P3 JDK-8385855 C2: IfNode::filtered_int_type should only allow CmpI
P3 JDK-8387012 C2: PhaseVector::expand_vunbox_node should not inject the payload type into the load
P3 JDK-8385420 C2: SIGSEGV in compiled code due to missing ctrl
P3 JDK-8386591 C2: wrong result because of broken truncation check in CountedLoopConverter::TruncatedIncrement::build
P3 JDK-8385651 HotCodeSampler crashes with JFR enabled
P3 JDK-8379555 Test compiler/igvn/ExpressionFuzzer.java crashed with -Xcomp: Not monotonic
P4 JDK-8379327 128-bit multiplication uses two multiply instructions on x86_64
P4 JDK-8387184 [PPC64] C1 logic operations should support generic constants
P4 JDK-8386669 AArch64: Distinguish ldr and ldrw literal instructions in NativeInstruction
P4 JDK-8381766 AArch64: extend MacroAssembler increment/decrement/and/or to use 24-bit immediate operands
P4 JDK-8382135 AArch64: HotCodeCollectorMoveFunction.java fails intermittently
P4 JDK-8386808 AArch64: Sync aarch64_vector.ad with aarch64_vector_ad.m4 after JDK-8370691
P4 JDK-8370691 Add new Float16Vector type and enable intrinsification of vector operations supported by auto-vectorizer
P4 JDK-8386163 C2 Vector API: assert(collect_unique_inputs(n, inputs) == 1) failed: not unary
P4 JDK-8386762 C2: Allow inlining cold methods
P4 JDK-8381362 C2: assert(_late_inlines.length() == 0 || IncrementalInlineMH || IncrementalInlineVirtual) failed: not empty
P4 JDK-8387197 C2: Improve klass_ptr_type in GraphKit::gen_instanceof() similarly to GraphKit::gen_checkcast()
P4 JDK-8384963 C2: Incorrect uint constant match mishandles negative values in vectors
P4 JDK-8379816 C2: Possible integer overflow in BCEscapeAnalyzer::iterate_blocks
P4 JDK-8386597 C2: TestTruncationWrapFuzzer.java‎ for CountedLoop detection of subword truncated iv
P4 JDK-8384847 Fix documentation typos around ML-KEM and ML-DSA intrinsic code for aarch64
P4 JDK-8384606 HotCodeHeap tests require C2
P4 JDK-8349563 Improve AbsNode::Value() for integer types
P4 JDK-8387334 IR Framework tests should run in jtreg driver mode
P4 JDK-8387017 java/lang/instrument/GetObjectSizeIntrinsicsTest.java fails with Error evaluating expression: invalid boolean value: `null' for expression `vm.opt.VerifyOops'
P4 JDK-8376803 Jtreg test compiler/vectorization/TestVectorAlgorithms.java fails after JDK-8373026
P4 JDK-8386852 Lower peak throughput with AOTCache
P4 JDK-8386637 PPC64: Implement Thread.onSpinWait() intrinsic and SpinPause() using SMT priority hints
P4 JDK-8386879 PPC64: or_unchecked in OrI instructs can emit unintended SMT priority hints
P4 JDK-8387016 PPC64: Remove postalloc_expand from float/double compare nodes
P4 JDK-8385166 PPC: C2: c_return_value and return_value should not set 2nd OptoRegPair for Op_RegI
P4 JDK-8386460 Report AOT code loading failure before log of AOT code cache content
P4 JDK-8386945 RISC-V: Auto-enable Zvbb extension features
P4 JDK-8386161 RISC-V: Auto-enable Zvkn/Zvkg extension features
P4 JDK-8385746 S390: Improve receiver type profiling reliability
P4 JDK-8387003 Stale doc comment in TrustFinalFields.java after JDK-8376777
P4 JDK-8384251 Test java/lang/instrument/GetObjectSizeIntrinsicsTest.java crashed: fatal error: Not compilable at tier 1: CodeBuffer overflow
P4 JDK-8378892 TestTrampoline fails on Windows AArch64
P4 JDK-8385588 Tune APX support in C2 backend
P4 JDK-8385119 Unify boolean value normalization
P4 JDK-8382052 VectorAPI: Optimize the lanewise BITWISE_BLEND for AArch64
P4 JDK-8381618 VectorExpressionFuzzer.java: enable test for all platforms

hotspot/gc

Priority Bug Summary
P2 JDK-8386958 Build failure due to incorrect copyright text in src/hotspot/share/gc/shenandoah/ files
P3 JDK-8386332 G1: Cleanup pause incorrectly updates old gen MemoryPoolMXBean.getCollectionUsage()
P3 JDK-8387206 G1: Code root verification crashes because of stale table scanner
P3 JDK-8385369 G1: Concurrent Cleanup For Next Mark accesses uncommitted bitmaps after region uncommit
P3 JDK-8382627 Shenandoah: assert(old_reserve_result + young_reserve_result <= old_available + young_available) failed
P3 JDK-8387042 Shenandoah: Build time regression with LBE
P4 JDK-8386707 [BACKOUT] ZGC: Incorrect object undo in relocation race for relocation workers
P4 JDK-8386098 Add empty MemRegion precondition to CardTable methods
P4 JDK-8386247 G1: Cleanup naming and type use of G1CollectionSet class members and methods
P4 JDK-8387303 G1: Convert G1ConcurrentRefine::_num_threads_wanted to use the Atomic API
P4 JDK-8379983 G1: Fix up friend class declarations
P4 JDK-8385893 G1: G1CollectedHeap::_old_marking_cycles_completed should be an Atomic
P4 JDK-8385903 G1: G1CollectionSet::_num_regions needs to be Atomic
P4 JDK-8385899 G1: G1ConcurrentMarkThread::_state should be Atomic
P4 JDK-8385873 G1: G1ConcurrentRefineSweepTask::_sweep_completed should be Atomic
P4 JDK-8387322 G1: G1CSetCandidateGroupList::_num_regions should be Atomic
P4 JDK-8385901 G1: G1FullGCPrepareTask::_has_free_compaction_targets should be Atomic
P4 JDK-8371720 G1: Move concurrent mark initialization to first concurrent start pause
P4 JDK-8387083 G1: Remove redundant NMT tagging from G1RegionToSpaceMapper
P4 JDK-8381128 G1: Tighten accesses to TAMS/TARS
P4 JDK-8382335 gc/stress/jfr/TestStressAllocationGCEventsWithShenandoah.java intermittently fails with OOME
P4 JDK-8386604 GenShen: _do_old_gc_bootstrap could become stuck after a full GC
P4 JDK-8386288 GenShen: assert(region->get_top_before_promote() == nullptr) failed: Cannot add region scheduled for in-place-promotion to the collection set
P4 JDK-8386204 GenShen: Bootstrap cycles are misidentified in logs
P4 JDK-8386202 Genshen: Regulator thread reporting hiccup times proportional to safepoint times
P4 JDK-8385933 GenShen: Remove ShenandoahAgingCyclePeriod
P4 JDK-8387391 hotspot_gc_shenandoah should include gtests
P4 JDK-8386254 Parallel: Adjust Pointers should use stripes in young spaces
P4 JDK-8386480 Parallel: Avoid Triggering GC Before VM Initialization Completes
P4 JDK-8387387 Parallel: Clean up startup allocation locking
P4 JDK-8385454 Provide more NUMA related information in hsinfo/hserr files
P4 JDK-8385989 Remove mention of obsoleted/removed ParallelRefProcEnabled in documentation
P4 JDK-8386323 Remove unused MemoryPool allocation availability state
P4 JDK-8385728 Serial: Check empty MemRegion in maintain_old_to_young_invariant
P4 JDK-8382213 Shenandoah: Drop weak root processing flags earlier
P4 JDK-8387293 Shenandoah: Improve gc+stats logging for generational mode
P4 JDK-8386312 Shenandoah: Incorrect assertion in ShenandoahAllocRate uses is_locked() instead of owned_by_self()
P4 JDK-8385596 Shenandoah: Introduce per-partition allocators with FreeSet API boundary
P4 JDK-8385592 Shenandoah: Introduce ShenandoahAllocator interface to encapsulate memory allocation
P4 JDK-8386798 Shenandoah: Missing load barrier when making assertions about mark bitmap
P4 JDK-8380390 Shenandoah: Missing store barrier when resetting bitmaps
P4 JDK-8386992 Shenandoah: Pad hot atomic counters to avoid false sharing on the allocation path
P4 JDK-8385732 Shenandoah: Penalize triggering heuristics for out-of-cycle degenerated
P4 JDK-8387047 Shenandoah: Purge SBS::resolve_forwarded
P4 JDK-8385594 Shenandoah: Remove legacy allocation methods from ShenandoahFreeSet
P4 JDK-8386910 Shenandoah: remove redundant logging of free set status
P4 JDK-8386547 Shenandoah: remove unused variables in Freeset reserve_regions
P4 JDK-8385643 Shenandoah: Rework mark loop inlining
P4 JDK-8387260 Shenandoah: ShenandoahOldGeneration::_promoted_reserve should be atomic
P4 JDK-8386292 Shenandoah: Simplify and strengthen C1 barriers
P5 JDK-8385562 G1: Remove obsolete young_list prefix in identifiers used before JDK-8150721
P5 JDK-8385961 Shenandoah: incorrect assert ordering in ShenandoahFreeSet::allocate_contiguous non-humongous path
P5 JDK-8386252 Shenandoah: Polish LRB argument preparation
P5 JDK-8385975 Shenandoah: remove leftover ShenandoahPacer declarations in ShenandoahHeap

hotspot/jfr

Priority Bug Summary
P3 JDK-8386485 JFR: RecordingFile::write overwrites original file
P3 JDK-8385574 JFR: Redaction should check file
P4 JDK-8386345 Remove redundant @requires from TestGarbageCollectionEventWithZMinor
P4 JDK-8385892 TestResidentSetSizeEvent fails with RuntimeException: Should be non-zero: expected 0 > 0

hotspot/jvmti

Priority Bug Summary
P3 JDK-8379144 serviceability/jvmti/vthread/VThreadTest/VThreadTest.java timed out with --enable-preview
P4 JDK-8383879 assert(_cur_stack_depth == num_frames) failed: cur_stack_depth out of sync _cur_stack_depth: 9 num_frames: 10

hotspot/runtime

Priority Bug Summary
P3 JDK-8385806 Assert failed when running Skynet.java with continuation trace logging enabled
P3 JDK-8387132 frame::pc_return_offset is always 0
P3 JDK-8386562 JVM crashes when StackMapTable attribute is too long
P3 JDK-8385661 jvmti/vthread/ThreadStateTest/ThreadStateTest.java triggers assert(f.pc() == _chunk->pc()) failed
P3 JDK-8378049 test/hotspot/jtreg/runtime/NMT/NMTPrintMallocSiteOfCorruptedMemory.java failing on Windows
P3 JDK-8385655 Timeout in java/lang/Thread/virtual/KlassInit.java
P4 JDK-8386685 CDS load on Windows/ARM64 using base address set to 0x5_0000_0000 causes a JVM crash
P4 JDK-8386456 Comments at the declaration of frame::frame_alignment are incorrect on some platforms
P4 JDK-8386922 Convert TraceRelocator to Unified Logging
P4 JDK-8386448 Enable dumping of AVX registers (YMM/ZMM and K registers) in JVM fatal error logs
P4 JDK-8387262 Enum constant frame::pc_return_offset is always zero
P4 JDK-8385586 Fix race in Windows map_or_reserve_memory_aligned using VirtualAlloc2 and MapViewOfFile3
P4 JDK-8385427 Make unified logging checks in tests tolerant of added spaces
P4 JDK-8386476 NMT: Large page reservation not attributed to the correct memory tag
P4 JDK-8386659 PPC: cleanup dtrace leftovers part 2
P4 JDK-8384844 Remove expired flags in JDK 28
P4 JDK-8387381 RISC-V: assert failed with fastdebug build on systems with different core types
P4 JDK-8386344 runtime/StackGuardPages/TestStackGuardPages build failure after JDK-8303612
P4 JDK-8303612 runtime/StackGuardPages/TestStackGuardPagesNative.java fails with exit code 139
P4 JDK-8387258 Test jdk/jfr/event/runtime/TestResidentSetSizeEvent.java failed on Windows: The size should be less than or equal to peak
P4 JDK-8380750 Test runtime/cds/appcds/TestSerialGCWithCDS.java#id1 failed: StringIndexOutOfBoundsException
P4 JDK-8386130 TestPrintMethodData.java failing with VirtualThread as main thread
P4 JDK-8387214 TraceJavaAssertions is unused
P4 JDK-8385991 Use StringTable's statistics method in Dictionary
P4 JDK-8386150 VtablesTest.java fails when main thread is a Virtual Thread

hotspot/svc

Priority Bug Summary
P4 JDK-8387148 Linux perf map should record individual vtable trampolines
P4 JDK-8386325 The AttachListener does not do proper exception handling

hotspot/svc-agent

Priority Bug Summary
P4 JDK-8385723 Intermittent failure of serviceability/sa/ClhsdbInspect.java
P4 JDK-8386124 Test serviceability/sa/TestG1HeapRegion.java failed: Address of G1HeapRegion does not match
P4 JDK-8382338 Various serviceability agent tests fail on Linux x86_64 with LTO enabled
P4 JDK-8386944 Warning message was not printed on PAC enabled AArch64 Linux

hotspot/test

Priority Bug Summary
P4 JDK-8386107 arm32: libSuspendInCritical jtreg library fails to link

infrastructure

Priority Bug Summary
P3 JDK-8386844 Update to use jtreg 8.3
P4 JDK-8384848 Update JCov for class file version 72

infrastructure/build

Priority Bug Summary
P2 JDK-8386551 Windows build broken because of MSys2/Make update
P3 JDK-8387315 Add macosx-aarch64 bootcycle build profiles
P3 JDK-8387013 Update GitHub Actions
P4 JDK-8386878 [make] BUILD_LIBZIP_EXCLUDES seems to be unused
P4 JDK-8385660 Audit and remove unnecessary lint categories from $DISABLED_WARNINGS
P4 JDK-8386625 Devkit could not be built on glibc 2.43+
P4 JDK-8386805 Drop ICF optimization from MSVC compilation flags
P4 JDK-8385988 Linux devkits does not work with dnf5
P4 JDK-8385123 Remove 32-bit x86 support for Linux devkits
P4 JDK-8387074 Remove duplicate handling of sparc in platform.m4
P4 JDK-8386081 Update --release 26 symbol information for JDK 27 build 27
P5 JDK-8385987 CheckReleaseFile.java fails for the build using the source code without .git

infrastructure/docs

Priority Bug Summary
P4 JDK-8386865 Fix links in JDK 27 JavaDoc API documentation

infrastructure/other

Priority Bug Summary
P4 JDK-8385950 Git: add ignore revisions file

infrastructure/release_eng

Priority Bug Summary
P4 JDK-8386082 Rectify JDK 28 GA date to 2027-03-23

security-libs/java.security

Priority Bug Summary
P3 JDK-8383608 Make BinaryEncodable non-exhaustive
P3 JDK-8386681 Remove RawKeySpec
P4 JDK-8377102 cacerts jlink plugin
P4 JDK-8387123 Remove LuxTrust Global Root CA

security-libs/javax.crypto

Priority Bug Summary
P2 JDK-8386911 Crypto benchmark regressions after JDK-8384353
P2 JDK-8386466 DESedeKeySpec.isParityAdjusted spec permits 8-byte key but RI throws InvalidKeyException
P2 JDK-8386473 DESKeySpec and DESedeKeySpec may throw InvalidKeyException instead of ArrayIndexOutOfBoundsException for Integer.MIN_VALUE offset
P3 JDK-8355216 Accelerate P-256 arithmetic on aarch64
P5 JDK-8385304 X25519 should utilize aarch64 intrinsics
P5 JDK-8371305 X25519 should utilize x86 intrinsics

security-libs/javax.net.ssl

Priority Bug Summary
P3 JDK-8301626 Capture Named Group information in TLSHandshakeEvent
P3 JDK-8386600 Fix comparison checks in DHasKEM
P3 JDK-8385978 Test javax/net/ssl/SSLSession/TestEnabledProtocols.java failed: java.security.cert.CertificateException: Unable to initialize, java.io.IOException: Too short
P3 JDK-8374454 Test sun/security/ssl/CipherSuite/DisabledCipherSuitesNotNegotiated.java from JDK-8356544 shows intermittent timeouts
P5 JDK-8386203 Use CRC32C checksum instead of Adler32 for stateless session ticket

tools/javac

Priority Bug Summary
P3 JDK-8173155 JavacTask should have close() method
P3 JDK-8387215 On-demand attribution of a record constructor body causes javac to emit an invalid diagnostic
P4 JDK-8384842 Add source 28 and target 28 to javac
P4 JDK-8383882 javac: incremental compilation using --module misses classes
P4 JDK-8386601 Rename LANGUAGE_MODEL preview feature to PREVIEW_SUPPORT
P4 JDK-8386654 Test tools/javac/SystemFilesClosed.java fails on systems without lsof
P4 JDK-8385974 Update symbol information for jdk-28+0

tools/javadoc(tool)

Priority Bug Summary
P3 JDK-8386589 Permitting a preview subclass should not produce a preview note
P4 JDK-8385506 Fix some remaining CSS issues
P4 JDK-8384065 Improve wrapping of link labels in the table of contents
P4 JDK-8383906 Target highlight in member details is too aggressive

tools/jconsole

Priority Bug Summary
P4 JDK-8385817 Headless jdk still contains bin/jconsole

tools/jlink

Priority Bug Summary
P3 JDK-8385355 NullPointerException in jdk.tools.jlink.internal.ImageResourcesTree after JDK-8377070
P4 JDK-8357249 Compiler task keeps --system files open
P4 JDK-8386334 JdepsTask keeps --system files open

tools/jpackage

Priority Bug Summary
P3 JDK-8387306 Replace InputStream#read(byte[]) with InputStream#readNBytes(int) in RtfConverter.isRtfFile()
P3 JDK-8386609 WinL10nTest.java does not respect locale for WixType

tools/launcher

Priority Bug Summary
P4 JDK-8385024 `JLI_Open()` doesn't correctly handle paths longer than MAXPATH on Windows
P4 JDK-8387025 Typo in java man page option --illegal-final-field-mutation=warn "performaed"