Description
Since a rewrite can cause more problems than solutions, we'll incrementally refactor the project to achieve v2. The goal is to have most of the communication to be done with REST http apis instead that websockets, keeping the websocket communication only for streaming data to and from the serial monitor.
Here are the components of the arduino create agent as of now:
- manage -> pause, update, debug monitor, tray icon
- tools -> download and install tools
- upload -> program a board using a tool
- discover -> find out the board attached to the network or the serial
- monitor -> stream data to and from a serial port
The migration strategy is to create a /v2/ http path in which to put the new developed apis, and to slowly deprecate the websocket ones.
Roadmap
[ ] v1.2.0 -> /v2/tools capable of listing, downloading, removing tools
[ ] v1.3.0 -> deprecate old tools commands, /v2/discover capable of listing connected boards
[ ] v1.4.0 -> deprecate old discover commands, /v2/monitor capable of streaming data via websocket to and from multiple usb ports
[ ] v1.5.0 -> deprecate old monitor commands, /v2/upload capable of performing uploads via serial or ssh
[ ] v1.6.0 -> deprecate old upload command, /v2/manage capable of pausing/update etc
[ ] v1.7.0 -> deprecate old manage commands
[ ] v2.0.0 -> remove old commands, only leave /v2/ endpoints