Skip to content

Commit 55ff364

Browse files
committed
chore: prepare v1.4.0-rc.0
Signed-off-by: Francesco Noacco <francesco.noacco@secomind.com>
1 parent f7fe895 commit 55ff364

File tree

19 files changed

+56
-19
lines changed

19 files changed

+56
-19
lines changed

CHANGELOG.md

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,27 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## Unreleased
99

10-
## Added
10+
## [1.4.0-rc.0] - 2026-04-08
1111

12+
### Added
13+
14+
- Add required flag for mappings of object aggregated interfaces
15+
- [astarte_pairing] Support for FIDO Device Onboard v1.1 for device registration. The following environment variables have been added for the Vault connectivity:
16+
- `ASTARTE_VAULT_URL` - The URL to access Vault.
17+
- `ASTARTE_VAULT_AUTHENTICATION_MECHANISM` - The mechanism to use for authenticating with Vault (default: `""`, allowed: \["token"])
18+
- `ASTARTE_VAULT_TOKEN` - Token to authenticate with Vault, used if `ASTARTE_VAULT_AUTHENTICATION_MECHANISM` is `"token"` (default: `""`)
19+
- `ASTARTE_VAULT_SSL_CA_FILE` - path to the CA certificate file for the vault TLS connection; when not specified, the bundled cURL certificate bundle will be used
20+
- `ASTARTE_VAULT_SSL_CUSTOM_SNI` - custom SNI hostname for the vault TLS connection; when not specified, the vault hostname will be used
21+
- `ASTARTE_VAULT_SSL_DISABLE_SNI` - Disable Server Name Indication for Vault. (default: `false`)
22+
- `ASTARTE_VAULT_SSL_ENABLED` - Whether to enable SSL for the Vault connection. (default `false`)
1223
- [astarte_realm_management] Allow listing interfaces with mappings using the `detailed=true` parameter
1324
- [astarte_import] Added support for data types: `doublearray`, `integerarray`,
1425
`booleanarray`, `longintegerarray`, `stringarray`, `datetimearray`, `binaryblobarray`.
1526

27+
### Changed
28+
29+
- [astarte_data_updater_plant] Use mississippi consumer for data updater processes
30+
1631
## [1.3.0] - Unreleased
1732

1833
### Changed

apps/astarte_appengine_api/mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ defmodule Astarte.AppEngine.API.Mixfile do
2222
[
2323
app: :astarte_appengine_api,
2424
elixir: "~> 1.15",
25-
version: "1.4.0-dev",
25+
version: "1.4.0-rc.0",
2626
elixirc_paths: elixirc_paths(Mix.env()),
2727
start_permanent: Mix.env() == :prod,
2828
test_coverage: [tool: ExCoveralls],

apps/astarte_data_updater_plant/mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ defmodule Astarte.DataUpdaterPlant.Mixfile do
2323
[
2424
app: :astarte_data_updater_plant,
2525
elixir: "~> 1.15",
26-
version: "1.4.0-dev",
26+
version: "1.4.0-rc.0",
2727
build_embedded: Mix.env() == :prod,
2828
start_permanent: Mix.env() == :prod,
2929
elixirc_paths: elixirc_paths(Mix.env()),

apps/astarte_housekeeping/mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ defmodule Astarte.Housekeeping.Mixfile do
2222
def project do
2323
[
2424
app: :astarte_housekeeping,
25-
version: "1.4.0-dev",
25+
version: "1.4.0-rc.0",
2626
elixir: "~> 1.15",
2727
elixirc_paths: elixirc_paths(Mix.env()),
2828
start_permanent: Mix.env() == :prod,

apps/astarte_pairing/mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ defmodule Astarte.Pairing.Mixfile do
2323
[
2424
app: :astarte_pairing,
2525
elixir: "~> 1.15",
26-
version: "1.4.0-dev",
26+
version: "1.4.0-rc.0",
2727
elixirc_paths: elixirc_paths(Mix.env()),
2828
start_permanent: Mix.env() == :prod,
2929
test_coverage: [tool: ExCoveralls],

apps/astarte_realm_management/mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ defmodule Astarte.RealmManagement.Mixfile do
2222
def project do
2323
[
2424
app: :astarte_realm_management,
25-
version: "1.4.0-dev",
25+
version: "1.4.0-rc.0",
2626
build_path: "_build",
2727
config_path: "config/config.exs",
2828
deps_path: "deps",

apps/astarte_trigger_engine/mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ defmodule Astarte.TriggerEngine.Mixfile do
2323
[
2424
app: :astarte_trigger_engine,
2525
elixir: "~> 1.15",
26-
version: "1.4.0-dev",
26+
version: "1.4.0-rc.0",
2727
elixirc_paths: elixirc_paths(Mix.env()),
2828
build_embedded: Mix.env() == :prod,
2929
start_permanent: Mix.env() == :prod,

doc/mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ defmodule Doc.MixProject do
1010

1111
[
1212
app: :doc,
13-
version: "1.4.0-dev",
13+
version: "1.4.0-rc.0",
1414
elixir: "~> 1.15",
1515
start_permanent: Mix.env() == :prod,
1616
deps: deps(),

doc/pages/user/035-register_device.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,26 @@ the Device, which includes securing the communication channel. On the other hand
9191
extremely flexible approach to Registration, which can be implemented through an entirely custom
9292
logic.
9393

94+
## FIDO Device Onboard
95+
96+
Since v1.4.0, Astarte can also be used as the Owner Onboarding Service for [FDO 1.1], allowing
97+
devices to be registered without being aware of their destination realm during device
98+
initialization. Device Initialization is out of scope for the Astarte implementation of FDO, and
99+
Astarte expects an external rendezvous server to be available and correctly configured.
100+
101+
When using FDO, the Device ID is derived from the device's hardware id, and the
102+
_Credentials Secret_ is sent directly to the device in the Owner Service Info messages.
103+
104+
### Key management
105+
106+
Astarte needs access to the owner private key in order to complete the Transfer Ownership protocol.
107+
Vault/OpenBao is used as a safe storage solution, and messages are signed directly by it without
108+
ever being downloaded by Astarte.
109+
110+
In order to import your keys, you may either upload your private key to astarte, which is imported
111+
in Vault and immediately forgotten, or have Vault generate a keypair for you, and then you can use
112+
the new public key to extend the Ownership Voucher yourself.
113+
94114
## Credentials Secret Lifecycle
95115

96116
_Credentials Secrets_ are meant to be immutable - as such, they should be handled with extreme care.
@@ -113,3 +133,5 @@ If there's the need of registering the device again (e.g.: a Device has been tam
113133
to its plant with its previous _Credentials Secret_ compromised), it is possible to explicitly
114134
unregister the device to obtain a new _Credentials Secret_ using [Pairing's Agent APIs](api/index.html?urls.primaryName=Pairing%20API#/agent/unregisterDevice) or with `astartectl`
115135
(see the output of `astartectl pairing agent unregister -h` for more documentation).
136+
137+
[FDO 1.1]: https://fidoalliance.org/device-onboarding-overview/

docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ services:
295295

296296
# VerneMQ
297297
vernemq:
298-
image: astarte/vernemq:snapshot
298+
image: astarte/vernemq:1.4.0-rc.0
299299
hostname: vernemq
300300
env_file:
301301
- ./.env

0 commit comments

Comments
 (0)