JavascriptEngine
Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |
---|---|---|---|---|
November 1, 2023 | - | - | 1.0.0-beta01 | - |
Declaring dependencies
To add a dependency on JavascriptEngine, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.
Add the dependencies for the artifacts you need in the build.gradle
file for
your app or module:
Groovy
dependencies { implementation "androidx.javascriptengine:javascriptengine:1.0.0-beta01" }
Kotlin
dependencies { implementation("androidx.javascriptengine:javascriptengine:1.0.0-beta01") }
For more information about dependencies, see Add build dependencies.
Feedback
Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.
See the Issue Tracker documentation for more information.
Version 1.0
Version 1.0.0-beta01
November 1, 2023
androidx.javascriptengine:javascriptengine:1.0.0-beta01
is released. Version 1.0.0-beta01 contains these commits.
- No changes since
1.0.0-alpha07
Version 1.0.0-alpha07
October 18, 2023
androidx.javascriptengine:javascriptengine:1.0.0-alpha07
is released. Version 1.0.0-alpha07 contains these commits.
New Features
- New API introduced to allow apps to register callbacks to handle isolate crashes.
API Changes
- Rename
DEFAULT_MAX_HEAP_SIZE
toAUTOMATIC_MAX_HEAP_SIZE
. (I6d303) - Rename
FileDescriptorIoException
toDataInputException
. (Iba4eb) - Rename
DEFAULT_ISOLATE_HEAP_SIZE
toDEFAULT_MAX_HEAP_SIZE
. (Iaa16f) - Remove non-functional console
getSource
andgetTrace
methods. (I4b7a2) - Unhide
FileDescriptorIoException
(Ic44e6) - Allow apps to register callbacks to handle isolate crashes. (Iad25f)
Version 1.0.0-alpha06
October 4, 2023
androidx.javascriptengine:javascriptengine:1.0.0-alpha06
is released. Version 1.0.0-alpha06 contains these commits.
New Features
- New API introduced to evaluate JavaScript from a
ParcelFileDescriptor/AssetFileDescriptor
without the need to convert the source into a String.JavaScriptIsolate
class is made thread-safe.
API Changes
- Change
provideNamedData
to throw exception instead of returning false. (I8909a) - Adding APIs for evaluating JavaScript through Afds and Pfds (I03e3a)
- Make
MemoryLimitExceededException
andSandboxDeadException
subclassIsolateTerminatedException
(Icf359) - Removing public facing API
evaluateJavaScriptAsync(@NonNull byte[] code)
(I4b3ac)
Bug Fixes
- Make
JavaScriptIsolate
thread safe. (Ib28e0)
Version 1.0.0-alpha05
April 5, 2023
androidx.javascriptengine:javascriptengine:1.0.0-alpha05
is released. Version 1.0.0-alpha05 contains these commits.
API Changes
- Evaluation and result are no longer bound by Binder limits (I13b1d)
- Add callback for handling isolate console messages (I11725, Ic1c11)
Version 1.0.0-alpha04
February 22, 2023
androidx.javascriptengine:javascriptengine:1.0.0-alpha04
is released. Version 1.0.0-alpha04 contains these commits.
Bug Fixes
- Fixes a rare case of
NullPointerException
caused when the sandboxed process dies.
Version 1.0.0-alpha03
December 7, 2022
androidx.javascriptengine:javascriptengine:1.0.0-alpha03
is released. Version 1.0.0-alpha03 contains these commits.
New Features
- Contain out of memory crashes to the responsible isolate instead of crashing the entire sandbox. Once the isolate goes out of memory, it cannot be used for further evaluation.
- Currently, the resources that the isolate holds are not freed till the sandbox is closed. This resource freeing behavior might change in later versions of the library.
API Changes
- Throw
MemoryLimitExceededException
when an evaluation leads to isolate going out of memory.(I336ca)
Version 1.0.0-alpha02
October 5, 2022
androidx.javascriptengine:javascriptengine:1.0.0-alpha02
is released. Version 1.0.0-alpha02 contains these commits.
New Features
- Add
JavaScriptSandbox#isSupported
for checking whether the system supports JavaScript sandboxes.
API Changes
- Throw
SandboxUnsupportedException
whenJavaScriptSandbox
cannot be created due to lack of system support. (I0dcd6)
Version 1.0.0-alpha01
August 10, 2022
androidx.javascriptengine:javascriptengine:1.0.0-alpha01
is released. Version 1.0.0-alpha01 contains these commits.
New Features
We’ve added experimental support for
JavaScriptSandbox
andJavaScriptIsolate
to enable clients to evaluate JavaScript in a safe and restricted environment. This is an area of active development; the APIs are subject to change without notice.Please file feature requests and bugs our JavascriptEngine component!