Default trait implemented for JObject, JString, JClass, and JByteBuffer (#199)
Debug trait implemented for JavaVM, GlobalRef, GlobalRefGuard, JStaticMethodID and ReleaseMode (#345)
ReturnType for specifying object return types without a String allocation. (#329)
Changed
The release_string_utf_chars function has been marked as unsafe. (#334)
Mark JNIEnv::new_direct_byte_buffer as unsafe (#320)
JNIEnv::new_direct_byte_buffer now takes a raw pointer and size instead of a slice (#351 and #364)
JNIEnv::direct_buffer_address returns a raw pointer instead of a slice (#364)
The lifetime of AutoArray is no longer tied to the lifetime of a particular JNIEnv reference. (#302)
Relaxed lifetime restrictions on JNIEnv::new_local_ref. Now it can be used to create a local
reference from a global reference. (#301 / #319)
JMethodID and JStaticMethodID implement Send + Sync and no longer has a lifetime parameter, making method
IDs cacheable (with a documented 'Safety' note about ensuring they remain valid). (#346)
JFieldID and JStaticFieldID implement Send + Sync and no longer has a lifetime parameter, making field
IDs cacheable (with a documented 'Safety' note about ensuring they remain valid). (#346)
The call_*_method_unchecked functions now take jni:sys::jvalue arguments to avoid allocating
a Vec on each call to map + collect JValues as sys:jvalues (#329)
The From trait implementations converting jni_sys types like jobject to JObject have been replaced
with unsafe::from_raw functions and corresponding ::into_raw methods. Existing ::into_inner APIs were
renamed ::into_raw for symmetry. (#197)
The APIs JNIEnv::set_rust_field, JNIEnv::get_rust_field and JNIEnv::take_rust_field have been marked as unsafe (#219)
Default trait implemented for JObject, JString, JClass, and JByteBuffer (#199)
Debug trait implemented for JavaVM, GlobalRef, GlobalRefGuard, JStaticMethodID and ReleaseMode (#345)
ReturnType for specifying object return types without a String allocation. (#329)
Changed
The release_string_utf_chars function has been marked as unsafe. (#334)
Mark JNIEnv::new_direct_byte_buffer as unsafe (#320)
JNIEnv::new_direct_byte_buffer now takes a raw pointer and size instead of a slice (#351 and #364)
JNIEnv::direct_buffer_address returns a raw pointer instead of a slice (#364)
The lifetime of AutoArray is no longer tied to the lifetime of a particular JNIEnv reference. (#302)
Relaxed lifetime restrictions on JNIEnv::new_local_ref. Now it can be used to create a local
reference from a global reference. (#301 / #319)
JMethodID and JStaticMethodID implement Send + Sync and no longer has a lifetime parameter, making method
IDs cacheable (with a documented 'Safety' note about ensuring they remain valid). (#346)
JFieldID and JStaticFieldID implement Send + Sync and no longer has a lifetime parameter, making field
IDs cacheable (with a documented 'Safety' note about ensuring they remain valid). (#346)
The call_*_method_unchecked functions now take jni:sys::jvalue arguments to avoid allocating
a Vec on each call to map + collect JValues as sys:jvalues (#329)
The From trait implementations converting jni_sys types like jobject to JObject have been replaced
with unsafe::from_raw functions and corresponding ::into_raw methods. Existing ::into_inner APIs were
renamed ::into_raw for symmetry. (#197)
The APIs JNIEnv::set_rust_field, JNIEnv::get_rust_field and JNIEnv::take_rust_field have been marked as unsafe (#219)
[0.19.0] — 2021-01-24
Added
AutoArray and generic get_array_elements(), along with get_<type>_array_elements helpers. (#287)
size() method to AutoArray and AutoPrimitiveArray. (#278 / #287)
discard() method to AutoArray and AutoPrimitiveArray. (#275 / #287)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on jni to permit the latest version.
Release notes
Sourced from jni's releases.
Changelog
Sourced from jni's changelog.
... (truncated)
Commits
966cbad
Merge pull request #368 from rib/release-0.20be17720
Release 0.20.0f9e8315
Changelog: add links for all 0.20 issues / pull requests743109b
Merge pull request #366 from rib/allow-macos-cross-compile5225468
build: check CARGO_CFG_TARGET_OS to allow macos cross-compile1d0fb68
Merge pull request #367 from rib/unsafe-rust-fields7b96583
Mark all rust_field APIs asunsafe
9f13458
Merge pull request #365 from rib/no-field-id-lifetimesf66d6fe
JFieldID: remove lifetime and impl Send + Sync5c2e20e
Merge pull request #362 from rib/fix-unsound-jni-pointer-conversionsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)