Ikvm Revived Ikvm Versions Save

A Java Virtual Machine and Bytecode-to-IL Converter for .NET

8.8.0

2 weeks ago

What's Changed

Full Changelog: https://github.com/ikvmnet/ikvm/compare/8.7.6...8.8.0

8.7.6

4 weeks ago
  • Max major/minor versions to 65534, one less than ushort max. Fixes #510

Full Changelog: https://github.com/ikvmnet/ikvm/compare/8.7.5...8.7.6

8.8.0-pre.1

1 month ago

What's Changed

Full Changelog: https://github.com/ikvmnet/ikvm/compare/8.7.5...8.8.0-pre.1

8.7.5

3 months ago
  • Native library implementation of atomic locking. Fixes atomic locking on Linux and OS X. Allows upgrade of Maven to latest version (which uses atomic locking).

Full Changelog: https://github.com/ikvmnet/ikvm/compare/8.7.4...8.7.5

8.7.4

3 months ago

What's Changed

  • Move Static Initializer out of Module Init path by @wasabii in https://github.com/ikvmnet/ikvm/pull/465
  • IKVM.Reflection reformatting, cleanup. Preparing for SRME.
  • Handle bad PE image in retrieving assembly information.
  • Test production of win-x64 directory for win-x86 build/publish.

Full Changelog: https://github.com/ikvmnet/ikvm/compare/8.7.3...8.7.4

8.7.3

4 months ago
  • Fix JNIFrame.GetFuncPtr for Win32 name mangling.

Full Changelog: https://github.com/ikvmnet/ikvm/compare/8.7.2...8.7.3

8.7.2

4 months ago

What's Changed

  • Fix missing mscorlib when VS or devpacks are not present by @wasabii in https://github.com/ikvmnet/ikvm/pull/441
  • Incorrectly publishing multiple RIDs #449
  • Publish both win-x86 and win-x64 for win-x68 without Prefer32Bit. #444

Full Changelog: https://github.com/ikvmnet/ikvm/compare/8.7.1...8.7.2

8.7.1

6 months ago
  • Fixes #437 Cap assembly version at 65535 in case of overflow. Many Java libraries have a date version component.
  • Fixes #438 IKVM.ByteCode error handling type_argument_index in RuntimeVisibleTypeAttributes.

Full Changelog: https://github.com/ikvmnet/ikvm/compare/8.7.0...8.7.1

8.7.0

6 months ago

What's Changed

  • Return same Lambda where Lambda doesn't have captures by @TheLastRar in https://github.com/ikvmnet/ikvm/pull/376
  • Enable .NET7 builds and tests by @wasabii in https://github.com/ikvmnet/ikvm/pull/378
  • IKVM.Runtime cleanup by @wasabii in https://github.com/ikvmnet/ikvm/pull/383
  • Remove existing CLASSGC support by @wasabii in https://github.com/ikvmnet/ikvm/pull/384
  • RuntimeJavaType by @wasabii in https://github.com/ikvmnet/ikvm/pull/385
  • Runtime Context by @wasabii in https://github.com/ikvmnet/ikvm/pull/393
  • .NET 6.0 by @wasabii in https://github.com/ikvmnet/ikvm/pull/401
  • OS X ARM64 by @wasabii in https://github.com/ikvmnet/ikvm/pull/402
  • .NET 4.7.2 and .NET 6.0 by @wasabii in https://github.com/ikvmnet/ikvm/pull/406. We dropped support for Windows ARM32 here.
  • libnet and libnio by @wasabii in https://github.com/ikvmnet/ikvm/pull/409
  • Rename win7-* packages and RIDs to win-. .NET 8 no longer provides win7- RIDs.
  • IKVM.Image.runtime.* packages for OpenJDK native libraries.
  • Use RAR for resolution of Framework references. Tools no longer package ref assemblies.
  • libiava (libjava). Rename exists because Windows will not let a java.exe load a java.dll.
  • libjvm. No external hosting support presently.
  • Reintroduce libikvm for various platform specific functions that are difficult to P/Invoke.
  • JNI loading logic more accurately behaves according to standard JDKs. IKVM.Image.runtime.* packages deliver native libraries, which are placed in the Image directory, not the .NET search path. Native libraries decorated with RPATH on Linux, and correctly mode rpath lookups on OS X.
  • We lost AppDomain support due to the native libraries. The native OpenJDK libraries retain references to fields and classes in IKVM.Java. Loading two copies of IKVM.Java would use the same native libraries, with references to the fields from the wrong AppDomain. This will also cause issues for AssemblyLoadContext usage. As of now, avoid loading two copies of IKVM into the same process.
  • New documentation structure, which should publish to ikvm.org.
  • IKVM.NET.Sdk should support MUSL.
  • IKVM.NET.Sdk now emits JNI header files by default.
  • IKVM.NET.Sdk build failure with missing target.
  • Fix StackOverflowException.

New Contributors

Full Changelog: https://github.com/ikvmnet/ikvm/compare/8.6.4...8.7.0

8.7.0-pre.3

6 months ago

What's Changed

  • Return same Lambda where Lambda doesn't have captures by @TheLastRar in https://github.com/ikvmnet/ikvm/pull/376
  • Enable .NET7 builds and tests by @wasabii in https://github.com/ikvmnet/ikvm/pull/378
  • IKVM.Runtime cleanup by @wasabii in https://github.com/ikvmnet/ikvm/pull/383
  • Remove existing CLASSGC support by @wasabii in https://github.com/ikvmnet/ikvm/pull/384
  • RuntimeJavaType by @wasabii in https://github.com/ikvmnet/ikvm/pull/385
  • Runtime Context by @wasabii in https://github.com/ikvmnet/ikvm/pull/393
  • .NET 6.0 by @wasabii in https://github.com/ikvmnet/ikvm/pull/401
  • OS X ARM64 by @wasabii in https://github.com/ikvmnet/ikvm/pull/402
  • .NET 4.7.2 and .NET 6.0 by @wasabii in https://github.com/ikvmnet/ikvm/pull/406
  • libnet and libnio by @wasabii in https://github.com/ikvmnet/ikvm/pull/409
  • Rename win7-* packages and RIDs to win-. .NET 8 no longer provides win7- RIDs.
  • IKVM.Image.runtime.* packages for OpenJDK native libraries.
  • Use RAR for resolution of Framework references. Tools no longer package ref assemblies.
  • libiava (libjava). Rename exists because Windows will not let a java.exe load a java.dll.
  • libjvm. No external hosting support presently.
  • Reintroduce libikvm for various platform specific functions that are difficult to P/Invoke.
  • JNI loading logic more accurately behaves according to standard JDKs. IKVM.Image.runtime.* packages deliver native libraries, which are placed in the Image directory, not the .NET search path. Native libraries decorated with RPATH on Linux, and correctly mode rpath lookups on OS X.
  • We lost AppDomain support due to the native libraries. The native OpenJDK libraries retain references to fields and classes in IKVM.Java. Loading two copies of IKVM.Java would use the same native libraries, with references to the fields from the wrong AppDomain. This will also cause issues for AssemblyLoadContext usage. As of now, avoid loading two copies of IKVM into the same process.
  • New documentation structure, which should publish to ikvm.org.
  • IKVM.NET.Sdk should support MUSL.
  • IKVM.NET.Sdk now emits JNI header files by default.
  • IKVM.NET.Sdk build failure with missing target.
  • Fix StackOverflowException.

New Contributors

Full Changelog: https://github.com/ikvmnet/ikvm/compare/8.6.4...8.7.0-pre.2