CHANGELOG.md (a15a08d7915addb9d2b79329de48a652995bf659) CHANGELOG.md (3c4f967cceba09afe19b5995f3f401094ddf883d)
1# Change Log
2All notable changes to this project will be documented in this file.
3
4The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
7---
8
9## Unreleased
10
11### Added
1# Change Log
2All notable changes to this project will be documented in this file.
3
4The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
7---
8
9## Unreleased
10
11### Added
12### Fixed
13### Changed
14
15
16## Release v1.5.0
17
18### Added
12- HCI Dump: Support BTSnoop format in hci_dump_posix_fs.c for format = HCI_DUMP_BTSNOOP
13- HCI Dump RTT STDOUT: drop messages if RTT buffer is full and RTT is configured for non-blocking
14- HCI: hci_remove_event_handler to remove packet handler
15- hci_cmd: support variable length fields and arrayed parameters
16- GAP: ENABLE_EXPLICIT_LINK_KEY_REPLY allows for asynchronous link key lookup by application
17- GAP: gap_set_page_timeout to set Page Timeout
18- GAP: gap_inquiry_set_scan_activity to set Inquiry Scan Activity
19- L2CAP: emit L2CAP_EVENT_INFORMATION_RESPONSE event with extended features and fixed channels supported
19- HCI Dump: Support BTSnoop format in hci_dump_posix_fs.c for format = HCI_DUMP_BTSNOOP
20- HCI Dump RTT STDOUT: drop messages if RTT buffer is full and RTT is configured for non-blocking
21- HCI: hci_remove_event_handler to remove packet handler
22- hci_cmd: support variable length fields and arrayed parameters
23- GAP: ENABLE_EXPLICIT_LINK_KEY_REPLY allows for asynchronous link key lookup by application
24- GAP: gap_set_page_timeout to set Page Timeout
25- GAP: gap_inquiry_set_scan_activity to set Inquiry Scan Activity
26- L2CAP: emit L2CAP_EVENT_INFORMATION_RESPONSE event with extended features and fixed channels supported
20- L2CAP: support Enhanced Credit-based Flow-Control Mode for connection-oriented channels
27- L2CAP: support Enhanced Credit-based Flow-Control Mode for connection-oriented channels over BR/EDR/LE
21- A2DP: allow to register media codec validator for sink and source with:
22 - `a2dp_sink_register_media_config_validator`
23 - `a2dp_source_register_media_config_validator`
24- A2DP Sink: allow accept or reject of stream start on A2DP_SUBEVENT_START_STREAM_REQUESTED when ENABLE_AVDTP_ACCEPTOR_EXPLICIT_START_STREAM_CONFIRMATION is defined
25- OBEX: new obex_parser for chunked OBEX data
28- A2DP: allow to register media codec validator for sink and source with:
29 - `a2dp_sink_register_media_config_validator`
30 - `a2dp_source_register_media_config_validator`
31- A2DP Sink: allow accept or reject of stream start on A2DP_SUBEVENT_START_STREAM_REQUESTED when ENABLE_AVDTP_ACCEPTOR_EXPLICIT_START_STREAM_CONFIRMATION is defined
32- OBEX: new obex_parser for chunked OBEX data
26- SM: Support Cross-Transport Key-Derivation (CTKD) of LE LTK from BR/EDR SC Link Key
33- SM: Support Cross-Transport Key-Derivation (CTKD) of LE LTK from BR/EDR SC Link Key in Responder role
27- SM: sm_remove_event_handler to remove packet handler
28- GATT Service: Bond Management Service (BMS 1.0) Server
29- GATT Service: Microphone Control Service (MICS 1.0) Server
30- GATT Service: TX Power Service (TPS 1.0) Server
31- POSIX: btstack_signal allows to register for callback on signal, e.g. ctrl-c
32- Windows: btstack_stdin_window_register_ctrl_c_callback allows to register for ctrl-c
33
34### Fixed
35- A2DP Source: fix reconfigure
34- SM: sm_remove_event_handler to remove packet handler
35- GATT Service: Bond Management Service (BMS 1.0) Server
36- GATT Service: Microphone Control Service (MICS 1.0) Server
37- GATT Service: TX Power Service (TPS 1.0) Server
38- POSIX: btstack_signal allows to register for callback on signal, e.g. ctrl-c
39- Windows: btstack_stdin_window_register_ctrl_c_callback allows to register for ctrl-c
40
41### Fixed
42- A2DP Source: fix reconfigure
36- AVRCP Controller: prevent registering notifications for unsupported events
43- AVRCP Controller: prevent registering of notifications for unsupported events
37- RFCOMM: fixed handling of remote port configuration command
38- HFP AG: fix accept incoming connection while audio connection is established
39- PBAP Client: handle chunked vCard Listing
44- RFCOMM: fixed handling of remote port configuration command
45- HFP AG: fix accept incoming connection while audio connection is established
46- PBAP Client: handle chunked vCard Listing
47- PBAP Client: use new streaming obex_parser to handle chunked OBEX data
40- SM: Work around for unexpected Windows 10 disconnect for BR Secure Connections (SMP over BR timeout)
41- SM: support storing bonding information for devices with identical IRK but different public addresses
42- GAP: restart advertising when private address changes
43- le_device_db_tlv: keep number of devices reported by le_device_db_count if old entry is replaced
44
45### Changed
46- Drop iOS support
47- HCI: provide status instead of undocumented int error code and bool for API functions

--- 4 unchanged lines hidden (view full) ---

52- L2CAP: replaced l2cap_register_packet_handler with l2cap_add_event_handler to register multiple handlers
53- L2CAP: drop reason parameter in l2cap_disconnect
54- L2CAP: use official terminology for L2CAP channel modes - ENABLE_L2CAP_LE_CREDIT_BASED_FLOW_CONTROL_MODE replaces ENABLE_LE_DATA_CHANNELS
55- L2CAP: unify API for can send now, request to send, and send packet and disconnect channel
56- L2CAP: unify events for can send now, packet sent, channel closed (CbM/ECBM using existing events)
57- RFCOMM: `RFCOMM_EVENT_PORT_CONFIGURATION` contains rfcomm_cid and remote flag, emitted for query config
58- RFCOMM: provide status instead of undocumented int error code and bool for API functions
59- RFCOMM: remote port configuration, line status, and modem status are sent by channel state machine
48- SM: Work around for unexpected Windows 10 disconnect for BR Secure Connections (SMP over BR timeout)
49- SM: support storing bonding information for devices with identical IRK but different public addresses
50- GAP: restart advertising when private address changes
51- le_device_db_tlv: keep number of devices reported by le_device_db_count if old entry is replaced
52
53### Changed
54- Drop iOS support
55- HCI: provide status instead of undocumented int error code and bool for API functions

--- 4 unchanged lines hidden (view full) ---

60- L2CAP: replaced l2cap_register_packet_handler with l2cap_add_event_handler to register multiple handlers
61- L2CAP: drop reason parameter in l2cap_disconnect
62- L2CAP: use official terminology for L2CAP channel modes - ENABLE_L2CAP_LE_CREDIT_BASED_FLOW_CONTROL_MODE replaces ENABLE_LE_DATA_CHANNELS
63- L2CAP: unify API for can send now, request to send, and send packet and disconnect channel
64- L2CAP: unify events for can send now, packet sent, channel closed (CbM/ECBM using existing events)
65- RFCOMM: `RFCOMM_EVENT_PORT_CONFIGURATION` contains rfcomm_cid and remote flag, emitted for query config
66- RFCOMM: provide status instead of undocumented int error code and bool for API functions
67- RFCOMM: remote port configuration, line status, and modem status are sent by channel state machine
68- HSP: add ACL Connection to all events and BD ADDR to HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE
60- HFP: API functions return status code if appropriate
69- HFP: API functions return status code if appropriate
61- HFP: removed one parameter from hfp_ag/hf_activate_voice_recognition function, instead introduced hfp_ag/hf_deactivate_voice_recognition
70- HFP: removed one parameter from hfp_ag/hf_activate_voice_recognition function, introduce hfp_ag/hf_deactivate_voice_recognition instead
62- HFP: merged legacy and enhanced Voice Recognition Activation (VRA) API. If available enhanced mode will be preferred.
63- HFP: separate events for activation (HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED) and deactivation (HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED) instead of combined HFP_SUBEVENT_VOICE_RECOGNITION_STATUS with status field. HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED contains field "enhanced" to indicate if enhanced mode is used.
64- HFP: enhanced VRA: HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED is emitted after VRA is ready and the the audio connection is established. This simplifies HFP HF client logic, i.e. client can call `hfp_hf_enhanced_voice_recognition_report_ready_for_audio directly` upon reception of HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED event.
71- HFP: merged legacy and enhanced Voice Recognition Activation (VRA) API. If available enhanced mode will be preferred.
72- HFP: separate events for activation (HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED) and deactivation (HFP_SUBEVENT_VOICE_RECOGNITION_DEACTIVATED) instead of combined HFP_SUBEVENT_VOICE_RECOGNITION_STATUS with status field. HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED contains field "enhanced" to indicate if enhanced mode is used.
73- HFP: enhanced VRA: HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED is emitted after VRA is ready and the the audio connection is established. This simplifies HFP HF client logic, i.e. client can call `hfp_hf_enhanced_voice_recognition_report_ready_for_audio directly` upon reception of HFP_SUBEVENT_VOICE_RECOGNITION_ACTIVATED event.
65- HSP: add ACL Connection to all events and BD ADDR to HSP_SUBEVENT_RFCOMM_CONNECTION_COMPLETE
66- AVDTP: media config validator is called with preview of media codec configuration event and configured separately for sink/source
67- AVRCP: use PANEL as default unit + subunit info
68- AVRCP Controller: automatically query supported events when registering for notifications
69- AVRCP Target: cache companies and events in library and remove need to answer query in application callback. Use Bluetooth SIG as default company.
74- AVDTP: media config validator is called with preview of media codec configuration event and configured separately for sink/source
75- AVRCP: use PANEL as default unit + subunit info
76- AVRCP Controller: automatically query supported events when registering for notifications
77- AVRCP Target: cache companies and events in library and remove need to answer query in application callback. Use Bluetooth SIG as default company.
70- PBAP Client: use new streaming obex_parser to handle chunked OBEX data
71- Run Loop: new functionality for HCI transport drivers and inter-process communication
78- Run Loop: new functionality for HCI transport drivers and inter-process communication:
72 - *btstack_run_loop_poll_data_sources_from_irq*: used to transfer control from IRQ handler to main thread/run loop
73 - *btstack_run_loop_execute_on_main_thread*: schedule code execution on main thread from other thread
74 - *btstack_run_loop_trigger_exit*: trigger run loop exit
75- POSIX / Windows / Raspi / Qt: use updated ctrl-c handling
79 - *btstack_run_loop_poll_data_sources_from_irq*: used to transfer control from IRQ handler to main thread/run loop
80 - *btstack_run_loop_execute_on_main_thread*: schedule code execution on main thread from other thread
81 - *btstack_run_loop_trigger_exit*: trigger run loop exit
82- POSIX / Windows / Raspi / Qt: use updated ctrl-c handling
76- POSIX TLV: use max value size of 2048, assert if size is larger in store
83- POSIX TLV: use max value size of 2048, assert in store function if value size is larger
77
78
79## Release v1.4.1
80
81### Added
82- GAP: emit GAP_EVENT_PAIRING_STARTED and GAP_EVENT_PAIRING_COMPLETE
83
84### Fixed

--- 823 unchanged lines hidden ---
84
85
86## Release v1.4.1
87
88### Added
89- GAP: emit GAP_EVENT_PAIRING_STARTED and GAP_EVENT_PAIRING_COMPLETE
90
91### Fixed

--- 823 unchanged lines hidden ---