This page outlines the status of high-level feature areas to bring from Apple's Java SE 6 to the Mac OS X port of JDK 7u4.
7u4 is now complete; 7u6 is in active development in jdk7u-dev.
A list of popular open issues is available at the JIRA bug reporter.
Features in the macosx-port src repository
 Build Build build using clang build using clang
 build .jdk bundle (for CommandLine and embedded use only) build .jdk bundle (for CommandLine and embedded use only)
 build embeddable .jre bundle build embeddable .jre bundle
 
 HotSpot HotSpot
 Core Libraries Core Libraries Load .jnilib (in addition to .dylib) - fixed for 7u4! Load .jnilib (in addition to .dylib) - fixed for 7u4!
 
 JNI interface JNI interface
 Networking Networking
 X11 X11
 Universal binaries Universal binaries
 JObjC JObjC get tests passing get tests passing
 self-generate BridgeSupport full files self-generate BridgeSupport full files
 
 Cocoa AWT Cocoa AWT
Done
 (X) HotSpot
 (X) Core Libraries
 (X) Networking
 (X) X11
 (X) Universal binaries
 (X) builds as .jdk bundle
...
-  2D drawing (OpenGL based) 
 
...
...
Features not yet ported from Apple's Java SE 6
 Bundled app launching Bundled app launching JavaApplicationStub replacement JavaApplicationStub replacement Stub source now checked in. More tools for bundling an app are coming. Stub source now checked in. More tools for bundling an app are coming.
 Stub and AWT reviewed for sandboxing Stub and AWT reviewed for sandboxing need to fix JavaSound, launcher stub, and remove dependency on X11 libfreetype. need to fix JavaSound, launcher stub, and remove dependency on X11 libfreetype.
 
 
 
Features not in public macosx-port ("deploy" is private to Oracle). You'll have to trust us on these – deploy is not ready to be open-sourced.
 Applets/Plugin2 Applets/Plugin2 Need to create .plugin bundle Need to create .plugin bundle Need to embed slimmed JRE into .plugin bundle Need to embed slimmed JRE into .plugin bundle
 
 Need NPAPI/Cocoa event -> Java event conversion Need NPAPI/Cocoa event -> Java event conversion
 Need the LWAWT to render into NSOpenGLLayer (see above) Need the LWAWT to render into NSOpenGLLayer (see above) Need cross-process CALayer connection mechanism to be exposed Need cross-process CALayer connection mechanism to be exposed
 
 Need to determine update mechanism (Sparkle.framework?) Need to determine update mechanism (Sparkle.framework?)
 JavaFx support JavaFx support
 
 Web Start Web Start Need to determine delivery vehicle (inside Applet plug-in, or some other form) – Java Web Start.app will find javaws in the deployment bundle and execute that. Requires at least 10.7.3. Need to determine delivery vehicle (inside Applet plug-in, or some other form) – Java Web Start.app will find javaws in the deployment bundle and execute that. Requires at least 10.7.3.
 Shortcut support Shortcut support
 
 Java Preferences Java Preferences UI cleanup: Look better on Mac OS X UI cleanup: Look better on Mac OS X
 Preference pane Preference pane
 
Non-feature tasks
 Merge BSDPort into mainline jdk so that Mac OS X Port can be inserted into mainline: Merge BSDPort into mainline jdk so that Mac OS X Port can be inserted into mainline:
 Move internal bugs to http://java.net/jira/browse/MACOSX_PORT Move internal bugs to http://java.net/jira/browse/MACOSX_PORT
 Write up development wiki pages for Write up development wiki pages for
 Port private JUnit harness tests to jtreg Port private JUnit harness tests to jtreg
Non-Features
These features will not be ported to OpenJDK from the Apple Java SE 6 port
- MacRoman default encoding - UTF-8 only, for all locales/languages
 
- NSView-based AWT heavyweight widgets - LWAWT Swing-based widgets only
 
- NSView-based JAWT embedding - CALayer embedding instead
 
- CocoaComponent - Use CALayer-based JAWT embedding instead
 
- SWT Carbon EventLoop support - No 32-bit only technologies, Cocoa only
 
- JNI instantiation through the JavaVM.framework - Embed your own JRE instead
 
- Apple JavaApplicationStub - Use the new JavaAppLauncher, loads an embedded .jre, JavaApplicationStub compatible
 
- Apple native crypto 
- HotSpot Shared Archive Generation - Automatic JSA creation is of limited use until HotSpot supports class sharing in 64-bit, and in all garbage collectors
 
Partially Done - on private branch, requires additions to JavaRuntimeSupport.framework
  Cocoa key/text events
 Cocoa key/text events
 (_) Requires several InputMethod internal bits
  Screen Menu Bar
 Screen Menu Bar
 (_) Currently using Carbon menu handlers in 64-bit
Not Done - but straightforward port
 (_) Clipboard
 (_) Printing
 (_) Proxy Server handling - get config from System Configuration framework
 (_) System properties fixup (vendor name, etc)
 (_) DTrace
 (_) JObjC
Not Done - requires additions to JavaRuntimeSupport.framework, but easy
 (_) Locale support
 (_) Requires a single locale setter CFBundle SPI call
 (_) Accessibility
 (_) Requires 1 method
 (_) Drag & Drop
 (_) Requires some CoreDrag methods
 (_) SWT/3D embedding
 (_) probably requires CALayer cross-process linking internals
Not Done - requires partial rewrite
 (_) Sound
 Apple implementation depends on HeadSpace
 Possible alternate implementation for MIDI offered by 3rd party <http://mail.openjdk.java.net/pipermail/sound-dev/2010-October/000110.html Image Removed>
Image Removed>
Not Scoped ("deploy" is not part of public JDK7)
 (_) Applets/Plugin2
 (_) Web Start
 (_) Java Preferences
...