1
- Release 25.0 (Unreleased)
2
- -------------------------
3
- As announced
4
- `before <https://github.com/labgrid-project/labgrid/discussions/1467#discussioncomment-10314852 >`_,
5
- this is the first release using `gRPC <https://grpc.io/ >`_ instead of crossbar/autobahn for
6
- communication between client/exporter and coordinator.
7
-
8
- Crossbar/autobahn are unfortunately not very well maintained anymore. The
9
- crossbar component was moved to its own virtualenv to cope with the high number
10
- of dependencies leading to conflicts. Support for Python 3.13 is still not
11
- available in a crossbar release on PyPI.
12
-
13
- That's why labgrid moves to gRPC with this release. gRPC is a well maintained
14
- RPC framework with a lot of users. As a side effect, the message transfer is
15
- more performant and the import times are shorter.
16
-
17
- This is a **breaking change **. Version 25.0 exporters / coordinators / clients can
18
- not communicate with Version 24.0 and earlier exporters / coordinators / clients.
1
+ Release 25.0 (Released May 7, 2025)
2
+ -----------------------------------
3
+ As announced `before
4
+ <https://github.com/labgrid-project/labgrid/discussions/1467#discussioncomment-10314852> `_,
5
+ this is the first release using `gRPC <https://grpc.io/ >`_ instead of
6
+ crossbar/autobahn for communication between client/exporter and coordinator.
7
+
8
+ Crossbar/autobahn are unfortunately not very well maintained anymore.
9
+ In labgrid, the crossbar component was moved to its own virtualenv to cope with
10
+ the high number of conflicts caused by outdated dependencies.
11
+ Also, Python 3.13 is not supported in an official crossbar release.
12
+
13
+ That's why labgrid moves to gRPC with this release.
14
+ gRPC is a well maintained RPC framework with a lot of users.
15
+ As a side effect, the message transfer is more performant and the import times
16
+ are shorter.
17
+
18
+ This is a **breaking change **.
19
+ Version 25.0 exporters / coordinators / clients can not communicate with
20
+ Version 24.0 and earlier exporters / coordinators / clients.
19
21
All exporters, coordinators and clients in a deployment have to be updated at
20
- the same time. See the "Breaking changes in 25.0" section below for more information.
22
+ the same time.
23
+ See the "Breaking changes in 25.0" section below for more information.
21
24
22
25
New Features in 25.0
23
26
~~~~~~~~~~~~~~~~~~~~
@@ -33,7 +36,7 @@ New Features in 25.0
33
36
statistics.
34
37
- Add support for LogiLink UA0379 / Microdia cameras to the ``USBVideoDriver ``.
35
38
- Add more backends to the ``NetworkPowerDriver ``:
36
-
39
+
37
40
- Gude 87-1210-18
38
41
- Digital Loggers PDUs via the REST API
39
42
- Ubiquity mFi mPower power strips
@@ -45,6 +48,13 @@ New Features in 25.0
45
48
- Make the ``QEMUDriver `` configuration more flexible and improve startup error
46
49
reporting.
47
50
- Support labgrid-client power via GPIOs.
51
+ - The Getting Started chapter in the docs was improved.
52
+ - The systemd service for the labgrid-exporter is now configured with
53
+ ``Restart=always ``.
54
+ - Support listing only unused/released places with ``labgrid-client places ``.
55
+ - Replace deprecated SmartStrip class with IotStrip in the tplink power
56
+ backend.
57
+ - Add a ``erase() `` method to the ``AndroidFastbootDriver ``.
48
58
49
59
Bug fixes in 25.0
50
60
~~~~~~~~~~~~~~~~~
@@ -57,24 +67,39 @@ Bug fixes in 25.0
57
67
- Add new stlink USB IDs for the ``USBDebugger `` resource.
58
68
- Fix code coverage reporting and submit test results to codecov.
59
69
- Fix waiting for ``NetworkService `` created by the ``DockerDaemon ``.
70
+ - Fix error handling for missing interfaces in the ``NetworkInterfaceDriver ``'s
71
+ agent.
72
+ - Fix ``pip install `` for archives auto-generated by GitHub.
60
73
61
74
Breaking changes in 25.0
62
75
~~~~~~~~~~~~~~~~~~~~~~~~
63
76
Maintaining support for both crossbar/autobahn as well as gRPC in labgrid would
64
- be a lot of effort due to the different architectures of those frameworks.
65
- Therefore, a hard migration to gRPC is deemed the lesser issue.
77
+ be a lot of effort due to their different architectures.
78
+ Therefore, hard migration to gRPC is required.
79
+
80
+ Previously, the coordinator was running as a component started by the crossbar.
81
+ Now, it is a standalone service which exposes a gRPC API directly.
66
82
67
- Due to the migration, 25.0 includes the following breaking changes:
83
+ Due to the gRPC migration, 25.0 includes the following breaking changes:
68
84
69
- - The labgrid environment config option ``crossbar_url `` was renamed to
70
- ``coordinator_address ``. The environment variable `` LG_CROSSBAR `` was renamed
71
- to ``LG_COORDINATOR ``.
85
+ - The labgrid environment config option ``crossbar_url `` was replaced by
86
+ ``coordinator_address ``.
87
+ The environment variable `` LG_CROSSBAR `` was replaced by ``LG_COORDINATOR ``.
72
88
- The labgrid environment config option ``crossbar_realm `` is now obsolete as
73
89
well as the environment variable ``LG_CROSSBAR_REALM ``.
74
90
- The coordinator is available as ``labgrid-coordinator `` (instead of
75
91
``crossbar start ``). No additional configuration file is required.
76
92
- The systemd services in ``contrib/systemd/ `` were updated.
77
93
94
+ To update your deployment to 25.0, you'll need to:
95
+
96
+ - Update the coordinator, all clients and all exporters to the new release.
97
+ - Start ``labgrid-coordinator `` directly (instead of via the crossbar
98
+ configuration file).
99
+ If needed, you can set the listening address using the ``--listen `` option.
100
+ - Update any existing client and exporter configuration by replacing the
101
+ crossbar URL with the coordinator address.
102
+
78
103
Other breaking changes include:
79
104
80
105
- Support for Python 3.8 was dropped.
0 commit comments