Releases: JavaPerformance/jvmti
Releases · JavaPerformance/jvmti
v2.1.0
v2.0.2
Fix crates.io documentation link to point to docs.rs/jvmti-bindings.
v2.0.1
Fixed
- README and documentation alignment with 2.0 behavior (prelude-first, classfile parser, dynamic attach, and safety model).
v2.0.0
Breaking changes
jvmti_wrapperandjni_wrapperare now crate-private. Useenv::*for public wrappers.- Several JVMTI wrapper methods now return owned safe structs instead of raw JVMTI structs:
get_thread_info,get_thread_group_info,get_object_monitor_usage,get_all_stack_traces,
get_thread_list_stack_traces,get_extension_functions,get_extension_events,
get_local_variable_table.
Agent::field_accessandAgent::field_modificationnow takejfieldID(notjobject).JniEnvandGlobalRefare now explicitly!Send/!Syncto enforce thread-local safety.
Added
- Full classfile parser with all Java 8-27 attributes (
classfilemodule). Agent::on_attachandAgent_OnAttachexport.preludemodule for standard agent imports.- Safety, pitfalls, compatibility, and API surface documentation.
- Feature-gated advanced helpers (
advanced,heap-graph). - New examples (profiler, tracer, heap sampler) and agent starter template.
- Cross-platform CI (Linux/macOS/Windows) and benchmark harness.
Fixed
- Eliminated several JVMTI use-after-free hazards by deep-copying JVMTI-allocated buffers.
- Safer string handling in JNI wrappers (UTF-16 helpers).
- Error handling for invalid CString inputs in JVMTI wrappers.