JEP currently uses the private HIToolbox function GetEventPlatformEventRecord to convert from a Carbon event to an NSEvent. This function is difficult to use in a binary-compatible fashion because the size of the structure that it returns can change from one OS release to another. On 10.5 and later, NSEvent provides +[NSEvent eventWithEventRef:] to directly create an NSEvent from a Carbon event; JEP should switch to use this API when running on 10.5 and later to avoid possible binary compatibility problems with future OS releases. Also, since JEP is using an unsupported SPI, any application that uses JEP will be denied access to the Mac App Store because use of this SPI isn't allowed for applications in the App Store.
I'm posting this bug from my personal SF account, but for any questions about this bug, you can contact me at ericsc at apple.com.
I will look into this further when I have time.
For now I'll note two things:
I haven't asked for the JEP to be allowed access to the Mac App Store.
The JEP (of necessity) uses *lots* of undocumented APIs (not just
GetEventPlatformEventRecord). So if "using an unsupported SPI" is
sufficient for Apple to deny the JEP access to Mac App Store, the JEP
will never be available there.