ristretto

v0.11.0

v0.11.0 Nov 13 2024 at 21:28 UTC

💥 Breaking changes

  • refactor VM.load_class() -> Thread.class() and VM.new_object() -> VM.object() (#116)
  • implement TryInto for Value, Reference and Object (#105)

✨ Enhancements

  • add string support to RustValue (#115)
  • add VM.new_object() (#114)
  • update class loader to support primitive classes (#109)
  • add JavaObject trait (#106)
  • implement TryInto for Value, Reference and Object (#105)

🐞 Bug fixes

  • add Class.getDeclaringClass0()java/lang/Class, Class.getSigners()Ljava/lang/Object;, Class.isHidden()Z, Class.setSigners(Ljava/lang/Object;)V (#113)
  • add Class.getClassAccessFlagsRaw0()I, Class.getClassFileVersion0()I and Class.getPermittedSubclasses0()[Ljava/lang/Class; (#112)
  • add Class.isInterface()Z (#111)
  • update Unsafe.compareAndSetReference() to support Objects (#110)
  • implement jdk.internal.misc.VM.initializeFromArchive(Ljava/lang/Class;)V, jdk.internal.misc.Unsafe.addressSize0()I, jdk.internal.misc.Unsafe.isBigEndian0()Z, jdk.internal.misc.Unsafe.unalignedAccess0()Z (#104)
  • correct is_assignable_from, checkcast and instanceof array handling (#103)
  • add awt native initIDs() methods (#101)

🛠️ Other improvements

  • refactor invoke (#118)
  • delegate VM.object() -> Thread.object() (#117)
  • refactor VM.load_class() -> Thread.class() and VM.new_object() -> VM.object() (#116)
  • improve object debug output (#108)
  • update parent reference (#107)
  • remove explicit use of box pin (#102)