diff --git a/_config.yml b/_config.yml
index 6f86109d04..cf04a291d2 100644
--- a/_config.yml
+++ b/_config.yml
@@ -102,4 +102,4 @@ release:
pe_dart_client_ver: 4.0.0
broker_full_ver: 2.2.0
broker_branch: release-2.2.0
- trendz_ver: 1.13.2
+ trendz_ver: 1.14.0
diff --git a/_data/trendz/installation.yml b/_data/trendz/installation.yml
index 5b7a067cec..e9637c1c3e 100644
--- a/_data/trendz/installation.yml
+++ b/_data/trendz/installation.yml
@@ -25,6 +25,12 @@ toc:
path: /docs/trendz/install/trndz-upgrade-instructions/
- title: Kubernetes
path: /docs/trendz/install/trndz-upgrade-instructions-kubernetes/
+- title: Python Executor Configuration
+ section:
+ - title: Windows
+ path: /docs/trendz/install/python-executor-configuration-windows/
+ - title: Linux or Mac OS
+ path: /docs/trendz/install/python-executor-configuration-linux/
- title: Connect Trendz to Thingsboard
path: /docs/trendz/connect-thingsboard/
- title: Configuration properties
diff --git a/docs/trendz/install/docker-windows.md b/docs/trendz/install/docker-windows.md
index 4392f35713..10d9aa2923 100644
--- a/docs/trendz/install/docker-windows.md
+++ b/docs/trendz/install/docker-windows.md
@@ -56,7 +56,7 @@ services:
SPRING_DATASOURCE_USERNAME: postgres
SPRING_DATASOURCE_PASSWORD: postgres
SCRIPT_ENGINE_PROVIDER: DOCKER_CONTAINER
- SCRIPT_ENGINE_DOCKER_PROVIDER_URL: mypyexecutor:8080
+ SCRIPT_ENGINE_DOCKER_PROVIDER_URL: mypyexecutor:8181
SCRIPT_ENGINE_TIMEOUT: 30000
volumes:
- mytrendz-data:/data
@@ -73,6 +73,8 @@ services:
THROTTLING_QUEUE_CAPACITY: 10
THROTTLING_THREAD_POOL_SIZE: 6
NETWORK_BUFFER_SIZE: 10485760
+ volumes:
+ - mytrendz-data/python-executor:/python-executor
postgres:
restart: always
image: "postgres:15"
@@ -88,6 +90,8 @@ volumes:
external: true
mytrendz-logs:
external: true
+ mytrendz-data-python-executor:
+ external: true
mytrendz-data-db:
external: true
```
@@ -106,7 +110,8 @@ Where:
- `thingsboard/trendz:{{ site.release.trendz_ver }}` - Trendz docker image
- `thingsboard/trendz-python-executor:{{ site.release.trendz_ver }}` - Trendz python script executor docker image
- `SCRIPT_ENGINE_RUNTIME_TIMEOUT` - Python script execution timeout
-
+- `mytrendz-data/python-executor:/python-executor` - mounts the volume `mytrendz-data/python-executor` to Trendz Python Executor additional data directory
+
### Setup Docker volumes
Windows users should use docker managed volume for Trendz DataBase. Create docker volume (for ex. `mytrendz-data`) before
@@ -115,11 +120,12 @@ executing docker run command: Open “Docker Quickstart Terminal”. Execute the
```yml
docker volume create mytrendz-data
docker volume create mytrendz-data-db
+docker volume create mytrendz-data-python-executor
docker volume create mytrendz-logs
```
{: .copy-code}
-**NOTE**: replace directory ~/.mytrendz-data and ~/.mytrendz-logs with directories you’re planning to used in docker-compose.yml.
+**NOTE**: replace directory mytrendz-data and mytrendz-logs with directories you’re planning to used in docker-compose.yml.
### Running service
diff --git a/docs/trendz/install/docker.md b/docs/trendz/install/docker.md
index 6e282c22ab..cba99a6a68 100644
--- a/docs/trendz/install/docker.md
+++ b/docs/trendz/install/docker.md
@@ -75,6 +75,8 @@ services:
THROTTLING_QUEUE_CAPACITY: 10
THROTTLING_THREAD_POOL_SIZE: 6
NETWORK_BUFFER_SIZE: 5242880
+ volumes:
+ - ~/.mytrendz-data/python-executor:/python-executor
postgres:
restart: always
image: "postgres:15"
@@ -101,6 +103,7 @@ Where:
- `thingsboard/trendz:{{ site.release.trendz_ver }}` - Trendz docker image
- `thingsboard/trendz-python-executor:{{ site.release.trendz_ver }}` - Trendz python script executor docker image
- `SCRIPT_ENGINE_RUNTIME_TIMEOUT` - Python script execution timeout
+- `~/.mytrendz-data/python-executor:/python-executor` - mounts the volume `~/.mytrendz-data/python-executor` to Trendz Python Executor additional data directory
Run following commands, before starting docker container(s), to create folders for storing data and logs.
@@ -109,6 +112,7 @@ To do this (to change user) **chown** command is used, and this command requires
```bash
mkdir -p ~/.mytrendz-data && sudo chown -R 799:799 ~/.mytrendz-data
+mkdir -p ~/.mytrendz-data/python-executor && sudo chown -R 799:799 ~/.mytrendz-data/python-executor
mkdir -p ~/.mytrendz-logs && sudo chown -R 799:799 ~/.mytrendz-logs
```
{: .copy-code}
@@ -131,6 +135,7 @@ Trendz uses ThingsBoard as an authentication service. During first sign in Thing
to validate credentials.
## Post-installation steps
+
It is essential to follow these [instructions](/docs/trendz/post-installation-steps) to fully use all features, such as saving telemetry to ThingsBoard and adding Trendz views to dashboards.
## Detaching, stop and start commands
@@ -141,7 +146,7 @@ It is essential to follow these [instructions](/docs/trendz/post-installation-st
## Upgrade Trendz Service
-Below is example on how to upgrade from 1.13.1 to {{ site.release.trendz_ver }}
+Below is example on how to upgrade from 1.13.2 to {{ site.release.trendz_ver }}
* Create a dump of your database:
@@ -159,17 +164,17 @@ If you still rely on Docker Compose as docker-compose (with a hyphen) execute ne
* Set upgradeversion variable to your **previous** Trendz version.
```bash
-docker compose exec mytrendz sh -c "echo '1.13.1' > /data/.upgradeversion"
+docker compose exec mytrendz sh -c "echo '1.13.2' > /data/.upgradeversion"
```
{: .copy-code}
{% capture dockerComposeStandalone %}
If you still rely on Docker Compose as docker-compose (with a hyphen) execute next command:
-
**docker-compose exec mytrendz sh -c "echo '1.13.1' > /data/.upgradeversion"**
+
**docker-compose exec mytrendz sh -c "echo '1.13.2' > /data/.upgradeversion"**
{% endcapture %}
{% include templates/info-banner.md content=dockerComposeStandalone %}
-* After this you need to update docker-compose.yml as in [Step 2](#docker-compose-setup) but with {{ site.release.trendz_ver }} instead of 1.13.1:
+* After this you need to update docker-compose.yml as in [Step 2](#docker-compose-setup) but with {{ site.release.trendz_ver }} instead of 1.13.3:
* Restart Trendz container
@@ -188,61 +193,6 @@ If you still rely on Docker Compose as docker-compose (with a hyphen) here is th
To upgrade Trendz to the latest version those steps should be done **for each intermediate version**.
-## Standalone Python executor service
-You can use following docker compose file in case when you want to start Trendz python executor as a separate service.
-It is useful when your Trendz service is installed in monolith mode, and you want to logically separate Trendz from service that executes Python scripts for prediction models.
-Using same configuration you can scale Python executors independently of Trendz service.
-
-Create docker compose file:
-
-```text
-sudo nano docker-compose.yml
-```
-{: .copy-code}
-
-Add following configuration:
-
-```yml
-version: '3.0'
-services:
- mypyexecutor:
- restart: always
- image: "thingsboard/trendz-python-executor:{{ site.release.trendz_ver }}"
- ports:
- - "8181:8181"
- environment:
- SCRIPT_ENGINE_RUNTIME_TIMEOUT: 30000
- EXECUTOR_MANAGER: 1
- EXECUTOR_SCRIPT_ENGINE: 6
- THROTTLING_QUEUE_CAPACITY: 10
- THROTTLING_THREAD_POOL_SIZE: 6
- NETWORK_BUFFER_SIZE: 10485760
-```
-{: .copy-code}
-
-Where:
-
-- `8080` - Python executor port for communication with Trendz service
-- `--restart always` - automatically start Trendz in case of system reboot and restart in case of failure.
-- `thingsboard/trendz-python-executor:{{ site.release.trendz_ver }}` - Trendz python script executor docker image
-- `SCRIPT_ENGINE_RUNTIME_TIMEOUT` - Python script execution timeout
-
-```text
-docker compose up -d
-docker compose logs -f mypyexecutor
-```
-
-* Final step is to tell Trendz service how to communicate with Python executor service. You can do that by changing following environment variables in `/usr/share/trendz/conf/trendz.conf` file:
-
-```bash
-export SCRIPT_ENGINE_TIMEOUT=30000
-export SCRIPT_ENGINE_PROVIDER=DOCKER_CONTAINER
-export SCRIPT_ENGINE_DOCKER_PROVIDER_URL=PYTHON_EXECUTOR_HOST:PYTHON_EXECUTOR_PORT
-```
-{: .copy-code}
-
-Note: you need to replace `PYTHON_EXECUTOR_HOST` and `PYTHON_EXECUTOR_PORT` with actual values of your Python executor service and ensure that Trendz is able to send network traffic to that destination.
-
## Troubleshooting
### DNS issues
diff --git a/docs/trendz/install/python-executor-configuration-linux.md b/docs/trendz/install/python-executor-configuration-linux.md
new file mode 100644
index 0000000000..620cb3df83
--- /dev/null
+++ b/docs/trendz/install/python-executor-configuration-linux.md
@@ -0,0 +1,209 @@
+---
+layout: docwithnav-trendz
+title: Trendz Python Executor Configuration
+description: How to configure Trendz Python Executor on Linux or Mac OS
+
+---
+
+* TOC
+{:toc}
+
+## Overview
+
+Trendz Python Executor is required to run:
+
+* Python Calculation fields
+* All prediction models (except Fourier Transformation)
+* Code generation for Metric Explorer
+
+Starting from version 1.14.0, the only way to run these features is via Trendz Python Executor using Docker (or Kubernetes).
+
+## Python Executor Standalone Installation
+
+### Step 1: Create Docker Compose File
+
+Create the Docker Compose file with the following configuration:
+
+```yml
+version: '3.0'
+services:
+ mypyexecutor:
+ restart: always
+ image: "thingsboard/trendz-python-executor:{{ site.release.trendz_ver }}"
+ ports:
+ - "8181:8181"
+ environment:
+ SCRIPT_ENGINE_RUNTIME_TIMEOUT: 30000
+ EXECUTOR_MANAGER: 1
+ EXECUTOR_SCRIPT_ENGINE: 6
+ THROTTLING_QUEUE_CAPACITY: 10
+ THROTTLING_THREAD_POOL_SIZE: 6
+ NETWORK_BUFFER_SIZE: 10485760
+ volumes:
+ - ~/.mytrendz-data/python-executor:/python-executor
+```
+{: .copy-code}
+
+Explanation of key fields:
+
+* `8181` - Python executor port for communication with Trendz service
+* `restart: always` - automatically restarts the executor on failure or system reboot
+* `thingsboard/trendz-python-executor:{{ site.release.trendz_ver }}` - Docker image for Trendz Python Executor
+* `SCRIPT_ENGINE_RUNTIME_TIMEOUT` - timeout for Python script execution
+* `~/.mytrendz-data/python-executor:/python-executor` - mounts the volume `~/.mytrendz-data/python-executor` to Trendz Python Executor additional data directory
+
+### Step 2: Create Volumes
+
+Run the following commands before starting the Docker container. These commands also change the owner of the newly
+created folders to the Docker container user. The `chown` command requires *sudo* permissions and will prompt for your password:
+
+```bash
+mkdir -p ~/.mytrendz-data && sudo chown -R 799:799 ~/.mytrendz-data
+mkdir -p ~/.mytrendz-data/python-executor && sudo chown -R 799:799 ~/.mytrendz-data/python-executor
+```
+{: .copy-code}
+
+**Note:** Replace the directory `~/.mytrendz-data` with the directories you plan to use in `docker-compose.yaml`.
+
+### Step 3: Start Python Executor
+
+```bash
+docker compose up -d
+docker compose logs -f mypyexecutor
+```
+{: .copy-code}
+
+### Step 4: Connect Trendz to Python Executor
+
+Configure Trendz to communicate with the Python Executor.
+
+Edit `/usr/share/trendz/conf/trendz.conf` and add:
+
+```bash
+export SCRIPT_ENGINE_TIMEOUT=30000
+export SCRIPT_ENGINE_PROVIDER=DOCKER_CONTAINER
+export SCRIPT_ENGINE_DOCKER_PROVIDER_URL=PYTHON_EXECUTOR_HOST:PYTHON_EXECUTOR_PORT
+```
+{: .copy-code}
+
+Replace `PYTHON_EXECUTOR_HOST` and `PYTHON_EXECUTOR_PORT` with actual host and port values.
+
+## How to Migrate Trendz Python Executor 1.13.3 to Trendz Python Executor 1.14.0
+
+If you already have a Python Executor with a version earlier than 1.14.0 connected to Trendz, you should migrate it before updating Trendz to 1.14.0.
+
+### Modify Docker Compose File
+
+Locate the `docker-compose.yaml` file from which the Python Executor was launched.
+
+Change the Python Executor image tag to version 1.14.0:
+
+```yml
+ image: "thingsboard/trendz-python-executor:1.14.0"
+```
+{: .copy-code}
+
+Add the following lines at the end of the Python Executor configuration:
+
+```yml
+ volumes:
+ - ~/.mytrendz-data/python-executor:/python-executor
+```
+{: .copy-code}
+
+The final `docker-compose.yaml` should look like:
+
+```yml
+version: '3.0'
+services:
+ mypyexecutor:
+ restart: always
+ image: "thingsboard/trendz-python-executor:1.14.0"
+ ports:
+ - "8181:8181"
+ environment:
+ SCRIPT_ENGINE_RUNTIME_TIMEOUT: 30000
+ EXECUTOR_MANAGER: 1
+ EXECUTOR_SCRIPT_ENGINE: 6
+ THROTTLING_QUEUE_CAPACITY: 10
+ THROTTLING_THREAD_POOL_SIZE: 6
+ NETWORK_BUFFER_SIZE: 10485760
+ volumes:
+ - ~/.mytrendz-data/python-executor:/python-executor
+```
+{: .copy-code}
+
+### Create Volumes for Python Executor
+
+Run the following commands before starting the Docker container. These commands also change the owner of the newly
+created folders to the Docker container user. The `chown` command requires *sudo* permissions and will prompt for your password:
+
+```bash
+mkdir -p ~/.mytrendz-data && sudo chown -R 799:799 ~/.mytrendz-data
+mkdir -p ~/.mytrendz-data/python-executor && sudo chown -R 799:799 ~/.mytrendz-data/python-executor
+```
+{: .copy-code}
+
+**Note:** Replace the directory `~/.mytrendz-data` with the directories you plan to use in `docker-compose.yaml`.
+
+### Restart Python Executor
+
+Restart the Python Executor to apply the changes:
+
+```bash
+docker compose restart -d
+docker compose logs -f mypyexecutor
+```
+{: .copy-code}
+
+## How to Connect Additional Libraries to the Python Executor
+
+If necessary, you can add additional Python libraries to the **Python Executor** and use them in your Trendz Calculation Fields or Trendz Custom Prediction Models.
+
+For example, if you want to add the **`emoji`** library (specific version 2.2.0), follow these steps.
+
+### Step 1. Locate the Volume
+
+The volume is usually at:
+
+```bash
+cd ~/.mytrendz-data/python-executor
+```
+
+### Step 2. Add a `requirements.txt` File
+
+Create the file with the library:
+
+```bash
+echo 'emoji==2.2.0' > requirements.txt
+```
+
+### Step 3. Restart the Docker Container
+
+Find the container name and restart it:
+
+```bash
+docker compose ps
+docker compose restart mypyexecutor
+```
+
+### Step 4. Verify Installation
+
+Check the logs:
+
+```bash
+docker compose logs mypyexecutor
+```
+
+You should see:
+
+```text
+Installing custom Python requirements...
+Requirement already satisfied: emoji==2.2.0 in /usr/local/lib/python3.9/site-packages
+```
+
+After the container restarts, you can import and use the custom libraries in your Trendz Calculation Fields or Trendz Custom Prediction Models.
+
+## Next steps
+
+{% assign currentGuide = "InstallationOptions" %}{% include templates/trndz-guides-banner.md %}
diff --git a/docs/trendz/install/python-executor-configuration-windows.md b/docs/trendz/install/python-executor-configuration-windows.md
new file mode 100644
index 0000000000..d8b3c712a1
--- /dev/null
+++ b/docs/trendz/install/python-executor-configuration-windows.md
@@ -0,0 +1,231 @@
+---
+layout: docwithnav-trendz
+title: Trendz Python Executor Configuration
+description: How to configure Trendz Python Executor on Windows
+
+---
+
+* TOC
+{:toc}
+
+## Overview
+
+Trendz Python Executor is required to run:
+
+* Python Calculation fields
+* All prediction models (except Fourier Transformation)
+* Code generation for Metric Explorer
+
+Starting from version 1.14.0, the only way to run these features is via Trendz Python Executor using Docker (or Kubernetes).
+
+## Python Executor Standalone Installation
+
+### Step 1: Create Docker Compose File
+
+Create the Docker Compose file with the following configuration:
+
+```yml
+version: '3.0'
+services:
+ mypyexecutor:
+ restart: always
+ image: "thingsboard/trendz-python-executor:{{ site.release.trendz_ver }}"
+ ports:
+ - "8181:8181"
+ environment:
+ SCRIPT_ENGINE_RUNTIME_TIMEOUT: 30000
+ EXECUTOR_MANAGER: 1
+ EXECUTOR_SCRIPT_ENGINE: 6
+ THROTTLING_QUEUE_CAPACITY: 10
+ THROTTLING_THREAD_POOL_SIZE: 6
+ NETWORK_BUFFER_SIZE: 10485760
+ volumes:
+ - mytrendz-data/python-executor:/python-executor
+
+```
+{: .copy-code}
+
+Explanation of key fields:
+
+* `8181` - Python executor port for communication with Trendz service
+* `restart: always` - automatically restarts the executor on failure or system reboot
+* `thingsboard/trendz-python-executor:{{ site.release.trendz_ver }}` - Docker image for Trendz Python Executor
+* `SCRIPT_ENGINE_RUNTIME_TIMEOUT` - timeout for Python script execution
+* `mytrendz-data/python-executor:/python-executor` - mounts the volume `mytrendz-data/python-executor` to Trendz Python Executor additional data directory
+
+
+### Step 2: Create Volumes
+
+Windows users should use Docker-managed volumes for Trendz data.
+Create a Docker volume before executing the Docker run command.
+Open “Docker Quickstart Terminal” and run:
+
+```bash
+docker volume create mytrendz-data-python-executor
+```
+{: .copy-code}
+
+**Note:** Replace the volume name `mytrendz-data-python-executor` with the name you plan to use in `docker-compose.yaml`.
+
+### Step 3: Start Python Executor
+
+```bash
+docker compose up -d
+docker compose logs -f mypyexecutor
+```
+{: .copy-code}
+
+### Step 4: Connect Trendz to Python Executor
+
+Configure Trendz to communicate with the Python Executor.
+
+Open Notepad as Administrator and edit:
+
+```text
+C:\Program Files (x86)\trendz\conf\trendz.yml
+```
+
+Locate the `script-engine` block and configure:
+
+```yml
+script-engine:
+ provider: "${SCRIPT_ENGINE_PROVIDER:DOCKER_CONTAINER}"
+ runtime-timeout: "${SCRIPT_ENGINE_TIMEOUT:60000}"
+ callback-timeout: "${SCRIPT_ENGINE_TIMEOUT:60000}"
+ docker-provider-url: "${SCRIPT_ENGINE_DOCKER_PROVIDER_URL:PYTHON_EXECUTOR_HOST:PYTHON_EXECUTOR_PORT}"
+ websocket-buffer-size: "${SCRIPT_ENGINE_WEBSOCKET_BUFFER_SIZE:20971520}"
+ websocket-concurrency: "${SCRIPT_ENGINE_WEBSOCKET_CONCURRENCY:5}"
+```
+
+Replace `PYTHON_EXECUTOR_HOST` and `PYTHON_EXECUTOR_PORT` with your Python Executor service values and ensure Trendz can reach this network destination.
+
+## How to Migrate Trendz Python Executor 1.13.3 to Trendz Python Executor 1.14.0
+
+If you already have a Python Executor with a version earlier than 1.14.0 connected to Trendz, you should migrate it before updating Trendz to 1.14.0.
+
+### Modify Docker Compose File
+
+Locate the `docker-compose.yaml` file from which the Python Executor was launched.
+
+Change the Python Executor image tag to version 1.14.0:
+
+```yml
+ image: "thingsboard/trendz-python-executor:1.14.0"
+```
+{: .copy-code}
+
+Add the following lines at the end of the Python Executor configuration:
+
+```yml
+ volumes:
+ - mytrendz-data/python-executor:/python-executor
+```
+{: .copy-code}
+
+Add the following lines at the end of the Docker Compose file:
+
+```yml
+volumes:
+ mytrendz-data-python-executor:
+ external: true
+```
+{: .copy-code}
+
+The final `docker-compose.yaml` should look like:
+
+```yml
+version: '3.0'
+services:
+ mypyexecutor:
+ restart: always
+ image: "thingsboard/trendz-python-executor:1.14.0"
+ ports:
+ - "8181:8181"
+ environment:
+ SCRIPT_ENGINE_RUNTIME_TIMEOUT: 30000
+ EXECUTOR_MANAGER: 1
+ EXECUTOR_SCRIPT_ENGINE: 6
+ THROTTLING_QUEUE_CAPACITY: 10
+ THROTTLING_THREAD_POOL_SIZE: 6
+ NETWORK_BUFFER_SIZE: 10485760
+ volumes:
+ - mytrendz-data/python-executor:/python-executor
+volumes:
+ mytrendz-data-python-executor:
+ external: true
+```
+{: .copy-code}
+
+### Create Volumes for Python Executor
+
+Windows users should use Docker-managed volumes for Trendz data.
+Create a Docker volume before executing the Docker run command.
+Open “Docker Quickstart Terminal” and run:
+
+```bash
+docker volume create mytrendz-data-python-executor
+```
+{: .copy-code}
+
+**Note:** Replace the volume name `mytrendz-data-python-executor` with the name you plan to use in `docker-compose.yaml`.
+
+### Restart Python Executor
+
+Restart the Python Executor to apply the changes:
+
+```bash
+docker compose restart -d
+docker compose logs -f mypyexecutor
+```
+{: .copy-code}
+
+## How to Connect Additional Libraries to the Python Executor
+
+If necessary, you can add additional Python libraries to the **Python Executor** and use them in your Trendz Calculation Fields or Trendz Custom Prediction Models.
+
+For example, if you want to add the **`emoji`** library (specific version 2.2.0), follow these steps.
+
+### Step 1. Locate the Volume
+
+The Python Executor data is mapped to a local folder via Docker volumes. By default:
+
+```powershell
+cd %USERPROFILE%\mytrendz-data\python-executor
+```
+{: .copy-code}
+
+### Step 2. Add a `requirements.txt` File
+
+Create a file named `requirements.txt` in this folder with the library you need. For example:
+
+```powershell
+echo emoji==2.2.0 > requirements.txt
+```
+
+### Step 3. Restart the Docker Container
+
+After updating `requirements.txt`, restart the Python Executor container:
+
+```powershell
+docker compose ps
+docker compose restart mypyexecutor
+```
+
+### Step 4. Verify Installation
+
+Check the logs to ensure the library installed successfully:
+
+```powershell
+docker compose logs mypyexecutor
+```
+
+You should see something like:
+
+```text
+Installing custom Python requirements...
+Requirement already satisfied: emoji==2.2.0 in /usr/local/lib/python3.9/site-packages
+```
+
+## Next steps
+
+{% assign currentGuide = "InstallationOptions" %}{% include templates/trndz-guides-banner.md %}
diff --git a/docs/trendz/install/resources/1.14.0/trendz-centos-download.sh b/docs/trendz/install/resources/1.14.0/trendz-centos-download.sh
new file mode 100644
index 0000000000..5fe1f7be0c
--- /dev/null
+++ b/docs/trendz/install/resources/1.14.0/trendz-centos-download.sh
@@ -0,0 +1 @@
+wget https://dist.thingsboard.io/trendz-1.14.0.rpm
\ No newline at end of file
diff --git a/docs/trendz/install/resources/1.14.0/trendz-centos-installation.sh b/docs/trendz/install/resources/1.14.0/trendz-centos-installation.sh
new file mode 100644
index 0000000000..1afbf0f308
--- /dev/null
+++ b/docs/trendz/install/resources/1.14.0/trendz-centos-installation.sh
@@ -0,0 +1 @@
+sudo rpm -Uvh trendz-1.14.0.rpm
\ No newline at end of file
diff --git a/docs/trendz/install/resources/1.14.0/trendz-ubuntu-download.sh b/docs/trendz/install/resources/1.14.0/trendz-ubuntu-download.sh
new file mode 100644
index 0000000000..2d5424e7f2
--- /dev/null
+++ b/docs/trendz/install/resources/1.14.0/trendz-ubuntu-download.sh
@@ -0,0 +1 @@
+wget https://dist.thingsboard.io/trendz-1.14.0.deb
\ No newline at end of file
diff --git a/docs/trendz/install/resources/1.14.0/trendz-ubuntu-installation.sh b/docs/trendz/install/resources/1.14.0/trendz-ubuntu-installation.sh
new file mode 100644
index 0000000000..3b01e1c8bd
--- /dev/null
+++ b/docs/trendz/install/resources/1.14.0/trendz-ubuntu-installation.sh
@@ -0,0 +1 @@
+sudo dpkg -i trendz-1.14.0.deb
\ No newline at end of file
diff --git a/docs/trendz/install/rhel.md b/docs/trendz/install/rhel.md
index e9c8ad6105..ee65d2c38f 100644
--- a/docs/trendz/install/rhel.md
+++ b/docs/trendz/install/rhel.md
@@ -10,9 +10,18 @@ description: Installing ThingsBoard Trendz Analytics on CentOS/RHEL
* TOC
{:toc}
-## Prerequisites
+This guide explains how to install **Trendz Analytics** on **RHEL/CentOS 8 or 9**.
+
+**Important note before proceeding with RHEL/CentOS installation**
+
+Certain Trendz Analytics features like **predictions, metric explorations, and Python calculation fields** require a Python executor.
+
+The python executor runs **only via Docker**. Even on RHEL/CentOS, Docker is essential to fully utilize all Trendz features.
+We recommend following the [Docker (Linux or Mac OS) installation guide](/docs/trendz/install/docker) and using the Docker installation instead of RHEL/CentOS.
-This guide describes how to install Trendz Analytics on RHEL/CentOS 8/9.
+Proceed here **only** if you have a compelling reason to use a combined RHEL/CentOS + Docker setup.
+
+## Prerequisites
**Hardware requirements** depend on amount of analyzed data and amount of devices connected to the system.
To run Trendz Analytics on a single machine you will need at least 1Gb of free RAM.
@@ -24,7 +33,7 @@ Before continue to installation execute the following commands in order to insta
**For CentOS 7:**
```bash
-# Install wget
+# Install wget and nano
sudo yum install -y nano wget
# Add latest EPEL release for CentOS 7
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
@@ -35,7 +44,7 @@ sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.
**For CentOS 8:**
```bash
-# Install wget
+# Install wget and nano
sudo yum install -y nano wget
# Add latest EPEL release for CentOS 8
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
@@ -183,7 +192,7 @@ Once Trendz service is installed and DB configuration is updated, you can execut
```bash
sudo /usr/share/trendz/bin/install/install.sh
-```
+```
## Step 7. Start Trendz service
@@ -210,33 +219,12 @@ For first authentication you need to use **Tenant Administrator** credentials fr
Trendz uses ThingsBoard as an authentication service. During first sign in ThingsBoard service should be also available
to validate credentials.
-## Step 8. Install Trendz Python executor
-For writing custom Python models and transformation script you need to install Python libraries on the server where Trendz is installed.
-Alternative option is to run executor as a docker container, you can find how to do that in [install instructions for Docker](/docs/trendz/install/docker/#standalone-python-executor-service).
-But in this section we will write how to install Python libraries directly on the server with Trendz.
+## Step 8. Install Trendz Python Executor
-* Install Python3
-```bash
-sudo apt update
-sudo apt install python3
-sudo apt install python3-pip
-```
-{: .copy-code}
-
-* Install required python packages
-```bash
-echo "flask == 2.3.2" > requirements.txt
-echo "numpy == 1.24.1" >> requirements.txt
-echo "statsmodels == 0.13.5" >> requirements.txt
-echo "pandas == 1.5.3" >> requirements.txt
-echo "scikit-learn == 1.2.2" >> requirements.txt
-echo "prophet == 1.1.3" >> requirements.txt
-echo "seaborn == 0.12.2" >> requirements.txt
-echo "pmdarima == 2.0.3" >> requirements.txt
-sudo -u trendz pip3 install --user --no-cache-dir -r requirements.txt
-```
-{: .copy-code}
+To utilize all Trendz capabilities, such as Trendz Python Calculation Fields or Prediction Models, it is essential to
+install an additional service: the Trendz Python Executor, which can securely run Python code.
+You can learn more about how to install it [here](/docs/trendz/install/python-executor-configuration-linux).
## Step 9. HTTPS configuration
diff --git a/docs/trendz/install/trndz-upgrade-instructions-kubernetes.md b/docs/trendz/install/trndz-upgrade-instructions-kubernetes.md
index cec8d34331..cdaf4aadda 100644
--- a/docs/trendz/install/trndz-upgrade-instructions-kubernetes.md
+++ b/docs/trendz/install/trndz-upgrade-instructions-kubernetes.md
@@ -8,9 +8,9 @@ description: ThingsBoard Trendz Analytics upgrade instructions kubernetes
* TOC
{:toc}
-## Upgrading to 1.13.2
+## Upgrading to 1.14.0
-These steps are applicable for 1.13.1 Trendz Analytics version.
+These steps are applicable for 1.13.2 Trendz Analytics version.
### Obtain Trendz Kubernetes scripts
@@ -45,13 +45,13 @@ kubectl scale deployment trendz-app-deployment --replicas=1
Create a file “.upgradeversion” inside the directory by calling the command that must be executed by Trendz pod.
Run the command:
```text
-kubectl exec -- sh -c "echo '1.13.1' > /data/.upgradeversion"
+kubectl exec -- sh -c "echo '1.13.2' > /data/.upgradeversion"
```
You can get the pod name by the command:
```text
kubectl get pods -l app=trendz-app-pod-label
```
-Use another version instead of '1.13.1 if another is needed
+Use another version instead of '1.13.2 if another is needed
### Change image version
diff --git a/docs/trendz/install/trndz-upgrade-instructions.md b/docs/trendz/install/trndz-upgrade-instructions.md
index 7d7cd0bbf6..f16a560bb4 100644
--- a/docs/trendz/install/trndz-upgrade-instructions.md
+++ b/docs/trendz/install/trndz-upgrade-instructions.md
@@ -7,6 +7,17 @@ description: ThingsBoard Trendz Analytics upgrade instructions
+## Upgrading to 1.14.0
+
+These steps are applicable for 1.13.3 Trendz Analytics version.
+**Note:** after upgrading to the latest version it is required to update Trendz widget bundle in ThingsBoard.
+You can find detailed instructions how to do that via Trendz UI in [Trendz Widget Bundle upgrade](/docs/trendz/post-installation-steps/#trendz-widget-bundle) article.
+
+### Ubuntu/CentOS {#ubuntucentos-1140}
+
+{% capture tb_3_7_0_upgrade_note %}
+**Important note before upgrading to Trendz 1.14.0**
+
+From version 1.14.0, python calculation fields and prediction models could be utilized only using Trendz Python Executor
+service which can be used only inside the docker.
+
+If you are already using Trendz Python Executor via Docker, it's necessary to update it to version 1.14.0 before Trendz update.
+You can find detailed instructions on how to do that [here](/docs/trendz/install/python-executor-configuration-linux/#how-to-migrate-trendz-python-executor-1133-to-trendz-python-executor-1140).
+
+If you were not using Python Executor before, you need to install it via Docker.
+You can find detailed instructions on how to do that [here](/docs/trendz/install/python-executor-configuration-linux/#python-executor-standalone-installation).
+{% endcapture %}
+{% include templates/warn-banner.md content=tb_3_7_0_upgrade_note %}
+
+#### Trendz Analytics package download
+
+{% capture tabspec %}trendz-download-1-14-0
+trendz-download-1-8-0-ubuntu,Ubuntu,shell,resources/1.14.0/trendz-ubuntu-download.sh,/docs/user-guide/install/resources/1.14.0/trendz-ubuntu-download.sh
+trendz-download-1-8-0-centos,CentOS,shell,resources/1.14.0/trendz-centos-download.sh,/docs/user-guide/install/resources/1.14.0/trendz-centos-download.sh{% endcapture %}
+{% include tabs.html %}
+
+#### Trendz Analytics service upgrade
+
+* Stop Trendz Analytics service if it is running.
+
+```bash
+sudo service trendz stop
+```
+{: .copy-code}
+
+* Install latest Trendz Analytics service
+
+{% capture tabspec %}trendz-installation-1-14-0
+trendz-installation-1-8-0-ubuntu,Ubuntu,shell,resources/1.14.0/trendz-ubuntu-installation.sh,/docs/user-guide/install/resources/1.14.0/trendz-ubuntu-installation.sh
+trendz-installation-1-8-0-centos,CentOS,shell,resources/1.14.0/trendz-centos-installation.sh,/docs/user-guide/install/resources/1.14.0/trendz-centos-installation.sh{% endcapture %}
+{% include tabs.html %}
+
+**NOTE:** Package installer will ask you to merge your trendz configuration. It is preferred to use **merge option** to make sure that all your previous parameters will not be overwritten.
+
+Execute regular upgrade script:
+
+```bash
+sudo /usr/share/trendz/bin/install/upgrade.sh --fromVersion=1.13.3
+```
+
+#### Start the service
+
+```bash
+sudo service trendz start
+```
+{: .copy-code}
+
+### Windows {#windows-1140}
+
+{% capture tb_3_7_0_upgrade_note %}
+**Important note before upgrading to Trendz 1.14.0**
+
+From version 1.14.0, python calculation fields and prediction models could be utilized only using Trendz Python Executor
+service which can be used only inside the docker.
+
+If you are already using Trendz Python Executor via Docker, it's necessary to update it to version 1.14.0 before Trendz update.
+You can find detailed instructions on how to do that [here](/docs/trendz/install/python-executor-configuration-windows/#how-to-migrate-trendz-python-executor-1133-to-trendz-python-executor-1140).
+
+If you were not using Python Executor before, you need to install it via Docker.
+You can find detailed instructions on how to do that [here](/docs/trendz/install/python-executor-configuration-windows/#python-executor-standalone-installation).
+{% endcapture %}
+{% include templates/warn-banner.md content=tb_3_7_0_upgrade_note %}
+
+#### Trendz Analytics package download
+
+Download ThingsBoard Trendz Analytics installation package for Windows: [trendz-windows-1.14.0.zip](https://dist.thingsboard.io/trendz-windows-1.14.0.zip).
+
+#### Trendz Analytics service upgrade
+
+* Stop Trendz service if it is running.
+
+```text
+net stop trendz
+```
+{: .copy-code}
+
+* Make a backup of previous Trendz Analytics configuration located in \\conf (for ex. C:\trendz\conf).
+* Remove ThingsBoard install dir.
+* Unzip installation archive to ThingsBoard install dir.
+* Compare your old Trendz configuration files (from the backup you made in the first step) with new ones.
+
+* Finally, run **upgrade.bat** script to upgrade Trendz to the new version.
+
+**NOTE** Scripts listed above should be executed using Administrator Role.
+
+```text
+C:\trendz>upgrade.bat --fromVersion=1.13.3
+```
+
+#### Start the service
+
+```text
+net start trendz
+```
+{: .copy-code}
+
## Upgrading to 1.13.2
These steps are applicable for 1.13.1 Trendz Analytics version.
diff --git a/docs/trendz/install/ubuntu.md b/docs/trendz/install/ubuntu.md
index 25de8f96fa..f079806e40 100644
--- a/docs/trendz/install/ubuntu.md
+++ b/docs/trendz/install/ubuntu.md
@@ -10,9 +10,18 @@ description: Installing ThingsBoard Trendz Analytics on Ubuntu
* TOC
{:toc}
-## Prerequisites
+This guide explains how to install **Trendz Analytics** on **Ubuntu 22.04 LTS** or **Ubuntu 24.04 LTS**.
+
+**Important note before proceeding with Ubuntu installation**
+
+Certain Trendz Analytics features like **predictions, metric explorations, and Python calculation fields** require a Python executor.
+
+The python executor runs **only via Docker**. Even on Ubuntu, Docker is essential to fully utilize all Trendz features.
+We recommend following the [Docker (Linux or Mac OS) installation guide](/docs/trendz/install/docker) and using the Docker installation instead of Ubuntu.
+
+Proceed here **only** if you have a compelling reason to use a combined Ubuntu + Docker setup.
-This guide describes how to install Trendz Analytics on Ubuntu 22.04 LTS / 24.04 LTS.
+## Prerequisites
**Hardware requirements** depend on amount of analyzed data and amount of devices connected to the system.
To run Trendz Analytics on a single machine you will need at least 1Gb of free RAM.
@@ -70,7 +79,7 @@ sudo nano /etc/trendz/conf/trendz.conf
{: .copy-code}
Add ThingsBoard REST API URL that would be used for communicating with ThingsBoard Platform. In most cases, when Trendz installed
-in the same server with ThingsBoard, API_URL would be **http://localhost:8080**. Otherwise you should use ThingsBoard domain name.
+in the same server with ThingsBoard, API_URL would be **http://localhost:8080**. Otherwise, you should use ThingsBoard domain name.
```bash
# ThingsBoard URL that will be used by Trendz
@@ -79,7 +88,7 @@ export TB_API_URL=http://localhost:8080
{: .copy-code}
## Step 5. Configure Trendz database
-Trendz uses PostgreSQL as a database. You can install PostgreSQL on the same serverfor Trendz or use managed PostgreSQL
+Trendz uses PostgreSQL as a database. You can install PostgreSQL on the same server for Trendz or use managed PostgreSQL
service from your cloud vendor.
### PostgreSQL Installation
@@ -122,72 +131,16 @@ export SPRING_DATASOURCE_PASSWORD=PUT_YOUR_POSTGRESQL_PASSWORD_HERE
```
{: .copy-code}
-## Step 6. Install Trendz Python executor
-
-For writing custom Python models and transformation script you need to install Python libraries on the server where Trendz is installed.
-Alternative option is to run executor as a docker container, you can find how to do that in [install instructions for Docker](/docs/trendz/install/docker/#standalone-python-executor-service).
-But in this section we will write how to install Python libraries directly on the server with Trendz.
-
-#### Install Python3
-
-```bash
-sudo apt update
-sudo apt install python3
-sudo apt install python3-pip
-```
-{: .copy-code}
-
-#### Create a Virtual Environment
-
-```bash
-sudo mkdir -p /opt/venvs
-sudo python3 -m venv /opt/venvs/trendz_venv
-sudo chown -R trendz: /opt/venvs/trendz_venv
-```
-{: .copy-code}
-
-#### Install required python packages
-
-```bash
-sudo -u trendz /opt/venvs/trendz_venv/bin/pip install --no-cache-dir \
- numpy==1.26.3 \
- scikit-learn==1.4.2 \
- statsmodels==0.14.2 \
- tensorflow==2.16.1 \
- pandas==2.1.4 \
- matplotlib==3.8.4 \
- prophet==1.1.5 \
- xgboost==2.0.3
-```
-{: .copy-code}
-
-#### Configure venv connection for Trendz
-
-Edit Trendz configuration file
-
-```bash
-sudo nano /etc/trendz/conf/trendz.conf
-```
-{: .copy-code}
-
-Add the following lines to the configuration file:
-
-```bash
-export SCRIPT_ENGINE_USE_CUSTOM_VENV=true
-export SCRIPT_ENGINE_CUSTOM_VENV_PATH=/opt/venvs/trendz_venv/bin/python3
-```
-{: .copy-code}
-
-## Step 7. Run installation script
+## Step 6. Run installation script
Once Trendz service is installed and DB configuration is updated, you can execute the following script:
```bash
sudo /usr/share/trendz/bin/install/install.sh
```
-{: .copy-code}
+{: .copy-code}
-## Step 8. Start Trendz service
+## Step 7. Start Trendz service
Execute the following command to start Trendz Analytics:
@@ -201,7 +154,7 @@ Once started, you will be able to open Web UI using the following link:
```bash
http://localhost:8888/trendz
```
-**Note**: If Trendz installed on a remote server, you have to replace localhost with the public IP address of
+**Note**: If Trendz is installed on a remote server, you have to replace localhost with the public IP address of
the server or with a domain name. Also, check that port 8888 opened for public access.
@@ -212,6 +165,13 @@ For first authentication you need to use **Tenant Administrator** credentials fr
Trendz uses ThingsBoard as an authentication service. During first sign in ThingsBoard service should be also available
to validate credentials.
+## Step 8. Install Trendz Python Executor
+
+To utilize all Trendz capabilities, such as Trendz Python Calculation Fields or Prediction Models, it is essential to
+install an additional service: the Trendz Python Executor, which can securely run Python code.
+
+You can learn more about how to install it [here](/docs/trendz/install/python-executor-configuration-linux).
+
## Step 9. HTTPS configuration
You may want to configure HTTPS access using HAProxy.
diff --git a/docs/trendz/install/windows.md b/docs/trendz/install/windows.md
index aed9908aa3..c888cd49e4 100644
--- a/docs/trendz/install/windows.md
+++ b/docs/trendz/install/windows.md
@@ -10,10 +10,18 @@ description: Installing ThingsBoard Trendz Analytics on Windows
* TOC
{:toc}
-## Prerequisites
+This guide explains how to install **Trendz Analytics** on **Windows 10 or 11** (32-bit/64-bit).
+
+**Important note before proceeding with Windows installation**
+
+Certain Trendz Analytics features like **predictions, metric explorations, and Python calculation fields** require a Python executor.
+
+The python executor runs **only via Docker**. Even on Windows, Docker is essential to fully utilize all Trendz features.
+We recommend following the [Docker (Windows) installation guide](/docs/trendz/install/docker-windows) and using the Docker installation instead of Windows.
-This guide describes how to install Trendz Analytics on a Windows machine.
-Instructions below are provided for Windows 11/10 32-bit/64-bit.
+Proceed here **only** if you have a compelling reason to use a combined Windows + Docker setup.
+
+## Prerequisites
**Hardware requirements** depend on amount of analyzed data and amount of devices connected to the system.
To run Trendz Analytics on a single machine you will need at least 1Gb of free RAM.
@@ -117,185 +125,7 @@ datasource:
```
{: .copy-code}
-## Step 6. Install Trendz Python executor
-
-There are two options for installing Python to execute the necessary scripts in Trendz.
-
-**WARNING!**
-Before proceeding, make sure that Python is **not installed** on your system in any form — standalone, via the Microsoft Store, or Chocolatey. Failing to do so may lead to unexpected results during the installation process. See the Troubleshooting section for details.
-
-**WARNING!**
-It is important to use a specific Python version — **3.11.0**. Newer versions do not have prebuilt dependencies and require building them from source, which can lead to errors during dependency installation.
-
-### 1. Local environment
-
-In this option, Python will be installed on your Windows user account, and the required modules will be installed in the user scope (not system-wide).
-
-Follow the next steps:
-
-* **Download and install Python**
-
-Download and install Python 3.11.0 from the [official Python website](https://www.python.org/downloads/release/python-3110/).
-
-Download the Windows installer (64-bit) file and run it. When you see this window, select all proposed checkboxes.
-The administrator rights will be requested.
-
-
-
-Check the Python is installed by launching the command:
-
-```shell
-python --version
-```
-{: .copy-code}
-
-You will output like this:
-
-```text
-Python 3.11.0
-```
-
-* **Install required python packages**
-
-Create the requirements.txt file with the following content:
-
-```text
-numpy == 1.26.4
-scikit-learn == 1.4.2
-statsmodels == 0.14.2
-tensorflow == 2.16.1
-pandas == 2.1.4
-matplotlib == 3.8.4
-prophet == 1.1.5
-xgboost == 2.0.3
-```
-{: .copy-code}
-
-Run the command to install dependencies
-
-```shell
-pip install --user --no-cache-dir -r requirements.txt
-```
-{: .copy-code}
-
-* **Configure venv connection for Trendz**
-
-Open in Notepad with Administrator rights the file “C:\Program Files (x86)\trendz\conf\trendz.yml” and locate the **“script-engine”** section.
-
-Find the **“use-custom-venv”** field and replace **“false”** with **“true”**.
-Find the **“custom-venv-path”** field and replace the **“/usr/bin/python3”** value with **“python”**.
-
-### 2. Virtual environment (venv)
-
-In this option, Python will still be installed on your user account, but we will also create a virtual environment to manage dependencies in isolation from other projects and the base Python installation.
-
-Follow the next steps:
-
-* **Download and install Python**
-
-Download and install Python 3.11.0 from the [official Python website](https://www.python.org/downloads/release/python-3110/).
-
-Check the Python is installed by launching the command:
-
-```shell
-python --version
-```
-{: .copy-code}
-
-You will output like this:
-
-```text
-Python 3.11.0
-```
-
-* **Create python virtual environment (venv)**
-
-Create a folder where the virtual environment will be stored. You can choose any path — for example, we place it in the same directory as Trendz: **C:\Program Files (x86)\trendz**
-
-Open the command line **in the mentioned folder** and run:
-
-```shell
-py -3.11 -m venv venv
-```
-{: .copy-code}
-
-* **Install required python packages**
-
-Create the requirements.txt file with the following content:
-
-```text
-numpy == 1.26.4
-scikit-learn == 1.4.2
-statsmodels == 0.14.2
-tensorflow == 2.16.1
-pandas == 2.1.4
-matplotlib == 3.8.4
-prophet == 1.1.5
-xgboost == 2.0.3
-```
-{: .copy-code}
-
-Run the command to install dependencies:
-
-```shell
-.\venv\Scripts\pip.exe install --no-cache-dir -r requirements.txt
-```
-{: .copy-code}
-
-Open in Notepad with Administrator rights the file “C:\Program Files (x86)\trendz\conf\trendz.yml” and locate the **“script-engine”** section.
-
-Find the **“use-custom-venv”** field and replace **“false”** with **“true”**.
-Find the **“custom-venv-path”** field and replace the **“/usr/bin/python3”** value with **“C:\Program Files (x86)\trendz\venv\Scripts\python.exe”**.
-
-### Troubleshooting
-
-If you want to make a clean installation, you need to remove all previous versions of Python:
-
-* **1. Remove Python via “Programs and Features”**
-
-Click on **Start**, then go to **Control Panel** → **Programs** → **Programs and Features**, find Python and Python Launcher, and remove them.
-
-
-
-You will see the uninstallation window like this:
-
-
-
-* **2. Uninstall Python from Chocolatey**
-
-Open **PowerShell as Administrator** and run:
-
-```shell
-choco uninstall python
-```
-
-If you want to be sure no remnants are left, you can also check for:
-**`C:\ProgramData\chocolatey\lib\python*`**
-and delete it manually if needed.
-
-
-
-* **3. Remove aliases**
-
-Also, you need to switch off the Python aliases that can cause issues with working with Python in the command line.
-For this purpose, you need to go to **Settings** → **Apps** → **Advanced app settings** → **App execution aliases** and find all items related to Python and switch them off.
-
-
-
-* **4. Remove remaining folders**
-
-Make sure to delete the following folders along with all of their contents:
-
-* C:\Users\\AppData\Local\Programs\Python
-* C:\Users\\AppData\Roaming\Python
-
-* **5. Last check**
-
-Now, if you type “python” in the command line, you will get an error output like this one.
-
-
-
-## Step 7. Run installation script
+## Step 6. Run installation script
Launch windows shell (Command Prompt) as Administrator. Change directory to your Trendz installation directory.
@@ -314,7 +144,7 @@ Installing Trendz Analytics...
Trendz Analytics installed successfully!
```
-## Step 8. Start Trendz service
+## Step 7. Start Trendz service
Now let's start the Trendz service!
Open the command prompt as an Administrator and execute the following command:
@@ -354,6 +184,13 @@ For first authentication you need to use **Tenant Administrator** credentials fr
Trendz uses ThingsBoard as an authentication service. During first sign in ThingsBoard service should be also available
to validate credentials.
+## Step 8. Install Trendz Python Executor
+
+To utilize all Trendz capabilities, such as Trendz Python Calculation Fields or Prediction Models, it is essential to
+install an additional service: the Trendz Python Executor, which can securely run Python code.
+
+You can learn more about how to install it [here](/docs/trendz/install/python-executor-configuration-windows).
+
## Post-installation steps
It is essential to follow these [instructions](/docs/trendz/post-installation-steps) to fully use all features, such as saving telemetry to ThingsBoard and adding Trendz views to dashboards.
diff --git a/docs/trendz/releases.md b/docs/trendz/releases.md
index ec8e3db036..5dd7f17a93 100644
--- a/docs/trendz/releases.md
+++ b/docs/trendz/releases.md
@@ -8,6 +8,32 @@ description: ThingsBoard Trendz Analytics Release Notes
* TOC
{:toc}
+## v1.14.0 (Now 6, 2025)
+
+**Improvements:**
+
+* Added Metric Explorer feature.
+* Added Native Calculation Fields.
+* Introduced new view type: AI Card.
+* Added ability to use multiple AI models.
+* Added ability to test prompts.
+* Added Markdown support in AI Summary module.
+* Added support for ARM architecture.
+* Added support for non-numerical calculation fields.
+* Added ability to install custom libraries in the Python Executor.
+* Added support for MSSQL, MySQL, and Oracle databases for external datasource logic.
+* Improved performance by prioritizing UI requests over background tasks.
+* Improved UI for anomaly models.
+
+**Bug fixes:**
+
+* Fixed average aggregation.
+* Fixed prompt and view summary task logic.
+* Fixed Python security issue.
+* Fixed state field logic.
+* Fixed tooltip visibility issues.
+* Fixed issue when a device became active after telemetry was sent.
+
## v1.13.2 (June 27, 2025)
**Improvements:**