bluetooth/CHANGELOG.md

241 lines
8.2 KiB
Markdown
Raw Normal View History

0.10.0
---
* **core**
- gap: fix ServiceDataElement.UUID comment
* **docs**
- add mention of support for rp2040-W to README
- Improve documentation of RSSI Fixes https://github.com/tinygo-org/bluetooth/issues/272
* **hci**
- cyw43439: HCI implementation
- refactor to separate HCI transport implementation from interface to not always assume UART.
- update for cyw43439 HCI functionality
* **windows**
- Add Address field to Windows Device struct
- Winrt full support (#266)
- winrt-go: bump to latest
- assign char handle write event (#274)
* **test**
- add hci_uart based implementation to smoke tests
0.9.0
---
* **build**
- add arduino-nano33 and pyportal to smoke tests
- add nina-fw smoketest as peripheral
- add some ninafw examples to smoketest
* **core**
- add ServiceData advertising element (#243)
- add RequestConnectionParams to request new connection parameters
- change ManufacturerData from a map to a slice
- don't use a pointer receiver for many method calls
- make Device a value instead of a pointer
- use 'debug' variable protected by build tags for debug logging
- use Device instead of Address in SetConnectHandler
* **docs**
- a small mention of the NINA BLE support
- complete README info about nina-fw support
* **linux**
- fix characteristic value
- rewrite everything to use DBus directly
* **macos**
- add Write command to the gattc implementation
* **examples**
- tinyscan to replace clue-scanner, also works on pyportal and pybadge+airlift
- update MCU central examples to use ldflags to pass the desired device to connect to
- discover: add MTU
* **hci**
- add check for poll buffer overflow
- allow for both ninafw and pure hci uart adapter implementations
- implement Characteristic WriteHandler
- multiple connections
- return service UUIDs with scan results
- add l2cap signaling support
- implement evtNumCompPkts to count in-flight packets
- correct implementation for WriteWithoutReponse
- speed up time waiting for hardware - corrections to MTU exchange
- add support for software RTS/CTS flow control for boards where hardware support is not available
- BLE central implementation on nina-fw co-processors
- fix connection timeout
- implement BLE peripheral support
- implement GetMTU()
- remove some pointer receivers from method calls
- should support muliple connections as a central
- correctly return from read requests instead of returning spurious error
- move some steps previously being done during Configure() into Start() where they more correctly belonged.
- use advertising display name as the correct default value for the generic access characteristic.
- speed up the polling for new notifications for Centrals
- use NINA settings from board file in main TinyGo repo
* **nordic semi**
- replace unsafe.SliceData call with expression that is still supported in older Go versions
- update to prepare for changes in the TinyGo CGo implementation
- add address of connecting device
- add support for connection timeout on connect
- don't send a notify/indicate without a CCCD
- fix connect timeout
- fix writing to a characteristic
- print connection parameters when debug is enabled
- return an error on a connection timeout
* **windows**
- Release AsyncOperationCompletedHandler (#208)
- check for error when scanning
- bump to latest winrt
0.8.0
---
* **build**
- remove CGo dependencies for Windows cross-compiler tests
- add Windows to GH actions build jobs
- add macOS 12 to GH actions build jobs
* **core**
- go 1.18 and remove old-style build tags
- Noescape workaround
* **docs**
- update README to remove CGo requirement for Windows
- add documentation to heartrate-monitor
* **linux**
- Added option to add ManufacturerData to Advertisement
* **macos**
- enable support for duplicate chars by moving from a map to a slice
* **examples**
- Include WriteWithoutResponse permission, for examples, where Write exists
* **nordic semi**
- softdevice: added manufacturer data support
- softdevice: test creation of raw BLE advertisement packets
* **windows**
- update github.com/saltosystems/winrt-go to no longer require CGo
0.7.0
---
* **build**
- switch to ghcr.io for docker container
- update to actions/checkout@v3
- work around for CVE-2022-24765
* **core**
- gap: Set and SetRandom methods should have a pointer receiver
- mtu-{darwin,linux,windows,sd}: add get mtu function
- remove Addresser
- update uuid generation
* **docs**
- CONTRIBUTING: add note on new APIs
- correct badge link for GH actions
- README: add note on macOS Big Sur and iTerm2
* **linux**
- do not randomize order of returned discovered services/chars
- fix characteristic scan order
- implement disconnect handling
* **macos**
- implement disconnect handling
- fix characteristic scan order
* **examples**
- add examples/stop-advertisement
* **nordic semi**
- nrf528xx: handle BLE_GAP_EVT_PHY_UPDATE_REQUEST and explicitly ignore some other events
- softdevice: avoid a heap allocation in the SoftDevice event handler
* **windows**
- Added Indicate support to Windows driver
- gap/windows: Scan should set scanning mode to active to match other platforms
- support empty manufacturer data
- winrt-go: bump to latest
0.6.0
---
* **core**
- unify UUID16 creation for all platforms
- Improve UUID (#107)
- gap: stop advertising
- advertising: add manufacturer data field to advertisement payload
* **linux**
- gap: workaround for https://github.com/muka/go-bluetooth/issues/163
- update to latest muka/go-bluetooth
* **windows**
- add characteristic read, write and notify operations
- add characteristic discovery
- add service discovery
- add device connection and disconnection
- add winrt-go dependency and remove manually generated code
- disable cache when reading characteristics
* **macos**
- update to tinygo-org fork of cbgo v0.0.4
- use the same UUID format as expected by other standard
* **docs**
- update README with info on Windows support
* **build**
- add Github Action based CI build (#108)
0.5.0
---
* **core**
- update to drivers 0.20.0
- Fix ParseMAC bug
- Add //go:build lines for Go 1.18
* **nordic semi**
- nrf: fix CGo errors after TinyGo update
0.4.0
---
* **core**
- adapter: add host address function
* **linux**
- fixes bluez 0.55 service registration
- update muka/go-bluetooth to latest version
- gattc/linux: DiscoverServices times out in 10s
* **macos**
- make Adapter.Connect thread-safe
* **nordic semi**
- nrf51: fix assertHandler function signature
- nrf: add support for S113 SoftDevice
- nrf: update s140v7 SoftDevice version to latest, 7.3.0
* **examples**
- add scanner for Adafruit Clue
* **build**
- circleci: update xcode in use to 10.3.0
- modules: add tinyterm package for clue example
0.3.0
---
* **core**
- generate standard service and characteristic UUIDs from Nordic Semiconductor bluetooth numbers database
* **linux**
- downgrade to older version of go-bluetooth that appears to work correctly with BlueZ 5.50
* **macos**
- properly handle 16-bit UUIDs for service and characteristics in the unique format used by macOS
* **docs**
- add a few details on some newly supported boards
* **examples**
- use standard service and characteristic UUIDs
- correct heart rate monitor data format
0.2.0
---
* **core**
- gattc: DeviceCharacteristic Read() implementation
- gap: add Disconnect() to Driver
- gap: change signature for Addresser interface Set() function to accept string and then parse it as needed
* **linux**
- update to latest version of go-bluetooth package for Linux
* **macos**
- handle case when adapter enable sends notification before event delegate is set
- Document async Disconnect behaviour
* **examples**
- discover should only wait on startup on baremetal, since macOS does not like that
0.1.0
---
* **linux**
- support for both central and peripheral operation
* **macos**
- support for both central and peripheral operation
* **windows**
- experimental support for both central scanning only
* **nordic semiconductor**
- support for both central and peripheral operation on nRF82840 and nRF52832
- support for peripheral only on nRF51822