@@ -8,6 +8,65 @@ Here you can find a list of migration guides to handle breaking changes between
8
8
9
9
We're dropping the ` builtin.tools ` support. It was the equivalent of Arduino IDE 1.x bundled tools directory.
10
10
11
+ ### The gRPC ` cc.arduino.cli.commands.v1.MonitorRequest ` message has been changed.
12
+
13
+ Previously the ` MonitorRequest ` was a single message used to open the monitor, to stream data, and to change the port
14
+ configuration:
15
+
16
+ ``` proto
17
+ message MonitorRequest {
18
+ // Arduino Core Service instance from the `Init` response.
19
+ Instance instance = 1;
20
+ // Port to open, must be filled only on the first request
21
+ Port port = 2;
22
+ // The board FQBN we are trying to connect to. This is optional, and it's
23
+ // needed to disambiguate if more than one platform provides the pluggable
24
+ // monitor for a given port protocol.
25
+ string fqbn = 3;
26
+ // Data to send to the port
27
+ bytes tx_data = 4;
28
+ // Port configuration, optional, contains settings of the port to be applied
29
+ MonitorPortConfiguration port_configuration = 5;
30
+ }
31
+ ```
32
+
33
+ Now the meaning of the fields has been clarified with the ` oneof ` clause, making it more explicit:
34
+
35
+ ``` proto
36
+ message MonitorRequest {
37
+ oneof message {
38
+ // Open request, it must be the first incoming message
39
+ MonitorPortOpenRequest open_request = 1;
40
+ // Data to send to the port
41
+ bytes tx_data = 2;
42
+ // Port configuration, contains settings of the port to be changed
43
+ MonitorPortConfiguration updated_configuration = 3;
44
+ // Close message, set to true to gracefully close a port (this ensure
45
+ // that the gRPC streaming call is closed by the daemon AFTER the port
46
+ // has been successfully closed)
47
+ bool close = 4;
48
+ }
49
+ }
50
+
51
+ message MonitorPortOpenRequest {
52
+ // Arduino Core Service instance from the `Init` response.
53
+ Instance instance = 1;
54
+ // Port to open, must be filled only on the first request
55
+ Port port = 2;
56
+ // The board FQBN we are trying to connect to. This is optional, and it's
57
+ // needed to disambiguate if more than one platform provides the pluggable
58
+ // monitor for a given port protocol.
59
+ string fqbn = 3;
60
+ // Port configuration, optional, contains settings of the port to be applied
61
+ MonitorPortConfiguration port_configuration = 4;
62
+ }
63
+ ```
64
+
65
+ Now the message field ` MonitorPortOpenRequest.open_request ` must be sent in the first message after opening the
66
+ streaming gRPC call.
67
+
68
+ The identification number of the fields has been changed, this change is not binary compatible with old clients.
69
+
11
70
### Some golang modules from ` github.com/arduino/arduino-cli/* ` have been made private.
12
71
13
72
The following golang modules are no longer available as public API:
0 commit comments