ristretto

v0.26.0

v0.26.0 Aug 21 2025 at 22:12 UTC

Added

  • calculate clap styles at compile time instead of runtime
  • add startup tracing
  • add Java 25 support
  • add java/lang/invoke/MemberName.vmindex
  • optimize logging startup
  • implement invokedynamic call site cache
  • implement java/lang/Class.isRecord0()Z
  • add member handles
  • reduce memory allocations during primordial thread creation

Fixed

  • correct java.lang.Object.clone()
  • correct class name generation for anewarray instruction
  • never deep clone java.lang.Class objects
  • use private java.lang.Class constructor to create a Class object
  • update frame exception handling to create throwable using the current thread instead of the primordial thread
  • correct polymorphic calls to java.lang.invoke Holder inner classes
  • correct JVM initialization process to call java.lang.ref.Reference.()

Other

  • update CallSiteCache to use a DashMap instead of RwLock
  • [breaking] switch to OsStr/OsString and classpath handling
  • correct lint errors
  • remove superfluous Class arc usage
  • reduce memory allocations and locks when registering primitives with the boot class loader
  • replace Reference std::sync::RwLock with parking_lot::RwLock
  • update Cargo.toml dependencies
  • define MemberNameFlags::REFERENCE_KIND_MASK using MemberNameFlags::REFERENCE_KIND_SHIFT
  • update start tracing sum logic
  • correct lint errors
  • update compatibility tests