Changelog#
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased#
0.4.0 - 2026-10-09#
Added#
TycmdError, asubprocess.CalledProcessErrorraised whenever tycmd fails - its message is tycmd’s own error messageBoardtype for the entries returned bylist_boards(), andCapability,BoardActionandRtcModetype aliaseswarnings from tycmd are logged as they occur, and requests to press the board’s button are always logged as warnings, regardless of
log_level
Changed#
breaking: options of
upload()andreset()are keyword-only, andupload()’sreset_boardandrtc_modearguments are renamed toresetandrtcbreaking: failing tycmd calls raise
TycmdErrorinstead ofChildProcessErrorbreaking:
identify()raisesValueErrorif tycmd can’t load the firmware filebreaking:
version()raisesRuntimeErrorif the version can’t be determinedbreaking:
upload()raisesValueErrorfor an invalidrtcvaluebreaking: only the tycmd binary bundled with tycmd-wrapper is used - there is no fallback to a
tycmdon the PATH anymorelist_boards()always includesserialanddescription, set toNoneif a board doesn’t report themFileNotFoundErrorandIsADirectoryErrorfor firmware files carryerrnoandfilenametycmd’s output is decoded as UTF-8, independent of the system’s locale
tycmd is killed if a call is interrupted (e.g. by
KeyboardInterrupt) instead of being waited fortycmd-wrapper is a package (
tycmd/) instead of a single moduleimproved typehints
simplified workflow for publishing to PyPI
Removed#
support for
.ehexfirmware files, which the bundled tycmd 0.9.9 can’t load
Fixed#
version()returns the complete version string, including suffixes such as-beta.2board tags are stripped from every line of tycmd’s output, including tags of boards without a serial number, of secondary interfaces and of generic boards
identify()handles backslashes, tabs and newlines in firmware filenamestype checkers now pick up the
py.typedmarker
0.3.1 - 2026-09-27#
Changed#
dropped platform whitelist from the build script
0.3.0 - 2026-09-27#
Changed#
macOS now ships as two separate, correctly-tagged wheels (
macosx_11_0_arm64andmacosx_11_0_x86_64) instead of a single x86_64-only wheel, fixing installation on Apple SiliconLinux arm64 is now a published wheel target
the
tycmdbinary is no longer committed to the repository; it’s built from source during CI (and on demand for local installs) instead
0.2.1 - 2024-08-06#
Changed#
changed default log-level for reset() and upload() to INFO
added a few examples to README.md
0.2.0 - 2024-08-06#
Added#
upload() method for uploading firmware file
status messages will be sent to log
Changed#
moved ‘port’ kwarg ahead of ‘serial’
raise ChildProcessError instead of RuntimeError
0.1.2 - 2024-07-11#
Changed#
dropped ‘verbose’ argument from list_boards()
dropped ‘full’ argument from version()
0.1.1 - 2024-07-11#
Added#
identify() method for identifying a firmware file
0.1.0 - 2024-07-11#
First release.