organization / jda-nas-rust

Rewrite JDA-NAS library with Rust
Apache License 2.0
4 stars 2 forks source link

Update jni requirement from 0.19.0 to 0.20.0 #10

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 2 years ago

Updates the requirements on jni to permit the latest version.

Release notes

Sourced from jni's releases.

Rust JNI 0.20.0

Added

  • 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)

New Contributors

Full Changelog: https://github.com/jni-rs/jni-rs/compare/v0.19.0...v0.20.0

Changelog

Sourced from jni's changelog.

[0.20.0] — 2022-10-17

Added

  • 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)

Changed

  • Removed AutoPrimitiveArray::commit(). (#290)
  • AutoByte/PrimitiveArray.commit() now returns Result. (#275)
  • Removed methods get/release/commit_byte/primitive_array_{elements|critical}. (#281)
  • Renamed methods get_auto_byte/long/primitive_array_{elements|critical} to get_byte/long/primitive_array_{elements|critical}. (#281)

[0.18.0] — 2020-09-23

Added

  • JNIEnv#define_unnamed_class function that allows loading a class without specifying its name. The name is inferred from the class data. (#246)
  • SetStatic<type>Field. (#248)
  • TryFrom<JValue> for types inside JValue variants (#264).
  • Implemented Copy for JNIEnv (#255).
  • repr(transparent) attribute to JavaVM struct (#259)

... (truncated)

Commits
  • 966cbad Merge pull request #368 from rib/release-0.20
  • be17720 Release 0.20.0
  • f9e8315 Changelog: add links for all 0.20 issues / pull requests
  • 743109b Merge pull request #366 from rib/allow-macos-cross-compile
  • 5225468 build: check CARGO_CFG_TARGET_OS to allow macos cross-compile
  • 1d0fb68 Merge pull request #367 from rib/unsafe-rust-fields
  • 7b96583 Mark all rust_field APIs as unsafe
  • 9f13458 Merge pull request #365 from rib/no-field-id-lifetimes
  • f66d6fe JFieldID: remove lifetime and impl Send + Sync
  • 5c2e20e Merge pull request #362 from rib/fix-unsound-jni-pointer-conversions
  • Additional commits viewable in compare view


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)