Releases: BrianPugh/belay
Releases · BrianPugh/belay
v0.18.0
v0.17.0 - Big package manager improvements
New Features
Device
- New method
Device.sync_dependencies
to conveniently sync micropython dependencies bundled in a python package. - Added new
Device.__pre_autoinit__
method hook. Intended for subclasses to invoke additional device setup like installing dependencies viaself.sync
orself.sync_dependencies
. - Added new
Device.__post_init__
method hook. Intended for subclasses to perform additional host-side initialization.
Package Manager
- Dependencies folder can now be configured via
dependencies_path
inpyproject.toml
- Support for multi-file dependencies. Can now efficiently handle git folders via a cache.
- New command
belay cache
for managing Belay's cache. belay install
new option--with
to include an optional dependency group.- Optional groups are now fully supported.
belay --version
now prints the installed Belay's semver.- Much improved docs.
Bug Fixes
- Fixed Circuitpython 8.0.0 incompatibility (fixes #93).
- Fixed broken convenience imports for boards with a reduced feature set (fixes #97).
Breaking Changes
- Exception
ConfigError
has been removed in favor of pydantic'sValidationError
.
New Contributors
- @freemansoft made their first contribution in #89
Full Changelog: v0.16.2...v0.17.0
v0.16.2 - Better cleanup
Bug Fixes
- Exit Raw REPL on device exit. This returns the micropython device to a more "normal" state that will (typically) play nicer with external programs, such as
rshell
. Fixes auxiliary issue in #78. - Register
device.close()
withatexit
so that device closes down properly even if not explicitly invoked.
Internal
- Increased process startup delay for Windows.
- Unregister process close after explicit close. Prevents (harmless) double process killing at end of integration tests.
v0.16.1 - Enhanced Windows Compatibility
Bug Fixes
- When syncing, correctly use POSIX destination paths instead of matching host (Fixes #78)
- Improved path resolving when executing
belay
commands in subdirectories of a Belay project.
New Features
- Additional functionality to:
belay run
. If the specified port is actually anexecutable
, executes it after settingMICROPYPATH
to cached project dependencies. Intended to be used asbelay run micropython my_script.py
.
v0.16.0 - setup autoinit and device teardown
Features
- Added keyword argument
autoinit
to@Device.setup(autoinit=True)
. Will cause setup function to automatically execute on object creation. Defaults toFalse
(backwards compatible). - Added
@device.teardown
and@Device.teardown
to register function(s) to execute right before connection to device is closed.
Full Changelog: v0.15.2...v0.16.0
v0.15.2
Bug Fixes
- Fix double responses from tasks by @BrianPugh in #64. Didn't impact end-use, just inefficient.
Behind The Scenes
- Integration tests by @BrianPugh in #63
Full Changelog: v0.15.1...v0.15.2
v0.15.1 - Fix Generators
Bug Fixes
- Fix generators
v0.15.0 - belay.list_devices()
Features
- New helper function
belay.list_devices()
that returns a list of strings of available serial devices by @roaldarbol in #61
New Contributors
- @roaldarbol made their first contribution in #61
Full Changelog: v0.14.2...v0.15.0
v0.14.2
v0.14.1 - Change default PM folder to "main"
Breaking Change
- Change the default dependency folder from
.belay/dependencies/default
in v0.14.0 to.belay/dependencies/main
.