Skip to content

Commit cd69ca8

Browse files
committed
Updated docs
1 parent b430706 commit cd69ca8

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

docs/UPGRADING.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,65 @@ Here you can find a list of migration guides to handle breaking changes between
44

55
## 0.36.0
66

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

968
The following golang modules are no longer available as public API:

0 commit comments

Comments
 (0)