Skip to content

Releases: BrianPugh/belay

v0.18.0

12 Feb 05:07
4fdf413
Compare
Choose a tag to compare

Features

  • Support for develop (editable) dependencies.

Misc Changes

  • Convenience imports are now done prior to __pre_autoinit__.
  • belay update output is a bit prettier.

v0.17.0 - Big package manager improvements

10 Feb 16:49
Compare
Choose a tag to compare

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 via self.sync or self.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 in pyproject.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's ValidationError.

New Contributors

Full Changelog: v0.16.2...v0.17.0

v0.16.2 - Better cleanup

30 Jan 01:44
cd876aa
Compare
Choose a tag to compare

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() with atexit 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

29 Jan 22:59
0c9f8a1
Compare
Choose a tag to compare

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 an executable, executes it after setting MICROPYPATH to cached project dependencies. Intended to be used as belay run micropython my_script.py.

v0.16.0 - setup autoinit and device teardown

19 Dec 04:07
2576ac4
Compare
Choose a tag to compare

Features

  • Added keyword argument autoinit to @Device.setup(autoinit=True). Will cause setup function to automatically execute on object creation. Defaults to False (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

07 Dec 01:40
229e0f5
Compare
Choose a tag to compare

Bug Fixes

  • Fix double responses from tasks by @BrianPugh in #64. Didn't impact end-use, just inefficient.

Behind The Scenes

Full Changelog: v0.15.1...v0.15.2

v0.15.1 - Fix Generators

02 Dec 16:34
Compare
Choose a tag to compare

Bug Fixes

  • Fix generators

v0.15.0 - belay.list_devices()

01 Dec 17:41
128f524
Compare
Choose a tag to compare

Features

  • New helper function belay.list_devices() that returns a list of strings of available serial devices by @roaldarbol in #61

New Contributors

Full Changelog: v0.14.2...v0.15.0

v0.14.2

30 Nov 17:34
af3f06c
Compare
Choose a tag to compare

Bug Fixes

v0.14.1 - Change default PM folder to "main"

30 Nov 04:00
fc91038
Compare
Choose a tag to compare

Breaking Change

  • Change the default dependency folder from .belay/dependencies/default in v0.14.0 to .belay/dependencies/main.