Skip to content
This repository was archived by the owner on May 22, 2026. It is now read-only.

Commit 43caba3

Browse files
committed
Release script
1 parent 5d5d4cc commit 43caba3

40 files changed

Lines changed: 1083 additions & 1083 deletions

_data/clients-feedback.yml

Lines changed: 68 additions & 68 deletions
Large diffs are not rendered by default.

_includes/docs/mobile/app-icon-splash-screen.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Choose one of this options, depending on how you want your splash screen to look
3636

3737
<div style="display: flex; flex-direction: row;">
3838
<div style="display: flex; flex-direction: column; align-items: center;">
39-
<img width="" src="/images/mobile/pe/splash_screen_sizes_template.png" title="Splash screen icon layout" alt="Splash screen icon layout">
39+
<img width="" src="https://img.thingsboard.io/mobile/pe/splash_screen_sizes_template.png" title="Splash screen icon layout" alt="Splash screen icon layout">
4040
<span style="margin-top: 16px; font-size: 90%; color: #6c757d;">Splash screen icon layout</span>
4141
</div>
4242
</div>
@@ -190,7 +190,7 @@ If you have configured push notifications (see [push notifications setup guide](
190190

191191
<div style="display: flex; flex-direction: row;">
192192
<div style="display: flex; flex-direction: column; align-items: center;">
193-
<img width="" src="/images/mobile/asset_studio.png" title="Android asset studio flow" alt="Android asset studio flow">
193+
<img width="" src="https://img.thingsboard.io/mobile/asset_studio.png" title="Android asset studio flow" alt="Android asset studio flow">
194194
</div>
195195
</div>
196196

_includes/docs/mobile/localization.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Navigate to the `lib/l10n` directory in your project. You will see files like:
2525
- `intl_en.arb`
2626
- And other language files
2727

28-
![image](/images/mobile/localization-l10n-folder.png)
28+
![image](https://img.thingsboard.io/mobile/localization-l10n-folder.png)
2929

3030
### Step 2: Create Your Language File
3131

_includes/docs/mobile/qr-code-settings-before-v1.7.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ Find the app package name **applicationId** in **build.gradle** file located at
5151

5252
If your app distributed via Google Play you need to use SHA-256 certificate fingerprint located in your developer account under **Release> Setup > App Integrity> App Signing tab:**
5353

54-
![image](/images/mobile/sha256-fingerprint.png)
54+
![image](https://img.thingsboard.io/mobile/sha256-fingerprint.png)
5555

5656
If you app distributed locally you need to use the sha256 key your apk signed with
5757

@@ -96,4 +96,4 @@ To find the bundle ID (**App ID**), you need to:
9696
- Click the "Signing & Capabilities" pane;
9797
- Find the bundle identifier (App ID) in the "Signing" section.
9898

99-
![image](/images/mobile/qr-code-app-id.png)
99+
![image](https://img.thingsboard.io/mobile/qr-code-app-id.png)

_includes/docs/mobile/qr-code-settings.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ Navigate to **Mobile Center → Applications → Your custom iOS app** in the Th
2020

2121
Provide the **App Site Association ID** in your app store info settings:
2222

23-
![App Site Association ID Configuration](/images/mobile/{{peDocsPrefix}}qr-code-settings-ios-store-info.png)
23+
![App Site Association ID Configuration](https://img.thingsboard.io/mobile/{{peDocsPrefix}}qr-code-settings-ios-store-info.png)
2424

2525
The App Site Association ID consists of two parts separated by a dot:
2626

2727
**1. App Store Team ID**
2828
- Get your Team ID from [Apple Developer Account](https://developer.apple.com/account)
2929
- Look for it in the "Membership details" block
3030

31-
![Team ID Location](/images/mobile/qr-code-settings-team-id.png)
31+
![Team ID Location](https://img.thingsboard.io/mobile/qr-code-settings-team-id.png)
3232

3333
**2. App Bundle ID**
3434
- Must be the same as the Application package in your app settings
@@ -42,13 +42,13 @@ Navigate to **Mobile Center → Applications → Your custom Android app** in th
4242

4343
Provide the **SHA-256 fingerprint** of your app's signing key:
4444

45-
![SHA-256 Fingerprint Configuration](/images/mobile/{{peDocsPrefix}}qr-code-settings-sha256.png)
45+
![SHA-256 Fingerprint Configuration](https://img.thingsboard.io/mobile/{{peDocsPrefix}}qr-code-settings-sha256.png)
4646

4747
**For Google Play distributed apps:**
4848
Use the SHA-256 certificate fingerprint located in your Google Play Console under:
4949
**Release → Setup → App Integrity → App Signing tab**
5050

51-
![Google Play SHA-256 Fingerprint](/images/mobile/sha256-fingerprint.png)
51+
![Google Play SHA-256 Fingerprint](https://img.thingsboard.io/mobile/sha256-fingerprint.png)
5252

5353
**For locally distributed apps:**
5454
Use the SHA-256 key that your APK is signed with.

_includes/docs/mobile/release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Your app package name and app name will come preconfigured from your Mobile Cent
1212

1313
If you need to change some settings, we recommend updating them in the Mobile Center and redownloading the configuration file from the Mobile Center. This ensures consistency and prevents configuration conflicts.
1414

15-
![image](/images/mobile/{{peDocsPrefix}}release-redownload-config.png)
15+
![image](https://img.thingsboard.io/mobile/{{peDocsPrefix}}release-redownload-config.png)
1616

1717
{% capture config_note %}
1818
**Note:** Always use the Mobile Center to manage your app configuration rather than manually editing configuration files. This approach ensures all settings remain synchronized and reduces the risk of errors.

_includes/docs/samples/analytics/ai-predictive-maintenance.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ This document describes a ThingsBoard solution that turns raw device telemetry i
1212

1313
### Architecture
1414

15-
![image](/images/samples/analytics/iot-anomaly-detection-diagram.svg)
15+
![image](https://img.thingsboard.io/samples/analytics/iot-anomaly-detection-diagram.svg)
1616

1717
### Prerequisites
1818

_includes/docs/user-guide/dashboards.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -373,15 +373,15 @@ For the state to be named after the entity, use **${entityName}** as the name of
373373
A Tenant Administrator or Customer User can **generate a report** from the currently opened dashboard in **PDF**, **PNG**, or **JPEG** format.
374374
- Click the "**Export Dashboard**" button, located on the right side of the dashboard toolbar.
375375

376-
<object width="40%" data="/images/user-guide/dashboards/overview/generate-report-from-dashboard-1-pe.png"></object>
376+
<object width="40%" data="https://img.thingsboard.io/user-guide/dashboards/overview/generate-report-from-dashboard-1-pe.png"></object>
377377

378378
- In the expanded drop-down menu, select the desired export format.
379379

380-
<object width="40%" data="/images/user-guide/dashboards/overview/generate-report-from-dashboard-2-pe.png"></object>
380+
<object width="40%" data="https://img.thingsboard.io/user-guide/dashboards/overview/generate-report-from-dashboard-2-pe.png"></object>
381381

382382
- The report generation process will start automatically.
383383

384-
<object width="40%" data="/images/user-guide/dashboards/overview/generate-report-from-dashboard-3-pe.png"></object>
384+
<object width="40%" data="https://img.thingsboard.io/user-guide/dashboards/overview/generate-report-from-dashboard-3-pe.png"></object>
385385

386386
And finally, the report file will be automatically downloaded and saved to your PC.
387387

_includes/docs/user-guide/rule-engine-2-0/external-nodes.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ When you select a model from the list, all of its settings defined on that page
2424
For convenience, you can also add a new model directly from this interface by clicking the "Create new" button, which will open the model configuration form.
2525

2626
{% if docsPrefix == null %}
27-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-ai-model-ce.png)
27+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-ai-model-ce.png)
2828
{% else %}
29-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-ai-model-pe.png)
29+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-ai-model-pe.png)
3030
{% endif %}
3131

3232
**Prompt settings**
@@ -35,18 +35,18 @@ For convenience, you can also add a new model directly from this interface by cl
3535
> **Example**: "You are a helpful agricultural expert. Your goal is to analyze sensor data and provide farming advice. Respond only in valid JSON."
3636
3737
{% if docsPrefix == null %}
38-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-system-prompt.png)
38+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-system-prompt.png)
3939
{% else %}
40-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-system-prompt.png)
40+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-system-prompt.png)
4141
{% endif %}
4242

4343
- **User prompt** - contains the specific, immediate task or question you want the AI to answer. This is the main input for the model, which will be processed according to the rules set in the system prompt. This field is required, cannot be blank, and also has a maximum length of 10,000 characters.
4444
> **Example**: "Based on these readings, is the soil moisture optimal for planting corn? Readings: `$[*]`"
4545
4646
{% if docsPrefix == null %}
47-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-user-prompt.png)
47+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-user-prompt.png)
4848
{% else %}
49-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-user-prompt.png)
49+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-user-prompt.png)
5050
{% endif %}
5151

5252
You can make both prompts dynamic (incorporate data from an incoming message) using [templatization](/docs/{{docsPrefix}}user-guide/templatization/). This is the recommended approach when you need to provide the context of a message to the AI model.
@@ -78,24 +78,24 @@ Example: If the prompt is `Device context: ${*}` and the incoming metadata is:
7878
- **Text** - most flexible format, supported by all models. In this mode, the AI can generate free-form text without any structural constraints. While the output is not guaranteed to be in any specific format, you can still guide the model to produce structured data (like JSON) through clear instructions in your prompts.
7979

8080
{% if docsPrefix == null %}
81-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-response-format-text-ce.png)
81+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-response-format-text-ce.png)
8282
{% else %}
83-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-response-format-text-pe.png)
83+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-response-format-text-pe.png)
8484
{% endif %}
8585

8686
- **JSON** - instructs the model to generate a response that is always a syntactically valid JSON. The model decides on the JSON structure itself based on the context of the prompt.
8787

8888
{% if docsPrefix == null %}
89-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-response-format-json-ce.png)
89+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-response-format-json-ce.png)
9090
{% else %}
91-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-response-format-json-pe.png)
91+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-response-format-json-pe.png)
9292
{% endif %}
9393

9494
- **JSON Schema** - forces the model to generate a JSON that strictly conforms to a specific structure you define using a [JSON Schema](https://json-schema.org/). This is useful for ensuring reliable output.
9595
{% if docsPrefix == null %}
96-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-response-format-json-schema-ce.png)
96+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-response-format-json-schema-ce.png)
9797
{% else %}
98-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-response-format-json-schema-pe.png)
98+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-response-format-json-schema-pe.png)
9999
{% endif %}
100100
- **Schema** - JSON Schema that the model's output must adhere to. The schema parser supports a specific subset of the JSON Schema specification:
101101
- Types - `string`, `integer`, `number`, `boolean`, `object`, `array`, `null`.
@@ -110,17 +110,17 @@ Example: If the prompt is `Device context: ${*}` and the incoming metadata is:
110110

111111
- **Timeout** - the maximum time the node will wait for a response from the AI model before the request fails. The value must be from 1 second to 10 minutes (600 seconds).
112112
{% if docsPrefix == null %}
113-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-timeout.png)
113+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-timeout.png)
114114
{% else %}
115-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-timeout.png)
115+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-timeout.png)
116116
{% endif %}
117117
> **Note**: Be careful when setting this value. Complex tasks or slower models may require more time to generate a response. A timeout that is too low for your use case might cause requests to fail unnecessarily.
118118
119119
- **Force acknowledgement**
120120
{% if docsPrefix == null %}
121-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-force-ack.png)
121+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-force-ack.png)
122122
{% else %}
123-
![image](/images/user-guide/rule-engine-2-0/nodes/external-ai-request-force-ack.png)
123+
![image](https://img.thingsboard.io/user-guide/rule-engine-2-0/nodes/external-ai-request-force-ack.png)
124124
{% endif %}
125125
- If enabled, the incoming message is acknowledged immediately. A new message is created to carry the AI's response and is then added to the queue for processing by the next node. This is useful for long-running AI requests to prevent message processing timeouts.
126126
- If disabled, the original incoming message is transformed. Its payload is replaced with the AI's response, and this message is passed to the next node.

docs/edge/user-guide/troubleshooting.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ description: ThingsBoard Edge troubleshooting
55

66
how-to-import-dashboard:
77
0:
8-
image: /images/edge/user-guide/troubleshooting/download.webp
8+
image: https://img.thingsboard.io/edge/user-guide/troubleshooting/download.webp
99
1:
10-
image: /images/edge/user-guide/troubleshooting/import.webp
10+
image: https://img.thingsboard.io/edge/user-guide/troubleshooting/import.webp
1111
2:
12-
image: /images/edge/user-guide/troubleshooting/import-1.webp
12+
image: https://img.thingsboard.io/edge/user-guide/troubleshooting/import-1.webp
1313

1414
internal-monitoring-main:
1515
0:

0 commit comments

Comments
 (0)