# Monday, November 14, 2011
« Managed PE File Types | Main | New Development Snapshot »
IKVM.NET 7.0 Release Candidate 0

The first release candidate is available. No changes (except the version number and strong naming) relative to the last development snapshot.

What's New (relative to IKVM.NET 0.46):

  • Integrated OpenJDK 7 b147.
  • Implemented Java 7 JVM changes.
  • Java annotations on statically compiled code are now returned as java.lang.reflect.Proxy objects for compability with broken code that assumes this is always the case.
  • Added delegate conversion for java.lang.reflect.InvocationHandler to ikvm.runtime.Delegates.
  • Various remap file improvements.
  • Changed build and JNI code to use different names for the Windows x86 and x64 versions of the native dll.
  • Retain reflection field ordering for ikvmc compiled code (not required by spec, but to improve compatibility with broken code).
  • Various AWT fixes.
  • Interop between java.lang.AutoCloseable and System.IDisposable.
  • Various build system improvements.
  • Added ikvmc -warnaserror option.
  • Fixed java.io.FileOutputStream in append mode to use atomic append.
  • Various performance improvements.
  • Added -Xnoglobbing option to ikvm.exe.
  • Various minor fixes.
  • Implemented dual stack sockets (Windows Vista and up only).
  • Implemented platform MBean server.
  • Implemented SocketChannel.sendOutOfBandData().
  • Implemented DatagramChannel multicast methods.
  • Removed mapping of System.Security.VerificationException to java.lang.VerifyError.
  • IKVM.Reflection: Massive enhancements to support a very large portion of the managed PE capabilities (much more than System.Reflection.Emit).

When the final release is done, it will include the full release notes.

Binaries available here: ikvmbin-7.0.4335.0.zip

Sources: ikvmsrc-7.0.4335.0.zip, openjdk7-b147-stripped.zip

Monday, November 14, 2011 2:01:32 PM (W. Europe Standard Time, UTC+01:00)  #    Comments [2]
Tuesday, November 15, 2011 6:06:28 PM (W. Europe Standard Time, UTC+01:00)
Great to see all these new improvements. However, after trying this new version I found a problem in one of the 3rd party FTP jar we're using. Since we don't have the source it was difficult to trace, but we are pretty certain that it happens on Socket.close() which throws an exception with the following message:

"Software caused connection abort: socket write error".

Unfortunately we cannot determine the exact type of the exception because it's caught before we see it and rethrown. The exception did not occur in the previous 0.46 IKVM release. Can you think of anything that might have been changed? Also, my apologies if this is not the right location for posting this question.
Wednesday, November 16, 2011 9:58:43 AM (W. Europe Standard Time, UTC+01:00)
This is indeed not the best place for this, but I see you also filed a bug:
Comments are closed.