mirror of
https://github.com/bluekitchen/btstack.git
synced 2025-03-29 22:20:37 +00:00
Add bullet points in recent changelog entries
Without the bullet points, the changelog is difficult to read when rendered on GitHub.
This commit is contained in:
parent
c8dfe071e5
commit
693c9a6e8a
128
CHANGELOG.md
128
CHANGELOG.md
@ -9,105 +9,105 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
## Unreleased
|
||||
|
||||
### Added
|
||||
HCI: `btstack_transport_sco.h` allows to support SCO over physical PCM/I2S interface (`HAVE_SCO_TRANSPORT`)
|
||||
POSIX: `btstack_transport_sco_i2s_test_bridge.c` implements SCO transport interface for UART-to-I2S test bridge
|
||||
btstack_uart: `btstack_uart_t` interface extends `btstack_uart_block_t`:
|
||||
- HCI: `btstack_transport_sco.h` allows to support SCO over physical PCM/I2S interface (`HAVE_SCO_TRANSPORT`)
|
||||
- POSIX: `btstack_transport_sco_i2s_test_bridge.c` implements SCO transport interface for UART-to-I2S test bridge
|
||||
- btstack_uart: `btstack_uart_t` interface extends `btstack_uart_block_t`:
|
||||
- supports sending and receiving SLIP frames for HCI H5
|
||||
- suppports odd parity as well
|
||||
- `hci_transport_h4` and chipset drivers have new functions to pass provide `btstack_uart_t`
|
||||
|
||||
btstack_uart_slip_wrapper: wrapper that implements SLIP functionality for existing `btstack_uart_block` drivers.
|
||||
hci_transport: add parity field and pass on to `btstack_uart_t` in h4 and h5
|
||||
GATT Client: Battery Service Client
|
||||
GATT Client: Device Information Service Client
|
||||
GATT Client: Scan Parameters Service Client
|
||||
GAP: add `gap_set_page_scan_activity` and `gap_set_page_scan_type`
|
||||
AVRCP: new field `button_pressed` in `AVRCP_SUBEVENT_OPERATION`
|
||||
AVRCP: `AVRCP_SUBEVENT_OPERATION` emitted for button release
|
||||
AVRCP Controller: avrcp_controller_start_press_and_hold_cmd helps to support device buttons
|
||||
AVDTP: `avdtp_register_media_config_validator` allows to validate media codec configuration
|
||||
A2DP Source: `ENABLE_A2DP_SOURCE_EXPLICIT_CONFIG` disables auto config. Requires call to `a2dp_source_set_config_{CODEC}'
|
||||
- btstack_uart_slip_wrapper: wrapper that implements SLIP functionality for existing `btstack_uart_block` drivers.
|
||||
- hci_transport: add parity field and pass on to `btstack_uart_t` in h4 and h5
|
||||
- GATT Client: Battery Service Client
|
||||
- GATT Client: Device Information Service Client
|
||||
- GATT Client: Scan Parameters Service Client
|
||||
- GAP: add `gap_set_page_scan_activity` and `gap_set_page_scan_type`
|
||||
- AVRCP: new field `button_pressed` in `AVRCP_SUBEVENT_OPERATION`
|
||||
- AVRCP: `AVRCP_SUBEVENT_OPERATION` emitted for button release
|
||||
- AVRCP Controller: avrcp_controller_start_press_and_hold_cmd helps to support device buttons
|
||||
- AVDTP: `avdtp_register_media_config_validator` allows to validate media codec configuration
|
||||
- A2DP Source: `ENABLE_A2DP_SOURCE_EXPLICIT_CONFIG` disables auto config. Requires call to `a2dp_source_set_config_{CODEC}'
|
||||
|
||||
### Fixed
|
||||
HCI: handle start inquiry failure
|
||||
AVRCP Target: fix notification changed event
|
||||
HFP: Emit Audio Connection Released on SLC Release, e.g. remote power off
|
||||
GAP: calculate IO Cap AuthReq Bondable Mode based on `gap_ssp_set_authentication_requirement` and `gap_set_bondable_mode`
|
||||
GAP: only store link key for ssp if remote side has set bondable in io cap auth requirements as well
|
||||
- HCI: handle start inquiry failure
|
||||
- AVRCP Target: fix notification changed event
|
||||
- HFP: Emit Audio Connection Released on SLC Release, e.g. remote power off
|
||||
- GAP: calculate IO Cap AuthReq Bondable Mode based on `gap_ssp_set_authentication_requirement` and `gap_set_bondable_mode`
|
||||
- GAP: only store link key for ssp if remote side has set bondable in io cap auth requirements as well
|
||||
|
||||
### Changed
|
||||
HCI: config I2S for BCM Controllers if `ENABLE_SCO_OVER_PCM`, reduce bit clock to 256/512 kHz
|
||||
btstack_uart_posix: supports SLIP frames and replaces `btstack_uart_block_posix`
|
||||
hci_transport_h5: new more performant H5 implementation that requires `btstack_uart_t` driver with SLIP support.
|
||||
POSIX Ports: use new `btstack_uart_posix` implementation
|
||||
posix-h5/posix-h5-bcm: use even parity for UART
|
||||
Port Archive: moved ports that are not recommended for new designs to port/archive folder:
|
||||
- HCI: config I2S for BCM Controllers if `ENABLE_SCO_OVER_PCM`, reduce bit clock to 256/512 kHz
|
||||
- btstack_uart_posix: supports SLIP frames and replaces `btstack_uart_block_posix`
|
||||
- hci_transport_h5: new more performant H5 implementation that requires `btstack_uart_t` driver with SLIP support.
|
||||
- POSIX Ports: use new `btstack_uart_posix` implementation
|
||||
- posix-h5/posix-h5-bcm: use even parity for UART
|
||||
- Port Archive: moved ports that are not recommended for new designs to port/archive folder:
|
||||
- MSP430: the ports used the older community GCC version without 20-bit support needed for code size > 64kB
|
||||
- Broadcom/Cypress H5: uploading PatchRAM is only possible in H4 mode. It's better to also use H4 in general
|
||||
- PIC32-Harmony: the port used Harmony v1 while Harmony v3 has been out since a while.
|
||||
Run Loop Base: functionality used in most platform run loop implementations
|
||||
- Run Loop Base: functionality used in most platform run loop implementations
|
||||
- code from `btstack_run_loop_base.c` moved into `btstack_run_loop.c` to minimize changes to build systems
|
||||
- `btstack_run_loop_base.c` is a placeholder and can be removed from build
|
||||
HCI Dump: replace monolithic `hci_dump.c` (with many #ifdefs) into dispatcher with platform-specific implementations:
|
||||
- HCI Dump: replace monolithic `hci_dump.c` (with many #ifdefs) into dispatcher with platform-specific implementations:
|
||||
- `posix/hci_dump_posix_fs` - writes binary log file
|
||||
- `posix/hci_dump_stdout` - log to console using printf with local system time
|
||||
- `embedded/hci_dump_embedded_stdout` - log to console using printf
|
||||
- `embedded/hci_dump_segger_stdout` - log to RTT console using `SEGGER_printf`
|
||||
- `embedded/hci_dump_segger_binary` - writes binary log over RTT to host
|
||||
Nordic SPP Service Server: use `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED` and `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED`
|
||||
events instead of callback, and `RFCOMM_DATA_PACKET` for received data
|
||||
u-blox SPP Service Server: use `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED` and `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED`
|
||||
events instead of callback, and `RFCOMM_DATA_PACKET` for received data
|
||||
HSP AG: emit HSP_SUBEVENT_BUTTON_PRESSED instead of audio connection setup/release
|
||||
Examples: use `btstack_event.h` getters instead of direct array access, use enum to compare status codes
|
||||
HCI Transport: extract convenience function declaration for h4, h5, em9304_spi, and usb into separate hci_transport_{type}.h
|
||||
- Nordic SPP Service Server: use `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED` and `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED`
|
||||
events instead of callback, and `RFCOMM_DATA_PACKET` for received data
|
||||
- u-blox SPP Service Server: use `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED` and `GATTSERVICE_SUBEVENT_SPP_SERVICE_CONNECTED`
|
||||
events instead of callback, and `RFCOMM_DATA_PACKET` for received data
|
||||
- HSP AG: emit HSP_SUBEVENT_BUTTON_PRESSED instead of audio connection setup/release
|
||||
- Examples: use `btstack_event.h` getters instead of direct array access, use enum to compare status codes
|
||||
- HCI Transport: extract convenience function declaration for h4, h5, em9304_spi, and usb into separate hci_transport_{type}.h
|
||||
|
||||
## Release v1.3.2
|
||||
|
||||
### Added
|
||||
GAP: support for Classic Out-of-Band (OOB) pairing via `gap_ssp_remote_oob_data` with `ENABLE_CLASSIC_OOB_PAIRING`
|
||||
GAP: read local OOB data on start and on call to `gap_ssp_generate_oob_data`, provided via `GAP_EVENT_LOCAL_OOB_DATA`
|
||||
HID Host: add profile, update `hid_host_demo.c` example
|
||||
- GAP: support for Classic Out-of-Band (OOB) pairing via `gap_ssp_remote_oob_data` with `ENABLE_CLASSIC_OOB_PAIRING`
|
||||
- GAP: read local OOB data on start and on call to `gap_ssp_generate_oob_data`, provided via `GAP_EVENT_LOCAL_OOB_DATA`
|
||||
- HID Host: add profile, update `hid_host_demo.c` example
|
||||
|
||||
### Fixed
|
||||
L2CAP: make handling of HCI disconnect more robust
|
||||
AVDTP: emit stream release for active stream if signaling connection is closed first, e.g. caused by HCI disconnect
|
||||
AVRCP: fix issue when Controller and Target send at the same time
|
||||
- L2CAP: make handling of HCI disconnect more robust
|
||||
- AVDTP: emit stream release for active stream if signaling connection is closed first, e.g. caused by HCI disconnect
|
||||
- AVRCP: fix issue when Controller and Target send at the same time
|
||||
|
||||
### Changed
|
||||
A2DP, AVDTP: use `a2dp_source_set_config_{TYPE}` and `avdtp_config{TYPE}_store` to avoid large number of parameters
|
||||
- A2DP, AVDTP: use `a2dp_source_set_config_{TYPE}` and `avdtp_config{TYPE}_store` to avoid large number of parameters
|
||||
|
||||
|
||||
## Release v1.3
|
||||
|
||||
### Added
|
||||
CC256x: with ENABLE_CC256X_ASSISTED_HFP, HFP enables WBS codec on demand and configures PCM/I2S interface for 8kH/16kHz
|
||||
BCM: with ENABLE_BCM_PCM_WBS, HFP enables WBS codec on demand and configures PCM/I2S interface for 8kH/16kHz
|
||||
SDP Client RFCOMM: add `sdp_client_query_rfcomm_channel_and_name_for_service_class_uuid`
|
||||
HFP: `ENABLE_HFP_AT_MESSAGES` lets HFP emit `HFP_SUBEVENT_AT_MESSAGE_SENT` and `HFP_SUBEVENT_AT_MESSAGE_RECEIVED`
|
||||
A2DP, AVDTP: provide capabilities and configuration events for A2DP codecs: SBC, MPEG Audio, MPEG AAC, ATRAC
|
||||
A2DP + AVDTP Source: allow to send media packet with `avdtp_source_stream_send_media_packet` and `a2dp_source_stream_send_media_packet`
|
||||
A2DP + AVDTP Source: add `avdtp_source_stream_send_media_payload_rtp` and `a2dp_source_stream_send_media_payload_rtp`
|
||||
A2DP Source: emit `A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE`
|
||||
A2DP Source: allow to configure endpoints by calling `a2dp_source_set_config_{TYPE}` during SEP discovery with SBC fallback
|
||||
- CC256x: with ENABLE_CC256X_ASSISTED_HFP, HFP enables WBS codec on demand and configures PCM/I2S interface for 8kH/16kHz
|
||||
- BCM: with ENABLE_BCM_PCM_WBS, HFP enables WBS codec on demand and configures PCM/I2S interface for 8kH/16kHz
|
||||
- SDP Client RFCOMM: add `sdp_client_query_rfcomm_channel_and_name_for_service_class_uuid`
|
||||
- HFP: `ENABLE_HFP_AT_MESSAGES` lets HFP emit `HFP_SUBEVENT_AT_MESSAGE_SENT` and `HFP_SUBEVENT_AT_MESSAGE_RECEIVED`
|
||||
- A2DP, AVDTP: provide capabilities and configuration events for A2DP codecs: SBC, MPEG Audio, MPEG AAC, ATRAC
|
||||
- A2DP + AVDTP Source: allow to send media packet with `avdtp_source_stream_send_media_packet` and `a2dp_source_stream_send_media_packet`
|
||||
- A2DP + AVDTP Source: add `avdtp_source_stream_send_media_payload_rtp` and `a2dp_source_stream_send_media_payload_rtp`
|
||||
- A2DP Source: emit `A2DP_SUBEVENT_SIGNALING_CAPABILITIES_COMPLETE`
|
||||
- A2DP Source: allow to configure endpoints by calling `a2dp_source_set_config_{TYPE}` during SEP discovery with SBC fallback
|
||||
|
||||
### Fixed
|
||||
HCI: keep `le connecting request` on connection complete active, fixes gap_auto_connection_stop() + gap_auto_connection_start()
|
||||
L2CAP: fix packet size check for incoming classic basic channels (regression introduced in v1.2.1)
|
||||
HFP AG/HSP AG: avoid connecting to remote service with same role
|
||||
A2DP Source: support multiple Stream Endpoints with different Media Codec types
|
||||
A2DP Source: emit codec configure event with reconfigure flag set on reconfigure
|
||||
GATT Compiler: support multiple instances of the same service
|
||||
- HCI: keep `le connecting request` on connection complete active, fixes gap_auto_connection_stop() + gap_auto_connection_start()
|
||||
- L2CAP: fix packet size check for incoming classic basic channels (regression introduced in v1.2.1)
|
||||
- HFP AG/HSP AG: avoid connecting to remote service with same role
|
||||
- A2DP Source: support multiple Stream Endpoints with different Media Codec types
|
||||
- A2DP Source: emit codec configure event with reconfigure flag set on reconfigure
|
||||
- GATT Compiler: support multiple instances of the same service
|
||||
|
||||
### Changed
|
||||
GAP: provide Link Type parameter to incoming connection filter for `gap_register_classic_connection_filter`
|
||||
HFP/GOEP Client/AVDTP/A2DP: return `SDP_SERVICE_NOT_FOUND` if no suitable SDP record is found
|
||||
AVDTP Source: `avdtp_source_stream_send_media_payload` includes SBC Header and was deprecated
|
||||
AVDTP/A2DP: use `avdtp_channel_mode_t` in `A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION`
|
||||
A2DP: fix events and use `a2dp_cid`, `local_seid,` `remote_seid` field names in A2DP sub-events
|
||||
GATT Client: Skip MTU exchange after MTU exchange on ATT Server
|
||||
Ports: STM32-F103RB Nucleo + CC256x port removed
|
||||
ESP32: enabled HFP Wide-Band Speech, disable classic secure connections in HSP/HFP demos
|
||||
- GAP: provide Link Type parameter to incoming connection filter for `gap_register_classic_connection_filter`
|
||||
- HFP/GOEP Client/AVDTP/A2DP: return `SDP_SERVICE_NOT_FOUND` if no suitable SDP record is found
|
||||
- AVDTP Source: `avdtp_source_stream_send_media_payload` includes SBC Header and was deprecated
|
||||
- AVDTP/A2DP: use `avdtp_channel_mode_t` in `A2DP_SUBEVENT_SIGNALING_MEDIA_CODEC_SBC_CONFIGURATION`
|
||||
- A2DP: fix events and use `a2dp_cid`, `local_seid,` `remote_seid` field names in A2DP sub-events
|
||||
- GATT Client: Skip MTU exchange after MTU exchange on ATT Server
|
||||
- Ports: STM32-F103RB Nucleo + CC256x port removed
|
||||
- ESP32: enabled HFP Wide-Band Speech, disable classic secure connections in HSP/HFP demos
|
||||
|
||||
|
||||
## Release v1.2.1
|
||||
|
Loading…
x
Reference in New Issue
Block a user