diff --git a/.vscode/settings.json b/.vscode/settings.json
deleted file mode 100644
index 6f3a291..0000000
--- a/.vscode/settings.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "liveServer.settings.port": 5501
-}
\ No newline at end of file
diff --git a/_config.yml b/_config.yml
index e0682a9..79d6d1f 100644
--- a/_config.yml
+++ b/_config.yml
@@ -7,9 +7,8 @@ docHomePage: /capture-vision/docs/web/programming/javascript/
dcvb_introduction: /capture-vision/docs/core/introduction/
dcvb_architecture: /capture-vision/docs/core/architecture/
-dcvb_parameter: /capture-vision/docs/core/parameters/
+dcvb_parameters: /capture-vision/docs/core/parameters/reference/
dcvb_parameterFile: /capture-vision/docs/core/parameters/file/
-dcvb_parameterReference: /capture-vision/docs/core/parameters/reference/
dcvb_enums: /capture-vision/docs/core/enums/
license_activation: /capture-vision/docs/core/license/
diff --git a/_data/product_version.yml b/_data/product_version.yml
index 0665732..d585380 100644
--- a/_data/product_version.yml
+++ b/_data/product_version.yml
@@ -1,7 +1,7 @@
useGroupedVersion: true
version_info_list:
- - value: latest version(2.4.2000)
+ - value: latest version(2.4.2100)
- value: 2.x
child:
- 2.2.3000
\ No newline at end of file
diff --git a/_includes/sidelist-programming/programming-js.html b/_includes/sidelist-programming/programming-js.html
index 6285e6d..a240f58 100644
--- a/_includes/sidelist-programming/programming-js.html
+++ b/_includes/sidelist-programming/programming-js.html
@@ -1464,4 +1464,4 @@
-->
-
License Initialization
+License Initialization
\ No newline at end of file
diff --git a/_includes/sidelist-programming/sidelist-parameter-reference.html b/_includes/sidelist-programming/sidelist-parameter-reference.html
index a798c69..cd866f4 100644
--- a/_includes/sidelist-programming/sidelist-parameter-reference.html
+++ b/_includes/sidelist-programming/sidelist-parameter-reference.html
@@ -1,5 +1,5 @@
- Parameter Reference
diff --git a/assets/js/dcvWebVersionSearch.json b/assets/js/dcvWebVersionSearch.json
index 03c60f8..5556422 100644
--- a/assets/js/dcvWebVersionSearch.json
+++ b/assets/js/dcvWebVersionSearch.json
@@ -1,8 +1,8 @@
[
{
- "version": "2.4.2000",
+ "version": "2.4.2100",
"matchVersion": {
- "javascript": "10.4.2000"
+ "javascript": "10.4.2001"
}
},
{
diff --git a/programming/javascript/api-reference/capture-vision-router/multiple-image-processing-v2.0.10.md b/programming/javascript/api-reference/capture-vision-router/multiple-image-processing-v2.0.10.md
index ca2b980..fd9ac12 100644
--- a/programming/javascript/api-reference/capture-vision-router/multiple-image-processing-v2.0.10.md
+++ b/programming/javascript/api-reference/capture-vision-router/multiple-image-processing-v2.0.10.md
@@ -327,7 +327,7 @@ startCapturing(templateName?: string): Promise;
**Parameters**
-`templateName`: specifies a "CaptureVisionTemplate" to use. If not specified, "Default" is used. There are two types of CaptureVisionTemplates: the [preset ones](./preset-templates.md) which come with the SDK and the custom ones that get initialized when the user calls [initSettings](./settings.md#initsettings). Please be aware that the [preset CaptureVisionTemplates](./preset-templates.md) will be overwritten should the user calls [initSettings](./settings.md#initsettings) and pass his own settings.
+`templateName`: specifies a "CaptureVisionTemplate" to use. If not specified, "Default" is used. There are two types of CaptureVisionTemplates: the [preset ones](./preset-templates.md) which come with the SDK and the custom ones that get initialized when the user calls [initSettings](./settings.md#initsettings). Please be aware that the [preset CaptureVisionTemplates](./preset-templates.md) will be overwritten if the user calls [initSettings](./settings.md#initsettings) and passes customized settings.
**Return Value**
diff --git a/programming/javascript/api-reference/capture-vision-router/multiple-image-processing.md b/programming/javascript/api-reference/capture-vision-router/multiple-image-processing.md
index 710abe9..766dbd5 100644
--- a/programming/javascript/api-reference/capture-vision-router/multiple-image-processing.md
+++ b/programming/javascript/api-reference/capture-vision-router/multiple-image-processing.md
@@ -338,11 +338,11 @@ startCapturing(templateName?: string): Promise;
**Parameters**
-`templateName`: specifies a "CaptureVisionTemplate" to use. If not specified, "Default" is used.
+`templateName`: specifies a "CaptureVisionTemplate" to use. If not specified, the preset template named 'Default' will be used.
There are two types of CaptureVisionTemplates: the [preset ones](./preset-templates.md) which come with the SDK and the custom ones that get initialized when the user calls [initSettings](./settings.md#initsettings).
-Please be aware that the [preset CaptureVisionTemplates](./preset-templates.md) will be overwritten should the user calls [initSettings](./settings.md#initsettings) and pass his own settings.
+Please be aware that the [preset CaptureVisionTemplates](./preset-templates.md) will be overwritten if the user calls [initSettings](./settings.md#initsettings) and passes customized settings.
**Return Value**
diff --git a/programming/javascript/api-reference/capture-vision-router/single-image-processing-v2.0.10.md b/programming/javascript/api-reference/capture-vision-router/single-image-processing-v2.0.10.md
index 017bf58..5b158e6 100644
--- a/programming/javascript/api-reference/capture-vision-router/single-image-processing-v2.0.10.md
+++ b/programming/javascript/api-reference/capture-vision-router/single-image-processing-v2.0.10.md
@@ -29,7 +29,7 @@ capture(imageOrFile: Core.DSImageData | string | Blob | HTMLImageElement | HTMLC
`imageOrFile`: specifies the image or file to be processed. It can be the image itself in the form of `DSImageData`, the path of the image/file or the file itself in the form of `blob`, `HTMLImageElement` or `HTMLCanvasElement`.
-`templateName`: specifies a "CaptureVisionTemplate" to use. If not specified, "Default" is used. There are two types of CaptureVisionTemplates: the [preset ones](./preset-templates.md) which come with the SDK and the custom ones that get initialized when the user calls [initSettings](./settings.md#initsettings). Please be aware that the [preset CaptureVisionTemplates](./preset-templates.md) will be overwritten should the user calls [initSettings](./settings.md#initsettings) and pass his own settings.
+`templateName`: specifies a "CaptureVisionTemplate" to use. If not specified, "Default" is used. There are two types of CaptureVisionTemplates: the [preset ones](./preset-templates.md) which come with the SDK and the custom ones that get initialized when the user calls [initSettings](./settings.md#initsettings). Please be aware that the [preset CaptureVisionTemplates](./preset-templates.md) will be overwritten if the user calls [initSettings](./settings.md#initsettings) and passes customized settings.
**Return value**
diff --git a/programming/javascript/api-reference/capture-vision-router/single-image-processing.md b/programming/javascript/api-reference/capture-vision-router/single-image-processing.md
index 67dfb1e..c3577fa 100644
--- a/programming/javascript/api-reference/capture-vision-router/single-image-processing.md
+++ b/programming/javascript/api-reference/capture-vision-router/single-image-processing.md
@@ -33,7 +33,7 @@ capture(imageOrFile: Blob | HTMLImageElement | HTMLCanvasElement | HTMLVideoElem
There are two types of CaptureVisionTemplates: the [preset ones](./preset-templates.md) which come with the SDK and the custom ones that get initialized when the user calls [initSettings](./settings.md#initsettings).
-Please be aware that the [preset CaptureVisionTemplates](./preset-templates.md) will be overwritten should the user calls [initSettings](./settings.md#initsettings) and pass his own settings.
+Please be aware that the [preset CaptureVisionTemplates](./preset-templates.md) will be overwritten if the user calls [initSettings](./settings.md#initsettings) and passes customized settings.
**Return value**
diff --git a/programming/javascript/api-reference/core/core-module-class-v3.2.30.md b/programming/javascript/api-reference/core/core-module-class-v3.2.30.md
new file mode 100644
index 0000000..c82a065
--- /dev/null
+++ b/programming/javascript/api-reference/core/core-module-class-v3.2.30.md
@@ -0,0 +1,241 @@
+---
+layout: default-layout
+title: API Reference Index - CoreModule Class in JavaScript
+description: This page introduces the API for the CoreModule Class.
+keywords: Core, CoreModule, api reference, javascript, js
+needAutoGenerateSidebar: true
+needGenerateH3Content: true
+noTitleIndex: true
+---
+
+
+# CoreModule Class
+
+The CoreModule class defines common functionality in the Core module.
+
+| Name | Description |
+| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
+| `static` [detectEnvironment()](#detectenvironment) | Detects and returns information about the current runtime environment. |
+| `static` [engineResourcePaths](#engineresourcepaths) | Configures the paths where the .wasm files and other necessary resources for modules are located. |
+| `static` [getVersion()](#getversion) | Returns the version of the Core module. |
+| `static` [isModuleLoaded()](#ismoduleloaded) | Returns whether the WebAssembly (.wasm) file for the specified module is successfully loaded. |
+| `static` [loadWasm()](#loadwasm) | Initiates the loading process for the .wasm file(s) corresponding to the specified module(s). |
+
+
+
+## detectEnvironment
+
+Detects and returns information about the current runtime environment.
+
+```typescript
+detectEnvironment(): Promise
+```
+
+**Return Value**
+
+A promise that resolves with the detected environment information (e.g., browser type and version, operating system, camera support, etc.).
+
+**Code snippet**
+
+```javascript
+await Dynamsoft.Core.CoreModule.detectEnvironment();
+// Example return value:
+// {"wasm":true,"worker":true,"getUserMedia":true,"camera":true,"browser":"Edge","version":119,"OS":"Windows"}
+```
+
+## engineResourcePaths
+
+Configures the paths where the .wasm files and other necessary resources for modules are located. It allows you to either return or set the paths that the system uses to find these resources.
+
+For resources loaded from popular CDNs like jsDelivr or UNPKG, the paths are automatically identified based on the JavaScript files referenced for these modules. Manual specification of these paths is necessary only in the following scenarios:
+
+1. When integrating the SDK within web frameworks such as Angular, React, or Vue.
+2. If you opt for a CDN different from the default choices.
+3. When you are serving the files on your own.
+
+
+```typescript
+static engineResourcePaths: {
+ /**
+ * Specifies the resource path for the dynamsoft-capture-vision-std module.
+ */
+ "std"?: string;
+ /**
+ * Specifies the resource path for the dynamsoft-image-processing module.
+ */
+ "dip"?: string;
+ /**
+ * Specifies the resource path for the dynamsoft-core module.
+ */
+ "core"?: string;
+ /**
+ * Specifies the resource path for the dynamsoft-license module.
+ */
+ "license"?: string;
+ /**
+ * Specifies the resource path for the dynamsoft-capture-vision-router module.
+ */
+ "cvr"?: string;
+ /**
+ * Specifies the resource path for the dynamsoft-utility module.
+ */
+ "utility"?: string;
+ /**
+ * Specifies the resource path for the dynamsoft-barcode-reader module.
+ */
+ "dbr"?: string;
+ /**
+ * Specifies the resource path for the dynamsoft-label-recognizer module.
+ */
+ "dlr"?: string;
+ /**
+ * Specifies the resource path for the dynamsoft-document-normalizer module.
+ */
+ "ddn"?: string;
+ /**
+ * Specifies the resource path for the dynamsoft-code-parser module.
+ */
+ "dcp"?: string;
+ /**
+ * Specifies the resource path for the dynamsoft-camera-enhancer module.
+ */
+ "dce"?: string;
+};
+```
+
+**Code snippet**
+
+```javascript
+// To specify the paths for multiple modules:
+Dynamsoft.Core.CoreModule.engineResourcePaths = {
+ "std": "https://[SPECIFY-THE-ROOT-DIRECTORY]/dynamsoft-capture-vision-std@1.0.0/dist/",
+ "dip": "https://[SPECIFY-THE-ROOT-DIRECTORY]/dynamsoft-image-processing@2.0.20/dist/",
+ "core": "https://[SPECIFY-THE-ROOT-DIRECTORY]/dynamsoft-core@3.0.20/dist/",
+ "license": "https://[SPECIFY-THE-ROOT-DIRECTORY]/dynamsoft-license@3.0.20/dist/",
+ "cvr": "https://[SPECIFY-THE-ROOT-DIRECTORY]/dynamsoft-capture-vision-router@2.0.20/dist/",
+ "utility": "https://[SPECIFY-THE-ROOT-DIRECTORY]/dynamsoft-utility@1.0.20/dist/",
+ "dbr": "https://[SPECIFY-THE-ROOT-DIRECTORY]/dynamsoft-barcode-reader@10.0.20/dist/"
+ "dlr": "https://[SPECIFY-THE-ROOT-DIRECTORY]/dynamsoft-label-recognizer@3.0.20/dist/",
+ "ddn": "https://[SPECIFY-THE-ROOT-DIRECTORY]/dynamsoft-document-normalizer@2.0.20/dist/"
+ "dcp": "https://[SPECIFY-THE-ROOT-DIRECTORY]/dynamsoft-code-parser@2.0.20/dist/"
+};
+// To specify the path for only one module:
+Dynamsoft.Core.CoreModule.engineResourcePaths.dbr = "https://[SPECIFY-THE-ROOT-DIRECTORY]/dynamsoft-barcode-reader@10.0.20/dist/";
+```
+
+## getVersion
+
+Returns the version of the Core module.
+
+```typescript
+static getVersion(): string;
+```
+
+**Return Value**
+
+A string type representing the version.
+
+**Code snippet**
+
+```javascript
+const version = Dynamsoft.Core.CoreModule.getVersion();
+console.log(version);
+```
+
+## isModuleLoaded
+
+Returns whether the WebAssembly (.wasm) file for the specified module is successfully loaded.
+
+```typescript
+static isModuleLoaded(moduleName: string): boolean;
+```
+
+**Parameters**
+
+`moduleName`: specifies a module.
+
+**Return Value**
+
+Boolean indicating whether the .wasm file for the specified module is loaded.
+
+**Code snippet**
+
+```javascript
+if(Dynamsoft.Core.CoreModule.isModuleLoaded("cvr")){
+ console.log("cvr module is loaded!").
+}
+```
+
+## loadWasm
+
+Initiates the loading process for the .wasm file(s) corresponding to the specified module(s). If a module relies on other modules, the other modules will be loaded as well.
+
+```typescript
+static loadWasm(moduleNames: Array | string): Promise;
+```
+
+**Parameters**
+
+`moduleNames`: specifies one or multiple modules. Supported module names are "cvr", "core", "license", "std", "dip", "dbr", "dlr", "ddn".
+
+**Return Value**
+
+A promise that resolves when the resources have been successfully released. It does not provide any value upon resolution.
+
+**Code snippet**
+
+```javascript
+await Dynamsoft.Core.CoreModule.loadWasm("cvr");
+```
+
+
diff --git a/programming/javascript/api-reference/core/core-module-class.md b/programming/javascript/api-reference/core/core-module-class.md
index c82a065..08ed70e 100644
--- a/programming/javascript/api-reference/core/core-module-class.md
+++ b/programming/javascript/api-reference/core/core-module-class.md
@@ -73,6 +73,10 @@ For resources loaded from popular CDNs like jsDelivr or UNPKG, the paths are aut
-->
```typescript
static engineResourcePaths: {
+ /**
+ * Specifies the root directory in which all the modules are located
+ */
+ "rootDirectory"?: string;
/**
* Specifies the resource path for the dynamsoft-capture-vision-std module.
*/
@@ -123,6 +127,8 @@ static engineResourcePaths: {
**Code snippet**
```javascript
+// To specify the path for rootDirectory
+Dynamsoft.Core.CoreModule.engineResourcePaths.rootDirectory = "https://cdn.jsdelivr.net/npm/";
// To specify the paths for multiple modules:
Dynamsoft.Core.CoreModule.engineResourcePaths = {
"std": "https://[SPECIFY-THE-ROOT-DIRECTORY]/dynamsoft-capture-vision-std@1.0.0/dist/",
diff --git a/programming/javascript/api-reference/license/license-manager.md b/programming/javascript/api-reference/license/license-manager.md
index 25c5944..db66c0f 100644
--- a/programming/javascript/api-reference/license/license-manager.md
+++ b/programming/javascript/api-reference/license/license-manager.md
@@ -35,14 +35,14 @@ A promise which, upon resolution, yields a string corresponding to the device's
Initializes the license for the application using a license key. This function is overloaded, providing two different usages based on the provided parameters.
```typescript
-static initLicense(license: string, options?: {executeNow: boolean}): void | Promise;
+static initLicense(license: string, options?: {executeNow: boolean} | boolean): void | Promise;
```
**Parameters**
`license`: The license key to be used for initialization.
-`options`: This is an object with a single property executeNow, which is a boolean indicates the function should immediately execute the license initialization or not.
+`options`: It can be one of two types, a boolean or an object with a single property, executeNow, which is a boolean. If options is `true` or `{ executeNow: true }`, the license initialization action will be executed immediately.
**Return Value**
diff --git a/programming/javascript/release-notes/dcvb.md b/programming/javascript/release-notes/dcvb.md
index 0f3e67d..09f1f3c 100644
--- a/programming/javascript/release-notes/dcvb.md
+++ b/programming/javascript/release-notes/dcvb.md
@@ -9,7 +9,7 @@ noTitleIndex: true
# Release Notes - DynamsoftCaptureVisionBundle
-## 2.4.2000 (10/10/2024)
+## 2.4.2100 (10/17/2024)
### Highlights
diff --git a/programming/javascript/release-notes/index.md b/programming/javascript/release-notes/index.md
index 5026f94..f05acc2 100644
--- a/programming/javascript/release-notes/index.md
+++ b/programming/javascript/release-notes/index.md
@@ -9,5 +9,5 @@ noTitleIndex: true
# Release Notes - Dynamsoft Capture Vision Bundle JavaScript
-- [2.4.2000 (10/10/2024)](dcvb.md#242000-10102024)
+- [2.4.2100 (10/17/2024)](dcvb.md#242100-10172024)
- [2.2.3000 (07/21/2024)](dcvb.md#223000-07212024)
\ No newline at end of file
diff --git a/programming/javascript/user-guide/mrz-scanner.md b/programming/javascript/user-guide/mrz-scanner.md
index aae58d3..9aab376 100644
--- a/programming/javascript/user-guide/mrz-scanner.md
+++ b/programming/javascript/user-guide/mrz-scanner.md
@@ -108,13 +108,13 @@ The simplest way to include the SDK is to use either the [jsDelivr](https://jsde
* jsDelivr
```html
-
+
```
* UNPKG
```html
-
+
```
> Besides using the public CDN, you can also download the SDK from the npm and host its files on your own server or a commercial CDN before including it in your application. Please see [Host the SDK yourself](#host-the-sdk-yourself)
@@ -210,7 +210,7 @@ You can download the SDK from npm and host it yourself.
> Note that you need to get two other assisting packages.
```cmd
-npm i dynamsoft-capture-vision-bundle@2.4.2000 -E
+npm i dynamsoft-capture-vision-bundle@2.4.2100 -E
npm i dynamsoft-capture-vision-std@1.4.10 -E
npm i dynamsoft-image-processing@2.4.20 -E
```
@@ -227,8 +227,8 @@ Object.assign(Dynamsoft.Core.CoreModule.engineResourcePaths, {
"std":"https://cdn.jsdelivr.net/npm/dynamsoft-capture-vision-std@1.4.10/dist/",
"core":"https://cdn.jsdelivr.net/npm/dynamsoft-core@3.4.20/dist/",
"dip":"https://cdn.jsdelivr.net/npm/dynamsoft-image-processing@2.4.20/dist/",
- "license":"https://cdn.jsdelivr.net/npm/dynamsoft-license@3.4.20/dist/",
- "cvr":"https://cdn.jsdelivr.net/npm/dynamsoft-capture-vision-router@2.4.20/dist/",
+ "license":"https://cdn.jsdelivr.net/npm/dynamsoft-license@3.4.21/dist/",
+ "cvr":"https://cdn.jsdelivr.net/npm/dynamsoft-capture-vision-router@2.4.21/dist/",
"dce":"https://cdn.jsdelivr.net/npm/dynamsoft-camera-enhancer@4.1.0/dist/",
"dbr":"https://cdn.jsdelivr.net/npm/dynamsoft-barcode-reader@10.4.20/dist/",
"dlr":"https://cdn.jsdelivr.net/npm/dynamsoft-label-recognizer@3.4.20/dist/",