The second release candidate is available. Unlike the previous rc, this one is buildable on Linux again (tested with Mono 2.10.5). It also fixes a regression in final field handling.
Changes (relative to rc 0):
- Updated version to 7.1.4532.1
- Fixed Linux build issue due to assembly.class filename case error in tools.rsp
- Updated copyright years in LICENSE
- Merged in OpenJDK 7u4 changes in THIRD_PARTY_README.
- Bug fix. AssemblyClassLoader.InternalsVisibleToImpl() would crash with NRE if it got called on a single assembly class loader, because it should call GetLoader(Assembly) to get the AssemblyLoader instead of GetLoaderForExportedAssembly().
- Bug fix. When resolving properties corresponding to fields with type 2 access stubs, unloadable types with the same name should compare as equal.
- Bug fix. When a final field is wrapped in a property, any assemblies that are concurrently compiled with the declaring assembly will access the backing field directly and hence the declaring assembly will need an InternalsVisibleToAttribute to allow them access. This fix makes sure that this attribute is applied when the field is accessed from another (concurrently compiled) assembly.
- IKVM.Reflection: Added workaround for Mono 2.10 bug in AssemblyName (public key token for ECMA public key is not created correctly).
- IKVM.Reflection: Added workaround for Mono to StrongNameKeyPair.
- IKVM.Reflection: Disallow key container constructor of StrongNameKeyPair when running on Mono on Windows.
- IKVM.Reflection: Bug fix. Type.GetInterfaces() should work for unbaked types.
When the final release is done, it will include the full release notes.
Binaries available here: ikvmbin-7.1.4532.1.zip
Sources: ikvmsrc-7.1.4532.1.zip, openjdk-7u4-stripped.zip