Repository navigation
v1.0.0
·
34 commits
to main
since this release
This release contains breaking changes (e.g. flash progress interface, connect signature, device error codes).
Detailed notes on changes can be found in MIGRATATION.md. Migrating USB-only code requires minor tweaks only.
Highlights
- Split entrypoints for USB and Bluetooth
- Support DFU and partial flashing on iOS/Android platforms (for Capacitor Android/iOS apps) in support of in-progress work for Capacitor apps for CreateAI
- Add BLE APIs for missing services (pin, temperature, event services — including higher level API for gesture and button event service)
- Improved demo app with Capacitor support for Android/iOS
- Drop workarounds that testing suggest no longer apply after BLE changes
What's Changed
Common
- Send previous status in connection events by @microbit-matt-hillsdon in #74
- Breaking: Remove auto reconnect,
ConnectionStatus.Reconnecting, and discarding of device on disconnect by @microbit-grace in #85 - Add ability to abort connect, new error type, and progress stages by @microbit-matt-hillsdon in #84
- Breaking: reorganize for better tree shaking by @microbit-matt-hillsdon in #96
- Breaking: Make the pause behavior optional by @microbit-matt-hillsdon in #102
- Breaking: Switch to throwing DeviceError when not connected by @microbit-matt-hillsdon in #104
- Breaking: Replace EventTarget with custom typed event system by @microbit-matt-hillsdon in #105
- Document post-flash connection state differences by @microbit-matt-hillsdon in #106
- Breaking: Move serialWrite from DeviceConnection to USB only by @microbit-matt-hillsdon in #107
- Breaking: rationalise DeviceErrorCode values and error handling by @microbit-matt-hillsdon in #114
USB
- Model the disconnect for hidden tabs explicitly by @microbit-matt-hillsdon in #72
- Workaround for the bad response issue by @microbit-matt-hillsdon in #77
- Remove serial event state that's available from super class. by @microbit-matt-hillsdon in #56
- Use DAPLink vendor command for serial number by @microbit-matt-hillsdon in #103
- Apps: Inline CMSIS-DAP code, fix and test serial issues by @microbit-matt-hillsdon in #110
- Move DAPLink vendor commands and FICR constants to where they're used by @microbit-matt-hillsdon in #111
- Fix UICR not updated during WebUSB partial flashing by @microbit-matt-hillsdon in #113
Bluetooth
- Breaking: Move to a dynamic model of permission checks by @microbit-matt-hillsdon in #73
- Attempt connection multiple times, retrieve latest services before starting notifications by @microbit-grace in #76
- Discover services right after connecting by @microbit-grace in #78
- Add temperature, pin services by @microbit-matt-hillsdon in #122
- Add event service for gestures, button actions, and raw message bus events by @microbit-matt-hillsdon in #124
- Remove TODO after Windows testing by @microbit-matt-hillsdon in #133
Bluetooth: native flashing/Capacitor support
- Wait for disconnect after partial flashing success by @microbit-matt-hillsdon in #80
- Fix name filter issue by @microbit-matt-hillsdon in #82
- Optimise BLE partial flashing by @microbit-matt-hillsdon in #86
- Add
deviceBondStateoption to Bluetooth connection and remove speculative delays by @microbit-grace in #87 - Wait for post partial flash disconnect in connect by @microbit-grace in #91
- Skip partial flash when application hash already matches device by @microbit-matt-hillsdon in #92
- Move Capacitor packages to peer dependencies by @microbit-matt-hillsdon in #94
- Fix iOS DFU with open-link security firmware by @microbit-matt-hillsdon in #99
- Fix flashing over a program without partial flashing service by @microbit-grace in #98
- Fall back to DFU characteristics for iOS pairing trigger by @microbit-matt-hillsdon in #100
- Skip partial flash if we get zero hash value by @microbit-matt-hillsdon in #101
- Reinstate "uBit" BLE name prefix support by @microbit-matt-hillsdon in #95
- Add missing V2 init packet hash by @microbit-matt-hillsdon in #93
- Fall back to skipping hash when crypto.subtle is unavailable by @microbit-matt-hillsdon in #117
- Add bondMode option to ConnectOptions for native BLE by @microbit-matt-hillsdon in #123
- Start DFU as foreground service by @microbit-grace in #134
- Migrate to Capacitor v8 by @microbit-grace in #136
Radio bridge
- Document radio bridge as experimental / limited by @microbit-matt-hillsdon in #108
Demo/test apps
- Move demo to a separate app from the package by @microbit-matt-hillsdon in #88
- Add capacitor demo app to monorepo and build all workspaces in CI by @microbit-matt-hillsdon in #89
- Combined web/capacitor demo; API tweaks by @microbit-matt-hillsdon in #115
Documentation/packaging
- Fix TypeDoc entry points to match reorganized source structure by @microbit-matt-hillsdon in #116
- Migration notes by @microbit-matt-hillsdon in #125
- Exclude tests from the package by @microbit-matt-hillsdon in #131
- Deploy the docs for semver stable tags only by @microbit-matt-hillsdon in #129
- Replace hardcoded dist-tag by @microbit-matt-hillsdon in #128
- Format the whole repo with prettier by @microbit-matt-hillsdon in #132
- Include README and LICENSE in published package; fix stale branch refs by @microbit-matt-hillsdon in #130
Full Changelog: v0.0.0-alpha.39...v1.0.0-beta.0