Release Notes 1.0.x

1.0.7 V8 v9.7

  • Upgraded Node.js to v16.13.1 (2021-12-01)

  • Upgraded V8 to v9.7.106.18 (2021-12-14)

  • Relayed inner exception for JavetCompilationException and JavetExecutionException

  • Changed JNI library naming convention to be arch agnostic for Android.

  • Added getDetailedMessage(), getStack() and getContext() to JavetScriptingError

  • Updated all V8 values to take V8Runtime in the constructor

1.0.6 Mac OS (arm64)

  • Supported Mac OS (arm64)

  • Adjusted the priority of getter detection in JavetProxyConverter

  • Fixed a bug in custom lib loading

  • Added capacity to some V8 runtime observers for performance improvement

  • Added V8RuntimeObserverAverageCallbackContextCount, V8RuntimeObserverAverageReferenceCount and V8RuntimeObserverAverageV8ModuleCount

  • Refactored the doc for object converters

  • Added @V8Convert, @V8Property, @V8Function, @V8Getter, @V8Setter, @V8Allow and @V8Block to JavetProxyConverter

  • Added isSuppressingError() to IJavetLibLoadingListener

  • Added getV8SharedMemoryStatistics() to V8Host

1.0.5 Javet Core

  • Fixed crash issue for Android

  • Upgraded Javet engine pool to expose more statistics

  • Upgraded Javet engine pool scheduling algorithm

  • Started to release javet-core-x.x.x without JNI libraries

1.0.4 V8 9.6

  • Upgraded Node.js to v16.13.0 (2021-10-26)

  • Upgraded V8 to v9.6.180.8 (2021-10-25)

  • Added JavetBridgeConverter for completely bridging Java and JavaScript

  • Fixed a potential core dump issue caused by memory allocation failure in V8

  • Added error code 806 and JavetOutOfMemoryException

  • Upgraded JavetEnginePool to get away from busy-wait

  • Added hasPendingException(), hasPendingMessage(), hasScheduledException(), promoteScheduledException() and reportPendingMessages() to V8Runtime

1.0.3 Android ABI 21

  • Supported Android (arm, arm64, x86 and x86_64) ABI >= 21

  • Added addGCEpilogueCallback, addGCPrologueCallback, removeGCEpilogueCallback and removeGCPrologueCallback to V8Runtime

  • Enhanced JavetLibLoadingListener to take environment variables

1.0.2 First Time with Android

  • Supported Android (arm, arm64, x86 and x86_64) ABI >= 26

  • Upgraded Node.js to v16.12.0 (2021-10-20)

  • Upgraded V8 to v9.5.172.22 (2021-10-20)

  • Added V8Internal

  • Cleaned up V8Runtime internal API

  • Removed MethodHandle for Android compatibility

1.0.1 Custom Library Loading

  • Upgraded Node.js to v16.11.1 (2021-10-12)

  • Upgraded V8 to v9.4.146.19 (2021-10-01)

  • Upgraded callback function and proxy converter to implicitly cast more primitive types

  • Added IJavetLibLoadingListener and JavetLibLoadingListener to allow custom lib loading

  • Fixed a potential memory leak introduced mistakenly in v1.0.0

1.0.0 First Time with Node.js v16

  • Upgraded Node.js to v16.10.0 (2021-09-22)

  • Added V8RuntimeOptions and NodeRuntimeOptions

  • Added getV8HeapStatistics(), getV8HeapSpaceStatistics() and getV8SharedMemoryStatistics() to V8Runtime