diff --git a/.github/workflows/android_node_build.yml b/.github/workflows/android_node_build.yml
index 3c2825a0..36be9bc6 100644
--- a/.github/workflows/android_node_build.yml
+++ b/.github/workflows/android_node_build.yml
@@ -9,7 +9,7 @@ on:
env:
JAVET_NODE_VERSION: 20.17.0
- JAVET_VERSION: 3.1.6
+ JAVET_VERSION: 3.1.7
ROOT: /home/runner/work/Javet
jobs:
diff --git a/.github/workflows/android_v8_build.yml b/.github/workflows/android_v8_build.yml
index 4cc8611b..8527a894 100644
--- a/.github/workflows/android_v8_build.yml
+++ b/.github/workflows/android_v8_build.yml
@@ -9,7 +9,7 @@ on:
env:
JAVET_V8_VERSION: 12.8.374.17
- JAVET_VERSION: 3.1.6
+ JAVET_VERSION: 3.1.7
ROOT: /home/runner/work/Javet
jobs:
diff --git a/.github/workflows/linux_build_artifact.yml b/.github/workflows/linux_build_artifact.yml
index 89570ee3..61dc1535 100644
--- a/.github/workflows/linux_build_artifact.yml
+++ b/.github/workflows/linux_build_artifact.yml
@@ -19,7 +19,7 @@ env:
DOCKERHUB_REPO_JAVET: ${{ secrets.DOCKERHUB_REPO_JAVET }}
JAVET_NODE_VERSION: 20.17.0
JAVET_V8_VERSION: 12.8.374.17
- JAVET_VERSION: 3.1.6
+ JAVET_VERSION: 3.1.7
jobs:
javet_linux_x86_64:
diff --git a/.github/workflows/linux_build_node_v8_image.yml b/.github/workflows/linux_build_node_v8_image.yml
index 4a22a4cf..c1307865 100644
--- a/.github/workflows/linux_build_node_v8_image.yml
+++ b/.github/workflows/linux_build_node_v8_image.yml
@@ -23,7 +23,7 @@ env:
DOCKERHUB_REPO_JAVET: ${{ secrets.DOCKERHUB_REPO_JAVET }}
JAVET_NODE_VERSION: 20.17.0
JAVET_V8_VERSION: 12.8.374.17
- JAVET_VERSION: 3.1.6
+ JAVET_VERSION: 3.1.7
# if we skip a job using a job level `if` condition, then any dependent jobs also don't run.
# we can skip a step of the job, using a step level `if` condition.
diff --git a/.github/workflows/linux_x86_64_build.yml b/.github/workflows/linux_x86_64_build.yml
index ca94665a..8331b32a 100644
--- a/.github/workflows/linux_x86_64_build.yml
+++ b/.github/workflows/linux_x86_64_build.yml
@@ -9,7 +9,7 @@ on:
env:
JAVET_NODE_VERSION: 20.17.0
JAVET_V8_VERSION: 12.8.374.17
- JAVET_VERSION: 3.1.6
+ JAVET_VERSION: 3.1.7
ROOT: /home/runner/work/Javet
jobs:
diff --git a/.github/workflows/macos_arm64_build.yml b/.github/workflows/macos_arm64_build.yml
index fc21d11c..ac10ec84 100644
--- a/.github/workflows/macos_arm64_build.yml
+++ b/.github/workflows/macos_arm64_build.yml
@@ -9,7 +9,7 @@ on:
env:
JAVET_NODE_VERSION: 20.17.0
JAVET_V8_VERSION: 12.8.374.17
- JAVET_VERSION: 3.1.6
+ JAVET_VERSION: 3.1.7
ROOT: /Users/runner/work/Javet
jobs:
diff --git a/.github/workflows/macos_x86_64_build.yml b/.github/workflows/macos_x86_64_build.yml
index b4ad6fc4..4851fd96 100644
--- a/.github/workflows/macos_x86_64_build.yml
+++ b/.github/workflows/macos_x86_64_build.yml
@@ -9,7 +9,7 @@ on:
env:
JAVET_NODE_VERSION: 20.17.0
JAVET_V8_VERSION: 12.8.374.17
- JAVET_VERSION: 3.1.6
+ JAVET_VERSION: 3.1.7
ROOT: /Users/runner/work/Javet
jobs:
diff --git a/README.rst b/README.rst
index d1c36a5c..f2ad5528 100644
--- a/README.rst
+++ b/README.rst
@@ -75,21 +75,21 @@ Maven
com.caoccao.javet
javet
- 3.1.6
+ 3.1.7
com.caoccao.javet
javet-linux-arm64
- 3.1.6
+ 3.1.7
com.caoccao.javet
javet-macos
- 3.1.6
+ 3.1.7
Gradle Kotlin DSL
@@ -97,22 +97,22 @@ Gradle Kotlin DSL
.. code-block:: kotlin
- implementation("com.caoccao.javet:javet:3.1.6") // Linux and Windows (x86_64)
- implementation("com.caoccao.javet:javet-linux-arm64:3.1.6") // Linux (arm64)
- implementation("com.caoccao.javet:javet-macos:3.1.6") // Mac OS (x86_64 and arm64)
- implementation("com.caoccao.javet:javet-android-node:3.1.6") // Android Node (arm, arm64, x86 and x86_64)
- implementation("com.caoccao.javet:javet-android-v8:3.1.6") // Android V8 (arm, arm64, x86 and x86_64)
+ implementation("com.caoccao.javet:javet:3.1.7") // Linux and Windows (x86_64)
+ implementation("com.caoccao.javet:javet-linux-arm64:3.1.7") // Linux (arm64)
+ implementation("com.caoccao.javet:javet-macos:3.1.7") // Mac OS (x86_64 and arm64)
+ implementation("com.caoccao.javet:javet-android-node:3.1.7") // Android Node (arm, arm64, x86 and x86_64)
+ implementation("com.caoccao.javet:javet-android-v8:3.1.7") // Android V8 (arm, arm64, x86 and x86_64)
Gradle Groovy DSL
^^^^^^^^^^^^^^^^^
.. code-block:: groovy
- implementation 'com.caoccao.javet:javet:3.1.6' // Linux and Windows (x86_64)
- implementation 'com.caoccao.javet:javet-linux-arm64:3.1.6' // Linux (arm64)
- implementation 'com.caoccao.javet:javet-macos:3.1.6' // Mac OS (x86_64 and arm64)
- implementation 'com.caoccao.javet:javet-android-node:3.1.6' // Android Node (arm, arm64, x86 and x86_64)
- implementation 'com.caoccao.javet:javet-android-v8:3.1.6' // Android V8 (arm, arm64, x86 and x86_64)
+ implementation 'com.caoccao.javet:javet:3.1.7' // Linux and Windows (x86_64)
+ implementation 'com.caoccao.javet:javet-linux-arm64:3.1.7' // Linux (arm64)
+ implementation 'com.caoccao.javet:javet-macos:3.1.7' // Mac OS (x86_64 and arm64)
+ implementation 'com.caoccao.javet:javet-android-node:3.1.7' // Android Node (arm, arm64, x86 and x86_64)
+ implementation 'com.caoccao.javet:javet-android-v8:3.1.7' // Android V8 (arm, arm64, x86 and x86_64)
Hello Javet
-----------
diff --git a/android/javet-android/build.gradle.kts b/android/javet-android/build.gradle.kts
index 072d93cb..7067053d 100644
--- a/android/javet-android/build.gradle.kts
+++ b/android/javet-android/build.gradle.kts
@@ -73,7 +73,7 @@ object Config {
const val ANDROIDX_TEST = "1.1.5"
const val APPCOMPAT = "1.3.1"
const val DESUGAR_JDK_LIBS = "2.0.4"
- const val JAVET = "3.1.6"
+ const val JAVET = "3.1.7"
const val JUNIT = "5.10.1"
}
}
diff --git a/android/javet-android/src/main/AndroidManifest.xml b/android/javet-android/src/main/AndroidManifest.xml
index 448b2d0a..e26a9a91 100644
--- a/android/javet-android/src/main/AndroidManifest.xml
+++ b/android/javet-android/src/main/AndroidManifest.xml
@@ -1,7 +1,7 @@
\ No newline at end of file
diff --git a/android/pom.xml b/android/pom.xml
index afe6191e..422ead19 100644
--- a/android/pom.xml
+++ b/android/pom.xml
@@ -3,7 +3,7 @@
com.caoccao.javet
javet-android
- 3.1.6
+ 3.1.7
javet
aar
Javet is Java + V8 (JAVa + V + EighT). It is an awesome way of embedding V8 in Java.
@@ -29,7 +29,7 @@
scm:git:git://github.com/caoccao/Javet.git
scm:git:git@github.com:caoccao/caoccao.git
https://github.com/caoccao/Javet
- 3.1.6
+ 3.1.7
diff --git a/build.gradle.kts b/build.gradle.kts
index 12dc1065..55f87615 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -72,7 +72,7 @@ object Config {
const val BYTE_BUDDY = "1.14.10"
const val JACKSON_DATABIND = "2.16.0"
const val JAVA_VERSION = "1.8"
- const val JAVET = "3.1.6"
+ const val JAVET = "3.1.7"
const val JETTY_WEBSOCKET = "9.4.53.v20231009"
const val JUNIT = "5.10.1"
}
diff --git a/cpp/build-android.sh b/cpp/build-android.sh
index 791ed4e7..9611c636 100755
--- a/cpp/build-android.sh
+++ b/cpp/build-android.sh
@@ -2,7 +2,7 @@
# Usage for V8: sh build-android.sh -DV8_DIR=${HOME}/v8 -DCMAKE_ANDROID_NDK=${HOME}/android -DCMAKE_ANDROID_ARCH=arm64
# Usage for Node: sh build-android.sh -DNODE_DIR=${HOME}/node -DCMAKE_ANDROID_NDK=${HOME}/android -DCMAKE_ANDROID_ARCH=arm64
-JAVET_VERSION=3.1.6
+JAVET_VERSION=3.1.7
rm -rf build_android
mkdir build_android
cd build_android
diff --git a/cpp/build-linux-arm64.sh b/cpp/build-linux-arm64.sh
index 3ce7cf31..1e951d62 100644
--- a/cpp/build-linux-arm64.sh
+++ b/cpp/build-linux-arm64.sh
@@ -2,7 +2,7 @@
# Usage for V8: sh build-linux-arm64.sh -DV8_DIR=${HOME}/v8
# Usage for Node: sh build-linux-arm64.sh -DNODE_DIR=${HOME}/node
-JAVET_VERSION=3.1.6
+JAVET_VERSION=3.1.7
rm -rf build_linux_arm64
mkdir build_linux_arm64
cd build_linux_arm64
diff --git a/cpp/build-linux-x86_64.sh b/cpp/build-linux-x86_64.sh
index 3545943e..48beaa8d 100644
--- a/cpp/build-linux-x86_64.sh
+++ b/cpp/build-linux-x86_64.sh
@@ -2,7 +2,7 @@
# Usage for V8: sh build-linux-x86_64.sh -DV8_DIR=${HOME}/v8
# Usage for Node: sh build-linux-x86_64.sh -DNODE_DIR=${HOME}/node
-JAVET_VERSION=3.1.6
+JAVET_VERSION=3.1.7
rm -rf build_linux_x86_64
mkdir build_linux_x86_64
cd build_linux_x86_64
diff --git a/cpp/build-macos.sh b/cpp/build-macos.sh
index 1e8ed4c1..031745d0 100755
--- a/cpp/build-macos.sh
+++ b/cpp/build-macos.sh
@@ -2,7 +2,7 @@
# Usage for V8: sh build-macos.sh -DV8_DIR=${HOME}/v8
# Usage for Node: sh build-macos.sh -DNODE_DIR=${HOME}/node
-JAVET_VERSION=3.1.6
+JAVET_VERSION=3.1.7
rm -rf build_macos
mkdir build_macos
cd build_macos
diff --git a/cpp/build-windows.cmd b/cpp/build-windows.cmd
index 03b88865..e12b8ae0 100644
--- a/cpp/build-windows.cmd
+++ b/cpp/build-windows.cmd
@@ -1,7 +1,7 @@
@echo off
REM Usage for V8: build -DV8_DIR=C:\v8
REM Usage for Node: build -DNODE_DIR=C:\node
-SET JAVET_VERSION=3.1.6
+SET JAVET_VERSION=3.1.7
rd /s/q build_windows
mkdir build_windows
cd build_windows
diff --git a/cpp/jni/javet_resource_node.rc b/cpp/jni/javet_resource_node.rc
index 61506ad4..814c1bf4 100644
--- a/cpp/jni/javet_resource_node.rc
+++ b/cpp/jni/javet_resource_node.rc
@@ -61,8 +61,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,1,6,0
- PRODUCTVERSION 3,1,6,0
+ FILEVERSION 3,1,7,0
+ PRODUCTVERSION 3,1,7,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -79,12 +79,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "caoccao.com"
VALUE "FileDescription", "caoccao.com"
- VALUE "FileVersion", "3.1.6.0"
- VALUE "InternalName", "libjavet-node-windows-x86_64.v.3.1.6.dll"
+ VALUE "FileVersion", "3.1.7.0"
+ VALUE "InternalName", "libjavet-node-windows-x86_64.v.3.1.7.dll"
VALUE "LegalCopyright", "Copyright (c) 2021-2024."
- VALUE "OriginalFilename", "libjavet-node-windows-x86_64.v.3.1.6.dll"
+ VALUE "OriginalFilename", "libjavet-node-windows-x86_64.v.3.1.7.dll"
VALUE "ProductName", "Javet Windows"
- VALUE "ProductVersion", "3.1.6.0"
+ VALUE "ProductVersion", "3.1.7.0"
END
END
BLOCK "VarFileInfo"
diff --git a/cpp/jni/javet_resource_v8.rc b/cpp/jni/javet_resource_v8.rc
index 89d8274a..08546061 100644
--- a/cpp/jni/javet_resource_v8.rc
+++ b/cpp/jni/javet_resource_v8.rc
@@ -61,8 +61,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 3,1,6,0
- PRODUCTVERSION 3,1,6,0
+ FILEVERSION 3,1,7,0
+ PRODUCTVERSION 3,1,7,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -79,12 +79,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "caoccao.com"
VALUE "FileDescription", "caoccao.com"
- VALUE "FileVersion", "3.1.6.0"
- VALUE "InternalName", "libjavet-v8-windows-x86_64.v.3.1.6.dll"
+ VALUE "FileVersion", "3.1.7.0"
+ VALUE "InternalName", "libjavet-v8-windows-x86_64.v.3.1.7.dll"
VALUE "LegalCopyright", "Copyright (c) 2021-2024."
- VALUE "OriginalFilename", "libjavet-v8-windows-x86_64.v.3.1.6.dll"
+ VALUE "OriginalFilename", "libjavet-v8-windows-x86_64.v.3.1.7.dll"
VALUE "ProductName", "Javet Windows"
- VALUE "ProductVersion", "3.1.6.0"
+ VALUE "ProductVersion", "3.1.7.0"
END
END
BLOCK "VarFileInfo"
diff --git a/docker/android/base.Dockerfile b/docker/android/base.Dockerfile
index 949711d7..feb8e4b2 100644
--- a/docker/android/base.Dockerfile
+++ b/docker/android/base.Dockerfile
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Usage: docker build -t sjtucaocao/javet-android:3.1.6 -f docker/android/base.Dockerfile .
+# Usage: docker build -t sjtucaocao/javet-android:3.1.7 -f docker/android/base.Dockerfile .
ARG JAVET_V8_VERSION=12.8.374.17
diff --git a/docker/android/build.Dockerfile b/docker/android/build.Dockerfile
index 34fe666e..af814f9d 100644
--- a/docker/android/build.Dockerfile
+++ b/docker/android/build.Dockerfile
@@ -15,7 +15,7 @@
# Usage: docker build -t javet-android:local -f docker/android/build.Dockerfile .
-FROM sjtucaocao/javet-android:3.1.6
+FROM sjtucaocao/javet-android:3.1.7
WORKDIR /
# Copy Javet
diff --git a/docker/linux-arm64/base_all_in_one.Dockerfile b/docker/linux-arm64/base_all_in_one.Dockerfile
index 0d778d3c..ad644a65 100644
--- a/docker/linux-arm64/base_all_in_one.Dockerfile
+++ b/docker/linux-arm64/base_all_in_one.Dockerfile
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Usage: docker build -t sjtucaocao/javet-arm64:3.1.6 -f docker/linux-arm64/base_all_in_one.Dockerfile .
+# Usage: docker build -t sjtucaocao/javet-arm64:3.1.7 -f docker/linux-arm64/base_all_in_one.Dockerfile .
ARG JAVET_NODE_VERSION=18.15.0
ARG JAVET_V8_VERSION=12.8.374.17
diff --git a/docker/linux-arm64/base_gradle.Dockerfile b/docker/linux-arm64/base_gradle.Dockerfile
index 0f82c5da..8927e28f 100644
--- a/docker/linux-arm64/base_gradle.Dockerfile
+++ b/docker/linux-arm64/base_gradle.Dockerfile
@@ -14,7 +14,7 @@
# limitations under the License.
# Usage: docker build \
-# -t sjtucaocao/javet:arm64-3.1.6 \
+# -t sjtucaocao/javet:arm64-3.1.7 \
# --build-arg JAVET_REPO=sjtucaocao/javet \
# -f docker/linux-arm64/base_gradle.Dockerfile .
diff --git a/docker/linux-arm64/build_artifact.Dockerfile b/docker/linux-arm64/build_artifact.Dockerfile
index 63c7fe8d..9df9c126 100644
--- a/docker/linux-arm64/build_artifact.Dockerfile
+++ b/docker/linux-arm64/build_artifact.Dockerfile
@@ -18,13 +18,13 @@
# --build-arg JAVET_REPO=sjtucaocao/javet \
# --build-arg JAVET_NODE_VERSION=18.12.1 \
# --build-arg JAVET_V8_VERSION=10.8.168.20 \
-# --build-arg JAVET_VERSION=3.1.6 \
+# --build-arg JAVET_VERSION=3.1.7 \
# -f docker/linux-arm64/build_artifact.Dockerfile .
ARG JAVET_REPO=sjtucaocao/javet
ARG JAVET_NODE_VERSION=18.12.1
ARG JAVET_V8_VERSION=10.8.168.20
-ARG JAVET_VERSION=3.1.6
+ARG JAVET_VERSION=3.1.7
FROM ${JAVET_REPO}:arm64-base-node_${JAVET_NODE_VERSION} as base-node
diff --git a/docker/linux-x86_64/base_all_in_one.Dockerfile b/docker/linux-x86_64/base_all_in_one.Dockerfile
index 76b89643..42816a10 100644
--- a/docker/linux-x86_64/base_all_in_one.Dockerfile
+++ b/docker/linux-x86_64/base_all_in_one.Dockerfile
@@ -13,7 +13,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Usage: docker build -t sjtucaocao/javet:3.1.6 -f docker/linux-x86_64/base_all_in_one.Dockerfile .
+# Usage: docker build -t sjtucaocao/javet:3.1.7 -f docker/linux-x86_64/base_all_in_one.Dockerfile .
FROM ubuntu:20.04
WORKDIR /
diff --git a/docker/linux-x86_64/base_gradle.Dockerfile b/docker/linux-x86_64/base_gradle.Dockerfile
index adc4010c..414f696d 100644
--- a/docker/linux-x86_64/base_gradle.Dockerfile
+++ b/docker/linux-x86_64/base_gradle.Dockerfile
@@ -14,7 +14,7 @@
# limitations under the License.
# Usage: docker build \
-# -t sjtucaocao/javet:x86_64-3.1.6 \
+# -t sjtucaocao/javet:x86_64-3.1.7 \
# --build-arg JAVET_REPO=sjtucaocao/javet \
# -f docker/linux-x86_64/base_gradle.Dockerfile .
diff --git a/docker/linux-x86_64/build.env b/docker/linux-x86_64/build.env
index fe042c15..b7d73927 100644
--- a/docker/linux-x86_64/build.env
+++ b/docker/linux-x86_64/build.env
@@ -1,4 +1,4 @@
JAVET_REPO=sjtucaocao/javet
-JAVET_VERSION=3.1.6
+JAVET_VERSION=3.1.7
JAVET_V8_VERSION=12.8.374.17
JAVET_NODE_VERSION=20.17.0
diff --git a/docker/linux-x86_64/build_all_in_one.Dockerfile b/docker/linux-x86_64/build_all_in_one.Dockerfile
index c56bf39b..7a085dcd 100644
--- a/docker/linux-x86_64/build_all_in_one.Dockerfile
+++ b/docker/linux-x86_64/build_all_in_one.Dockerfile
@@ -15,7 +15,7 @@
# Usage: docker build -t javet:local -f docker/linux-x86_64/build_all_in_one.Dockerfile .
-FROM sjtucaocao/javet:3.1.6
+FROM sjtucaocao/javet:3.1.7
WORKDIR /
# Copy Javet
diff --git a/docker/linux-x86_64/build_artifact.Dockerfile b/docker/linux-x86_64/build_artifact.Dockerfile
index 5bf6eeb0..1c46a24c 100644
--- a/docker/linux-x86_64/build_artifact.Dockerfile
+++ b/docker/linux-x86_64/build_artifact.Dockerfile
@@ -18,13 +18,13 @@
# --build-arg JAVET_REPO=sjtucaocao/javet \
# --build-arg JAVET_NODE_VERSION=18.12.1 \
# --build-arg JAVET_V8_VERSION=10.8.168.20 \
-# --build-arg JAVET_VERSION=3.1.6 \
+# --build-arg JAVET_VERSION=3.1.7 \
# -f docker/linux-x86_64/build_artifact.Dockerfile .
ARG JAVET_REPO=sjtucaocao/javet
ARG JAVET_NODE_VERSION=18.12.1
ARG JAVET_V8_VERSION=10.8.168.20
-ARG JAVET_VERSION=3.1.6
+ARG JAVET_VERSION=3.1.7
FROM ${JAVET_REPO}:x86_64-base-node_${JAVET_NODE_VERSION} as base-v8
diff --git a/docker/windows-x86_64/base.Dockerfile b/docker/windows-x86_64/base.Dockerfile
index c2521bc2..61470a8c 100644
--- a/docker/windows-x86_64/base.Dockerfile
+++ b/docker/windows-x86_64/base.Dockerfile
@@ -29,7 +29,7 @@
# The following dockerfile has been out of date because it still uses
# Visual Studio 2019 Community. Please contact the maintainer if you want an upgrade.
-# Usage: docker build -t sjtucaocao/javet-windows:3.1.6 -m 4G -f docker/windows-x86_64/base.Dockerfile .
+# Usage: docker build -t sjtucaocao/javet-windows:3.1.7 -m 4G -f docker/windows-x86_64/base.Dockerfile .
ARG JAVET_NODE_VERSION=20.17.0
ARG JAVET_V8_VERSION=12.8.374.17
diff --git a/docker/windows-x86_64/build.Dockerfile b/docker/windows-x86_64/build.Dockerfile
index cdd773e0..0ed1b1ed 100644
--- a/docker/windows-x86_64/build.Dockerfile
+++ b/docker/windows-x86_64/build.Dockerfile
@@ -15,7 +15,7 @@
# Usage: docker build -t javet:local -f docker/windows-x86_64/build.Dockerfile .
-FROM sjtucaocao/javet-windows:3.1.6
+FROM sjtucaocao/javet-windows:3.1.7
SHELL ["cmd", "/S", "/C"]
WORKDIR /
diff --git a/docs/conf.py b/docs/conf.py
index 0888e661..22a027af 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -22,7 +22,7 @@
author = 'Sam Cao'
# The full version, including alpha/beta/rc tags
-release = '3.1.6'
+release = '3.1.7'
# -- General configuration ---------------------------------------------------
diff --git a/docs/release_notes/release_notes_3_1.rst b/docs/release_notes/release_notes_3_1.rst
index b4cef102..a8fdc22d 100644
--- a/docs/release_notes/release_notes_3_1.rst
+++ b/docs/release_notes/release_notes_3_1.rst
@@ -2,6 +2,11 @@
Release Notes 3.1.x
===================
+3.1.7
+-----
+
+* Fixed race condition in ``V8Guard``
+
3.1.6 Node.js v20.17.0
----------------------
diff --git a/docs/tutorial/basic/installation.rst b/docs/tutorial/basic/installation.rst
index b5964af6..60e50ad2 100644
--- a/docs/tutorial/basic/installation.rst
+++ b/docs/tutorial/basic/installation.rst
@@ -16,21 +16,21 @@ Maven
com.caoccao.javet
javet
- 3.1.6
+ 3.1.7
com.caoccao.javet
javet-linux-arm64
- 3.1.6
+ 3.1.7
com.caoccao.javet
javet-macos
- 3.1.6
+ 3.1.7
.. tab:: Complete
@@ -38,7 +38,7 @@ Maven
.. code-block:: xml
- 3.1.6
+ 3.1.7
@@ -115,11 +115,11 @@ Gradle Kotlin DSL
.. code-block:: kotlin
- implementation("com.caoccao.javet:javet:3.1.6") // Linux and Windows (x86_64)
- implementation("com.caoccao.javet:javet-linux-arm64:3.1.6") // Linux (arm64)
- implementation("com.caoccao.javet:javet-macos:3.1.6") // Mac OS (x86_64 and arm64)
- implementation("com.caoccao.javet:javet-android-node:3.1.6") // Android Node (arm, arm64, x86 and x86_64)
- implementation("com.caoccao.javet:javet-android-v8:3.1.6") // Android V8 (arm, arm64, x86 and x86_64)
+ implementation("com.caoccao.javet:javet:3.1.7") // Linux and Windows (x86_64)
+ implementation("com.caoccao.javet:javet-linux-arm64:3.1.7") // Linux (arm64)
+ implementation("com.caoccao.javet:javet-macos:3.1.7") // Mac OS (x86_64 and arm64)
+ implementation("com.caoccao.javet:javet-android-node:3.1.7") // Android Node (arm, arm64, x86 and x86_64)
+ implementation("com.caoccao.javet:javet-android-v8:3.1.7") // Android V8 (arm, arm64, x86 and x86_64)
.. tab:: Complete
@@ -130,11 +130,11 @@ Gradle Kotlin DSL
val os = OperatingSystem.current()
val cpuArch = System.getProperty("os.arch")
if (os.isMacOsX) {
- implementation("com.caoccao.javet:javet:3.1.6")
+ implementation("com.caoccao.javet:javet:3.1.7")
} else if (os.isLinux && (cpuArch == "aarch64" || cpuArch == "arm64")) {
- implementation("com.caoccao.javet:javet-linux-arm64:3.1.6")
+ implementation("com.caoccao.javet:javet-linux-arm64:3.1.7")
} else {
- implementation("com.caoccao.javet:javet-macos:3.1.6")
+ implementation("com.caoccao.javet:javet-macos:3.1.7")
}
Gradle Groovy DSL
@@ -142,11 +142,11 @@ Gradle Groovy DSL
.. code-block:: groovy
- implementation 'com.caoccao.javet:javet:3.1.6' // Linux and Windows (x86_64)
- implementation 'com.caoccao.javet:javet-linux-arm64:3.1.6' // Linux (arm64)
- implementation 'com.caoccao.javet:javet-macos:3.1.6' // Mac OS (x86_64 and arm64)
- implementation 'com.caoccao.javet:javet-android-node:3.1.6' // Android Node (arm, arm64, x86 and x86_64)
- implementation 'com.caoccao.javet:javet-android-v8:3.1.6' // Android V8 (arm, arm64, x86 and x86_64)
+ implementation 'com.caoccao.javet:javet:3.1.7' // Linux and Windows (x86_64)
+ implementation 'com.caoccao.javet:javet-linux-arm64:3.1.7' // Linux (arm64)
+ implementation 'com.caoccao.javet:javet-macos:3.1.7' // Mac OS (x86_64 and arm64)
+ implementation 'com.caoccao.javet:javet-android-node:3.1.7' // Android Node (arm, arm64, x86 and x86_64)
+ implementation 'com.caoccao.javet:javet-android-v8:3.1.7' // Android V8 (arm, arm64, x86 and x86_64)
OS Compatibility
================
diff --git a/scripts/node/javet-rebuild/rebuild.cmd b/scripts/node/javet-rebuild/rebuild.cmd
index ff47572a..b0a0d570 100644
--- a/scripts/node/javet-rebuild/rebuild.cmd
+++ b/scripts/node/javet-rebuild/rebuild.cmd
@@ -1,5 +1,5 @@
@echo off
-SET NODE_LIB_FILE="..\..\..\..\..\..\build\libs\libjavet-node-windows-x86_64.v.3.1.6.lib"
+SET NODE_LIB_FILE="..\..\..\..\..\..\build\libs\libjavet-node-windows-x86_64.v.3.1.7.lib"
cd %NODE_MODULE_ROOT%
call node-gyp clean
call node-gyp configure --module_name=%NODE_MODULE_NAME% --module_path=%NODE_MODULE_PATH% --node_lib_file=%NODE_LIB_FILE%
diff --git a/scripts/node/javet-rebuild/rebuild.sh b/scripts/node/javet-rebuild/rebuild.sh
index 58f04151..8195394b 100755
--- a/scripts/node/javet-rebuild/rebuild.sh
+++ b/scripts/node/javet-rebuild/rebuild.sh
@@ -1 +1 @@
-patchelf --add-needed libjavet-node-linux-x86_64.v.3.1.6.so ${NODE_MODULE_FILE}
+patchelf --add-needed libjavet-node-linux-x86_64.v.3.1.7.so ${NODE_MODULE_FILE}
diff --git a/scripts/python/change_javet_version.py b/scripts/python/change_javet_version.py
index b5111c14..1a7a1d3f 100644
--- a/scripts/python/change_javet_version.py
+++ b/scripts/python/change_javet_version.py
@@ -186,7 +186,7 @@ def _update(self, relative_file_path: str, line_separator: str, *patterns: list)
logging.info(' Updated.')
def main():
- change_javet_version = ChangeJavetVersion('3.1.6')
+ change_javet_version = ChangeJavetVersion('3.1.7')
change_javet_version.update()
return 0
diff --git a/src/main/java/com/caoccao/javet/interop/V8Guard.java b/src/main/java/com/caoccao/javet/interop/V8Guard.java
index 69920244..4384fdcf 100644
--- a/src/main/java/com/caoccao/javet/interop/V8Guard.java
+++ b/src/main/java/com/caoccao/javet/interop/V8Guard.java
@@ -83,9 +83,11 @@ public final class V8Guard implements IJavetClosable {
*/
public void cancel() {
if (!isClosed()) {
- PriorityBlockingQueue v8GuardQueue = v8Runtime.getV8Host().getV8GuardDaemon().getV8GuardQueue();
- boolean ignored = v8GuardQueue.remove(this);
closed = true;
+ synchronized (v8Runtime.getCloseLock()) {
+ PriorityBlockingQueue v8GuardQueue = v8Runtime.getV8Host().getV8GuardDaemon().getV8GuardQueue();
+ boolean ignored = v8GuardQueue.remove(this);
+ }
}
}
diff --git a/src/main/java/com/caoccao/javet/interop/V8Host.java b/src/main/java/com/caoccao/javet/interop/V8Host.java
index d306ff10..4b57cb25 100644
--- a/src/main/java/com/caoccao/javet/interop/V8Host.java
+++ b/src/main/java/com/caoccao/javet/interop/V8Host.java
@@ -573,7 +573,7 @@ public void run() {
if (!(!v8Guard.isDebugModeEnabled() && IS_IN_DEBUG_MODE)) {
V8Runtime v8Runtime = v8Guard.getV8Runtime();
synchronized (v8Runtime.getCloseLock()) {
- if (!v8Runtime.isClosed() && v8Runtime.isInUse()) {
+ if (!v8Guard.isClosed() && !v8Runtime.isClosed() && v8Runtime.isInUse()) {
v8Runtime.terminateExecution();
v8Runtime.getLogger().logWarn(
"Execution was terminated after {0}ms.",
@@ -582,9 +582,16 @@ public void run() {
}
}
} else {
- v8GuardQueue.add(v8Guard);
- long sleepMillis = Math.min(v8Guard.getEndTimeMillis() - now, sleepIntervalMillis);
- TimeUnit.MILLISECONDS.sleep(sleepMillis);
+ V8Runtime v8Runtime = v8Guard.getV8Runtime();
+ synchronized (v8Runtime.getCloseLock()) {
+ if (!v8Guard.isClosed() && !v8Runtime.isClosed()) {
+ v8GuardQueue.add(v8Guard);
+ long sleepMillis = Math.min(v8Guard.getEndTimeMillis() - now, sleepIntervalMillis);
+ if (sleepMillis > 0) {
+ TimeUnit.MILLISECONDS.sleep(sleepMillis);
+ }
+ }
+ }
}
} catch (InterruptedException ignored) {
break;
diff --git a/src/main/java/com/caoccao/javet/interop/loader/JavetLibLoader.java b/src/main/java/com/caoccao/javet/interop/loader/JavetLibLoader.java
index b9e78086..3d636b6f 100644
--- a/src/main/java/com/caoccao/javet/interop/loader/JavetLibLoader.java
+++ b/src/main/java/com/caoccao/javet/interop/loader/JavetLibLoader.java
@@ -45,7 +45,7 @@ public final class JavetLibLoader {
*
* @since 0.8.0
*/
- public static final String LIB_VERSION = "3.1.6";
+ public static final String LIB_VERSION = "3.1.7";
private static final String ANDROID_ABI_ARM = "armeabi-v7a";
private static final String ANDROID_ABI_ARM64 = "arm64-v8a";
private static final String ANDROID_ABI_X86 = "x86";