ristretto

v0.12.0

v0.12.0 Nov 29 2024 at 18:55 UTC

💥 Breaking changes

  • create JavaError to convert Rust error to Java exceptions (#139)
  • rename Value.to_object() -> Value.to_reference(). remove Value.try_to_object(). add Reference::TryInto<Object>, Value::TryInto<Object>, and Value::TryInto<Reference>. (#135)

✨ Enhancements

  • add ClassPath.class_names() (#145)
  • optimize class equality check (#140)

🐞 Bug fixes

  • correct errors with Java 11 initialization (#154)
  • correct Java 8 string handling to encode Rust strings as UTF-16 (#153)
  • add Class.fields() and update Class.get_declared_fields_0() to use the class fields instead of the object fields (#152)
  • correct field initialization (#151)
  • correct FieldType.class_name() to handle object arrays and multi-arrays (#150)
  • implement java.lang.Class.getDeclaredFields0() and sun.misc.Unsafe.* methods (#149)
  • implement java.security.AccessController.doPrivileged() methods (#148)
  • stub native methods (#147)
  • update class names to support modules (#146)
  • add java.lang.invoke.MethodHandleNatives.registerNatives()V and jdk.internal.misc.PreviewFeatures.isPreviewEnabled()Z (#144)
  • correct Object.clone() to behave as a reference copy (#143)
  • set String.hashIsZero to false when creating a new string in Java 17+ (#141)
  • add java.lang.reflect.Array.newArray(Ljava/lang/Class;I)Ljava/lang/Object; (#137)
  • add BaseType.class_name() and FieldType.class_name() (#136)
  • rename Value.to_object() -> Value.to_reference(). remove Value.try_to_object(). add Reference::TryInto<Object>, Value::TryInto<Object>, and Value::TryInto<Reference>. (#135)
  • correct checkcast/instanceof instructions for Object[] (#134)
  • implement Java ArithmeticException for / by zero (#133)
  • add java.lang.Class.getModifiers()I and jdk.internal.reflect.Reflection.getClassAccessFlags(Ljava/lang/Class;)I (#132)

🛠️ Other improvements

  • update to Rust 1.83 (#155)
  • rename Arguments.[pop|push]_object() -> Arguments.[pop|push]_reference() (#142)
  • create JavaError to convert Rust error to Java exceptions (#139)
  • order object field debug output (#138)