Skip to content

Commit 90a921e

Browse files
committed
chore: forward-port release-1.2
Signed-off-by: Francesco Noacco <francesco.noacco@secomind.com>
2 parents 589e3aa + 44dd26e commit 90a921e

10 files changed

Lines changed: 21 additions & 15 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,15 +104,18 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
104104
- [astarte_data_updater_plant] Correctly encode values when sending properties to device on connection
105105
- [astarte_realm_management] Allow to delete long-disconnected devices. For this to work, Realm Management needs `CLUSTERING_STRATEGY`, `CLUSTERING_KUBERNETES_NAMESPACE` and `DATA_UPDATER_PLANT_CLUSTERING_KUBERNETES_SELECTOR` to be set, just like AppEngine and DUP. Refer to 1.2.1-rc.0 for additional information on the variables.
106106

107-
## [1.2.1] - Unreleased
107+
## [1.2.1] - 2026-03-12
108108

109109
### Fixed
110110

111111
- [astarte_realm_management] Insufficient validation for conflicting options in interface aggregate mappings
112112
[#1072](https://github.com/astarte-platform/astarte/issues/1072)
113+
- [astarte_data_updater_plant] Ensure device deletion rpc always checks updated status
113114

114115
## [1.2.1-rc.1] - 2026-02-13
115116

117+
### Fixed
118+
116119
- [astarte_realm_management] Bug where devices got stuck in the "in deletion" status: [#1493](https://github.com/astarte-platform/astarte/issues/1493).
117120
- [astarte_data_updater_plant] Correctly reconnect to AMQP after a connection loss
118121
- [astarte_data_updater_plant] Fix possible crash when sending data on interface-specific volatile triggers

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Astarte
22

3-
![](https://github.com/astarte-platform/astarte/workflows/Build%20and%20Test%20Astarte%20Apps/badge.svg?branch=v1.2.0)
4-
[![codecov](https://codecov.io/gh/astarte-platform/astarte/tag/v1.2.0/graph/badge.svg)](https://codecov.io/gh/astarte-platform/astarte)
3+
![](https://github.com/astarte-platform/astarte/workflows/Build%20and%20Test%20Astarte%20Apps/badge.svg?branch=v1.2.1)
4+
[![codecov](https://codecov.io/gh/astarte-platform/astarte/tag/v1.2.1/graph/badge.svg)](https://codecov.io/gh/astarte-platform/astarte)
55

66
<img src="doc/images/mascotte.svg" align="left" width="160px" />Astarte is an Open Source IoT
77
platform focused on Data management and processing written in [Elixir](https://github.com/elixir-lang/elixir).
@@ -34,7 +34,7 @@ Can't be easier. Pick your favorite machine with at least 4GB of free RAM, make
3434
[Docker](https://www.docker.com/), and simply:
3535

3636
```sh
37-
$ git clone https://github.com/astarte-platform/astarte.git -b v1.2.0 && cd astarte
37+
$ git clone https://github.com/astarte-platform/astarte.git -b v1.2.1 && cd astarte
3838
$ docker run -v $(pwd)/compose:/compose astarte/docker-compose-initializer:1.1
3939
$ docker compose pull
4040
$ docker compose up -d

apps/astarte_data_updater_plant/lib/astarte_data_updater_plant/data_updater/impl.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ defmodule Astarte.DataUpdaterPlant.DataUpdater.Impl do
117117
end
118118

119119
def start_device_deletion(state, timestamp) do
120+
# Force deletion status check
121+
state = %{state | last_deletion_in_progress_refresh: 0}
122+
120123
# Device deletion is among time-based actions
121124
new_state = TimeBasedActions.execute_time_based_actions(state, timestamp)
122125

apps/astarte_data_updater_plant/lib/astarte_data_updater_plant/data_updater/server.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ defmodule Astarte.DataUpdaterPlant.DataUpdater.Server do
2020
@moduledoc """
2121
This module implements the GenServer responsible for managing the state of a single device in the DataUpdaterPlant.
2222
"""
23-
use GenServer
23+
use GenServer, restart: :transient
2424
alias Astarte.DataUpdaterPlant.Config
2525
alias Astarte.DataUpdaterPlant.DataUpdater.Core
2626
alias Astarte.DataUpdaterPlant.DataUpdater.Impl

apps/astarte_data_updater_plant/lib/astarte_data_updater_plant/message_tracker/server.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ defmodule Astarte.DataUpdaterPlant.MessageTracker.Server do
2121
This module implements the GenServer responsible for tracking the messages.
2222
"""
2323
require Logger
24-
use GenServer
24+
use GenServer, restart: :transient
2525

2626
@base_backoff 1000
2727
@random_backoff 9000

doc/pages/architecture/030-interface.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ The following types are supported:
152152
- `doublearray`, `integerarray`, `booleanarray`, `longintegerarray`, `stringarray`,
153153
`binaryblobarray`, `datetimearray`: A list of values, represented as a JSON Array. Arrays can have
154154
up to 1024 items and each item must respect the limits of its scalar type (_i.e._ each string in a
155-
`stringarray` must be at most 65535 bytes long, each binary blob in a `binaryblobarray` must be
155+
`stringarray` must be at most 65536 bytes long, each binary blob in a `binaryblobarray` must be
156156
shorter than 64 KiB.
157157

158158
Make sure that the differences between two distinct interface names are not limited to the casing or

doc/pages/tutorials/010-astarte_in_5_minutes.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ Ubuntu 22.04 and macOS 10.15 Catalina, but any other modern operating system sho
6060
To get our Astarte instance running as fast as possible, we will install Astarte's standalone distribution. It includes a tunable Docker Compose which brings up Astarte and every companion service needed for it to work. To do so, simply clone Astarte's main repository and use its scripts to bring it up:
6161

6262
```sh
63-
$ git clone https://github.com/astarte-platform/astarte.git -b v1.2.0 && cd astarte
64-
$ docker run -v $(pwd)/compose:/compose astarte/docker-compose-initializer:1.2.0
63+
$ git clone https://github.com/astarte-platform/astarte.git -b v1.2.1 && cd astarte
64+
$ docker run -v $(pwd)/compose:/compose astarte/docker-compose-initializer:1.2.1
6565
$ docker compose pull
6666
$ docker compose up -d
6767
```

doc/pages/user/040-connect_device.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@ Secret_. This _Credentials Secret_ is the token the device uses for performing t
2121
routine, which results in the device obtaining its Credentials for accessing its designated
2222
Transport.
2323

24-
A Device's _Credentials Secret_ allows access to [Pairing API's Device REST API](https://docs.astarte-platform.org/astarte/1.1/api/?urls.primaryName=Pairing%20API#/device),
24+
A Device's _Credentials Secret_ allows access to [Pairing API's Device REST API](https://docs.astarte-platform.org/astarte/1.2/api/?urls.primaryName=Pairing%20API#/device),
2525
which is then used for obtaining information about which Transports the Device can use for
2626
communicating, and for obtaining Credentials for its assigned Transports.
2727

28-
The ability to request Credentials of a Device can be inhibited with [AppEngine API](https://docs.astarte-platform.org/astarte/1.1/api/#/device/updateDeviceStatus) or using
29-
[`astartectl`](https://github.com/astarte-platform/astartectl) with this command:
28+
The ability to request Credentials of a Device can be inhibited with [AppEngine API](https://docs.astarte-platform.org/astarte/1.2/api/#/device/updateDeviceStatus)
29+
or using [`astartectl`](https://github.com/astarte-platform/astartectl) with this command:
3030

3131
```bash
3232
astartectl appengine devices credentials inhibit <device_id_or_alias> true \

doc/pages/user/080-grafana_datasource.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ You can browse the source code of this plugin on its
1414
## Try it!
1515

1616
When deploying locally using `docker-compose` as mentioned in the
17-
[Astarte in 5 mins tutorial](https://docs.astarte-platform.org/astarte/1.1/010-astarte_in_5_minutes.html#install-astarte),
17+
[Astarte in 5 mins tutorial](https://docs.astarte-platform.org/astarte/1.2/010-astarte_in_5_minutes.html#install-astarte),
1818
Astarte Datasource Plugin will be automatically installed. You may then access Grafana
1919
by visiting http://grafana.astarte.localhost.
2020

docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ services:
143143
- "scylla"
144144

145145
astarte-dashboard:
146-
image: astarte/astarte-dashboard:1.2-snapshot
146+
image: astarte/astarte-dashboard:snapshot
147147
volumes:
148148
- ./compose/astarte-dashboard/config.json:/usr/share/nginx/html/user-config/config.json:z
149149
depends_on:
@@ -255,7 +255,7 @@ services:
255255

256256
# VerneMQ
257257
vernemq:
258-
image: astarte/vernemq:1.3.0-rc.1
258+
image: astarte/vernemq:1.3-snapshot
259259
hostname: vernemq
260260
env_file:
261261
- ./.env

0 commit comments

Comments
 (0)