All Versions
17
Latest Version
Avg Release Cycle
69 days
Latest Release
487 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v0.19.0 Changes
January 24, 2021➕ Added
AutoArray
and genericget_array_elements()
, along withget_<type>_array_elements
helpers. (#287)size()
method toAutoArray
andAutoPrimitiveArray
. (#278 / #287)discard()
method toAutoArray
andAutoPrimitiveArray
. (#275 / #287)
🔄 Changed
- ✂ Removed AutoPrimitiveArray::commit(). (#290)
AutoByte/PrimitiveArray.commit()
now returnsResult
. (#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)
-
v0.18.0 Changes
September 23, 2020➕ 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)
🔄 Changed
- 🍱 ⚠️ Switch from
error-chain
tothiserror
, making all errorsSend
. Also, support all JNI errors
in thejni_error_code_to_result
function and add more information to theInvalidArgList
error. (#242)
-
v0.17.0 Changes
June 30, 2020➕ Added
- 🚑 Get/ReleaseByteArrayElements, and Get/ReleasePrimitiveArrayCritical. (#237)
-
v0.16.0 Changes
February 28, 2020🛠 Fixed
- 🍎 Java VM instantiation with some MacOS configurations. (#220, #229, #230).
-
v0.15.0 Changes
February 28, 2020➕ Added
- 👷 Ability to pass object wrappers that are convertible to
JObject
as arguments to the majority of JNIEnv methods without explicit conversion. (#213) JNIEnv#is_same_object
implementation. (#213)JNIEnv#register_native_methods
. (#214)- 👷 Conversion from
Into<JObject>
toJValue::Object
.
🛠 Fixed
- Passing
null
as class loader todefine_class
method now allowed according to the JNI specification. (#225)
- 👷 Ability to pass object wrappers that are convertible to
-
v0.14.0 Changes
October 31, 2019🔄 Changed
- 😌 Relaxed some lifetime restrictions in JNIEnv to support the case when method, field ids; and global references to classes have a different (larger) lifetime than JNIEnv. (#209)
-
v0.13.1 Changes
August 22, 2019🔄 Changed
- 📚 Various documentation improvements.
-
v0.13.0 Changes
July 05, 20190.13 brings major improvements in thread management, allowing to attach the native threads
permanently and safely;Executor
for extra convenience and safety; and other
👌 improvements and fixes.📚 ⚠️ If your code attaches native threads — make sure to check the updated documentation
📄 of JavaVM to learn about the new features!➕ Added
JavaVM::attach_current_thread_permanently
method, which attaches the current
thread and detaches it when the thread finishes. Daemon threads attached
withJavaVM::attach_current_thread_as_daemon
also automatically detach themselves
when finished. The number of currently attached threads may be acquired using
JavaVM::threads_attached
method. (#179, #180)Executor
— a simple thread attachment manager which helps to safely
🆓 execute a closure in attached thread context and to automatically free
created local references at closure exit. (#186)
🔄 Changed
- 0️⃣ The default JNI API version in
InitArgsBuilder
from V1 to V8. (#178) - Extended the lifetimes of
AutoLocal
to make it more flexible. (#190) - 0️⃣ Default exception type from checked
java.lang.Exception
to uncheckedjava.lang.RuntimeException
.
👻 It is used implicitly whenJNIEnv#throw
is invoked with exception message:
👻env.throw("Exception message")
; however, for efficiency reasons, it is recommended
to specify the exception type explicitly and usethrow_new
:
🆕env.throw_new(exception_type, "Exception message")
. (#194)
🛠 Fixed
-
v0.12.3 Changes
May 24, 2019 -
v0.12.2 Changes
May 02, 2019