Finally, after way too long, the first 0.46 release candidate is available.
What's New (relative to IKVM.NET 0.44):
- Integrated OpenJDK 6 b22.
- Added -Xreference: option to ikvm.exe and ikvm.runtime.Startup.addBootClassPathAssemby() API.
- The binaries zip now includes lib/ikvm-api.jar to avoid having to run ikvmstub to get access to the IKVM Java APIs.
- Ported parts of fdlibm to C# to use for StrictMath methods tan, cbrt, floor, pow, hypot, expm1 and log1p.
- Add support for serializing .NET exceptions in Java. We don't serialize the actual object, but a placeholder instead, to avoid having to implement full .NET serialization interop.
- Added IL optimization step to code generator.
- Added SynchronizationContext for AWT event thread.
- Many IKVM.Reflection improvements and bug fixes.
- Many Swing/AWT improvements.
- Implemented IPv6 support (.NET only) for java.net package APIs.
- The sun.boot.class.path system property now points to VFS to allow javac to work (although a bit slow, because the boot class files are dynamically generated on demand).
- Resource and generated stub classes are now projected into the virtual IKVM home directory, to make code that assumes that resources live in jars happy.
- Improvements to @ikvm.lang.Internal handling.
- Many minor improvements.
Fixes since previous development snapshot:
- IKVM.Reflection: Added limited support for #- metadata stream ("uncompressed" table heap). ParamPtr table is not yet implemented.
- IKVM.Reflection: Fixed bug in CustomAttributeData.__ToBuilder(). Array values should be unwrapped.
- IKVM.Reflection: Added __GetBlob() API extension to allow custom attribute arguments to be parsed/used even when some of the argument types are missing.
- IKVM.Reflection: Fixed stack height computation bug. For a newobj the parameters should be popped before the new object is pushed. Previously we could set the maximum stack height one slot too high.
- IKVM.Reflection: Added ConstructorBuilder.__SetSignature() API extension to allow constructor to be defined before the parameter types are available and to allow return type custom modifiers.
Binaries available here: ikvmbin-0.46.0.0.zip
Sources: ikvmsrc-0.46.0.0.zip, openjdk6-b22-stripped.zip