It's been a long time coming, but this release has a ton of new features and significant under-the-hood changes. Most of these changes are the direct result of excellent suggestions and helpful issue reports from awesome users, so thank you to everyone who took the time to report, request and - in many cases - contribute code!
Enjoy the new release, and don't hesitate to report any issues you run into!
Notable Changes/Additions:
-
Auto-connect behaviour when running multiple instances of SimplySerial with multiple available COM ports has been corrected. Previously, a second instance would try to auto-connect to the same COM port as the first instance and just sit there waiting until the first instance closed and released the port. Now the second instance will detect ports that are in-use and move on to other unused ports.
-
boards.jsonnow lives in its own repository and is re-generated automatically when new boards are added to CircuitPython. A new-updateboardsoption has been added to SimplySerial to check for - and optionally apply - updates. -
User-provided board data can now be provided by creating a
custom_boards.jsonfile in the application folder (wheress.exeis located). The JSON structure is the same as inboards.json, allowing you to add your own - or override existing - vendor and board data. -
The default settings used by SimplySerial can now be modified by creating a
settings.cfgfile in the application folder (wheress.exeis located). Command-line options can be entered in this file - one per line - and will be automatically applied when SimplySerial is launched. -
The list of available COM ports that SimplySerial will use can now be filtered by creating a
filters.jsonfile in the application folder (wheress.exeis located), so you can get rid of those pesky unwanted entries that you don't want SimplySerial ever trying to connect to automatically. See theREADMEfor information on the file format and available options. Thanks to @gufpewga for the suggestion. -
All of the new settings files (
settings.cfg,custom_boards.jsonandfilters.jsoncan also be placed in a.simplyserialproject folder. When SimplySerial is launched from a folder that contains a.simplyserialsubfolder, these project-level settings will be applied in addition to the settings applied in the global files. -
All command-line arguments that previously had no parameters (i.e.
-forcenewline) have been updated to acceptONandOFFas parameters (i.e.-forcenewline:OFF). You can still omit the parameter and the argument will behave as it did previously. -
noclearandnostatushave been renamed toclearscreenandstatus. The old forms still work for now, but should be considered deprecated and will likely be removed in a future release. -
The
-listoption now accepts an optional parameter indicating what to list.-list:allwill list all COM ports, including ones that have been filtered out.-list:settingswill show all of the command-line arguments loaded from the available settings files.-list:boardswill list all of the vendors and boards defined in the available board data files.-list:filterswill show all of the filters applied to the COM ports available on the system. -
New
-configoption to include a custom command-line settings file in addition to the new global and project-level settings files. Thanks to @kunchuf for the suggestion and contributing to the implementation. -
New
-exitkeyoption to change from the defaultCTRL-Xto another key of your choosing. Thanks to @TinFoilFox and @BlueBarks for suggesting this feature. -
New
-echooption to enable/disable local echo. Thanks to @sk-jame for the suggestion, and to @salvathor79 for contributing to the implementation. -
New
-bulksendoption to improve performance when pasting large amounts of data into a SimplySerial session. Thanks to @svofski for the suggestion and @FH0 for contributing to the implementation. -
New
-titleoption to allow manually setting the window title. Thanks to @markeby for the suggestion. -
New
-txonenteroption to allow custom character sequences to be sent when theENTERkey is pressed. Thanks to @lefebvresam for the suggestion and @salvathor79 for contributing to the implementation. -
.msiinstallers should now run on Windows Server operating systems. Thanks to @psitem for the suggestion.