1 ver 4.47: 2 Add support for RFKILL unblock handling. 3 Add support for serial proxy configurations. 4 Add support for caching service class updates. 5 Fix issues with updating SDP service records. 6 Fix usage of limited discoverable mode. 7 Remove deprecated methods and signals for AudioSource. 8 9 ver 4.46: 10 Add support for A2DP sink role. 11 Fix clearing svc_cache before the adapter is up. 12 Fix various pointer after free usages. 13 Fix various memory leaks. 14 15 ver 4.45: 16 Fix UDEV_DATADIR fallback if pkg-config fails. 17 Fix adapter cleanup and setup prototypes. 18 Fix double-free with out-of-range devices. 19 Fix inband ring setting to be per-headset. 20 Fix handling of Maemo CSD startup. 21 22 ver 4.44: 23 Add some missing manual pages. 24 Fix missing number prefix when installing udev rules. 25 Fix program prefix used in Bluetooth udev rules. 26 Fix three-way calling indicator order. 27 Fix downgrade/upgrade of callheld indicator. 28 Fix +CIEV sending when indicator value changes. 29 Fix signal handling for Maemo telephony driver. 30 Fix parsing issues with messages from Maemo CSD. 31 Fix issue with duplicate active calls. 32 33 ver 4.43: 34 Add support for udev based on-demand startup. 35 Fix verbose error reporting of CUPS backend. 36 Fix various string length issues. 37 Fix issues with Maemo telephony driver. 38 Fix another device setup and temporary flag issue. 39 Fix and update example agent implementation. 40 41 ver 4.42: 42 Add TI WL1271 to Texas Instruments chip list. 43 Add special udev mode to bluetoothd. 44 Fix regression when there is no agent registered. 45 Fix error return when bonding socket hang up. 46 Fix SCO server socket for HFP handsfree role. 47 Fix shutdown on SCO socket before closing. 48 Fix shutdown on A2DP audio stream channel before closing. 49 Fix issue with asserting on AVDTP reference count bugs. 50 Fix authorization denied issue with certain headsets. 51 Fix AVRCP UNITINFO and SUBUNIT INFO responses. 52 Fix discovery cancel issues in case SDP discovery fails. 53 54 ver 4.41: 55 Fix pairing even if the ACL gets dropped before successful SDP. 56 Fix regression which caused device to be removed after pairing. 57 Fix HSP record fetching when remote device doesn't support it. 58 Fix SDP discovery canceling when clearing hs->pending. 59 Fix headset never connecting on the first attempt. 60 Fix headset state tracking if bt_search_service() fails. 61 Fix maximum headset connection count check. 62 Fix AVDTP Discover timeout handling. 63 Fix also UI_SET_KEYBIT for the new pause and play key codes. 64 65 ver 4.40: 66 Add telephony driver for oFono telephony stack. 67 Add support for Dell specific HID proxy switching. 68 Add support for running hid2hci from udev. 69 Add mapping for AVRCP Play and Pause to dedicated key codes. 70 Fix AVRCP keycodes to better match existing X keymap support. 71 Fix various quoting issues within telephony support. 72 Fix memory allocation issue when generating PDUs for SDP. 73 Fix race condition on device removal. 74 Fix non-cancelable issue with CreateDevice method. 75 Fix non-working CancelDiscovery method call. 76 77 ver 4.39: 78 Add workaround for dealing with unknown inquiry complete. 79 Fix discovering when using software scheduler. 80 Fix wrong NoInputNoOutput IO capability string. 81 Fix race condition with agent during pairing. 82 Fix agent cancellation for security mode 3 acceptor failure. 83 Fix temporary flag removal when device creation fails. 84 Fix hciattach to use ppoll instead of poll. 85 Fix service class update when adapter is down. 86 Fix service classes race condition during startup. 87 Fix release of audio client before freeing the device. 88 89 ver 4.38: 90 Add support for builtin plugins. 91 Add framework for adapter operations. 92 Add constants for Enhanced Retransmission modes. 93 Fix HCI socket leak in device_remove_bonding. 94 Fix various format string issues. 95 Fix crashes with various free functions. 96 Fix issues with Headset and A2DP drivers to load again. 97 Fix sending AVRCP button released passthrough messages 98 Fix bug which prevent input devices to work after restart. 99 Fix issue with interpretation of UUID-128 as channel. 100 101 ver 4.37: 102 Add version value for Bluetooth 3.0 devices. 103 Add additional L2CAP extended feature mask bits. 104 Add support for loading plugins in priority order. 105 Add support for more detailed usage of disconnect watches. 106 Add support for AVRCP volume control. 107 Add saturated clipping of SBC decoder output to 16-bit. 108 Fix potentially infinite recursion of adapter_up. 109 Fix SCO handling in the case of an incoming call. 110 Fix input service to use confirm callback. 111 Fix cleanup of temporary device entries from storage. 112 113 ver 4.36: 114 Add proper tracking of AVCTP connect attempts. 115 Add support to channel pattern in Serial interface. 116 Fix A2DP sink crash if removing device while connecting. 117 Fix error handling if HFP indicators aren't initialized. 118 Fix segfault while handling an incoming SCO connection. 119 Fix Serial.Disconnect to abort connection attempt. 120 121 ver 4.35: 122 Add support for Handsfree profile headset role. 123 Add additional checks for open SEIDs from clients. 124 Fix device removal while audio IPC client is connected. 125 Fix device removal when an authorization request is pending. 126 Fix incoming AVDTP connect while authorization in progress. 127 Fix disconnection timers for audio support. 128 Fix various potential NULL pointer deferences. 129 Fix callheld indicator value for multiple calls. 130 Fix voice number type usage. 131 Fix GDBus watch handling. 132 133 ver 4.34: 134 Add support for version checks of plugins. 135 Add support for class property on adapter interface. 136 Add support for second SDP attempt after connection reset. 137 Add support for more detailed audio states. 138 Add support for HFP+A2DP auto connection feature. 139 Add support for new and improved audio IPC. 140 Add program for testing audio IPC interface. 141 Fix various AVDTP qualification related issues. 142 Fix broken SDP AttributeIdList parsing. 143 Fix invalid memory access of SDP URL handling. 144 Fix local class of device race conditions. 145 Fix issue with periodic inquiry on startup. 146 Fix missing temporary devices in some situations. 147 Fix SBC alignment issue for encoding with four subbands. 148 149 ver 4.33: 150 Add Paired property to the DeviceFound signals. 151 Add support for Headset profile 1.2 version. 152 Fix broken network configuration when IPv6 is disabled. 153 Fix network regression that caused disconnection. 154 Fix SDP truncation of strings with NULL values. 155 Fix service discovery handling of CUPS helper. 156 157 ver 4.32: 158 Fix broken SDP record handling. 159 Fix SDP data buffer parsing. 160 Fix more SDP memory leaks. 161 Fix read scan enable calls. 162 Fix A2DP stream handling. 163 164 ver 4.31: 165 Add support for new BtIO helper library. 166 Fix AVDTP session close issue. 167 Fix SDP memory leaks. 168 Fix various uninitialized memory issues. 169 Fix duplicate signal emissions. 170 Fix property changes request handling. 171 Fix class of device storage handling. 172 173 ver 4.30: 174 Add CID field to L2CAP socket address structure. 175 Fix reset of authentication requirements after bonding. 176 Fix storing of link keys when using dedicated bonding. 177 Fix storing of pre-Bluetooth 2.1 link keys. 178 Fix resetting trust settings on every reboot. 179 Fix handling of local name changes. 180 Fix memory leaks in hciconfig and hcitool 181 182 ver 4.29: 183 Use AVRCP version 1.0 for now. 184 Decrease AVDTP idle timeout to one second. 185 Delay AVRCP connection when remote device connects A2DP. 186 Add workaround for AVDTP stream setup with broken headsets. 187 Add missing three-way calling feature bit for Handsfree. 188 Fix handsfree callheld indicator updating. 189 Fix parsing of all AT commands within the buffer. 190 Fix authentication replies when disconnected. 191 Fix handling of debug combination keys. 192 Fix handling of changed combination keys. 193 Fix handling of link keys when using no bonding. 194 Fix handling of invalid/unknown authentication requirements. 195 Fix closing of L2CAP raw socket used for dedicated bonding. 196 197 ver 4.28: 198 Add AVDTP signal fragmentation support. 199 Add more SBC performance optimizations. 200 Add more SBC audio quality improvements. 201 Use native byte order for audio plugins. 202 Set the adapter alias only after checking the EIR data. 203 Fix auto-disconnect issue with explicit A2DP connections. 204 Fix invalid memory access of ALSA plugin. 205 Fix compilation with -Wsign-compare. 206 207 ver 4.27: 208 Add more SBC optimization (MMX and ARM NEON). 209 Add BT_SECURITY and BT_DEFER_SETUP definitions. 210 Add support for deferred connection setup. 211 Add support for fragmentation of data packets. 212 Add option to trigger dedicated bonding. 213 Follow MITM requirements from remote device. 214 Require MITM for dedicated bonding if capabilities allow it. 215 Fix IO capabilities for non-pairing and pairing cases. 216 Fix no-bonding connections in non-bondable mode. 217 Fix new pairing detection with SSP. 218 Fix bonding with pre-2.1 devices and newer kernels. 219 Fix LIAC setting while toggling Pairable property. 220 Fix device creation for incoming security mode 3 connects. 221 Fix crash within A2DP with bogus pointer. 222 Fix issue with sdp_copy_record() function. 223 Fix crash with extract_des() if sdp_uuid_extract() fails. 224 225 ver 4.26: 226 Use of constant shift in SBC quantization code. 227 Add possibility to analyze 4 blocks at once in encoder. 228 Fix correct handling of frame sizes in the encoder. 229 Fix for big endian problems in SBC codec. 230 Fix audio client socket to always be non-blocking. 231 Update telephony support for Maemo. 232 233 ver 4.25: 234 Fix receiving data over the audio control socket. 235 Fix subbands selection for joint-stereo in SBC encoder. 236 Add new SBC analysis filter function. 237 238 ver 4.24: 239 Fix signal emissions when removing adapters. 240 Fix missing adapter signals on exit. 241 Add support for bringing adapters down on exit. 242 Add support for RememberPowered option. 243 Add support for verbose compiler warnings. 244 Add more options to SBC encoder. 245 246 ver 4.23: 247 Update audio IPC for better codec handling. 248 Fix bitstream optimization for SBC encoder. 249 Fix length header values of IPC messages. 250 Fix multiple coding style violations. 251 Fix FindDevice to handle temporary devices. 252 Add configuration option for DeviceID. 253 Add support for InitiallyPowered option. 254 Add missing signals for manager properties. 255 Add telephony support for Maemo. 256 257 ver 4.22: 258 Add deny statements to D-Bus access policy. 259 Add support for LegacyPairing property. 260 Add support for global properties. 261 Add more commands to telephony testing script. 262 Add sender checks for serial and network interfaces. 263 Remove deprecated methods and signals from input interface. 264 Remove deprecated methods and signals from network interface. 265 Remove OffMode option and always use device down. 266 267 ver 4.21: 268 Fix adapter initialization logic. 269 Fix adapter setup and start security manager early. 270 Fix usage issue with first_init variable. 271 272 ver 4.20: 273 Cleanup session handling. 274 Cleanup mode setting handling. 275 Fix issue with concurrent audio clients. 276 Fix issue with HFP/HSP suspending. 277 Fix AT result code syntax handling. 278 Add Handsfree support for AT+NREC. 279 Add PairableTimeout adapter property. 280 281 ver 4.19: 282 Fix installation of manual pages for old daemons. 283 Fix D-Bus signal emmissions for CreateDevice. 284 Fix issues with UUID probing. 285 Fix +BSRF syntax issue. 286 Add Pairable adapter property. 287 Add sdp_copy_record() library function. 288 289 ver 4.18: 290 Fix release before close issue with RFCOMM TTYs. 291 Fix Connected property on input interface. 292 Fix DeviceFound signals during initial name resolving. 293 Fix service discovery handling. 294 Fix duplicate UUID detection. 295 Fix SBC gain mismatch and decoding handling. 296 Add more options to SBC encoder and decoder. 297 Add special any adapter object for service interface. 298 Add variable prefix to adapter and device object paths. 299 300 ver 4.17: 301 Fix SBC encoder not writing last frame. 302 Fix missing timer for A2DP suspend. 303 Add more supported devices to hid2hci utility. 304 Add additional functionality to Handsfree support. 305 306 ver 4.16: 307 Fix wrong parameter usage of watch callbacks. 308 Fix parameters for callback upon path removal. 309 Fix unloading of adapter drivers. 310 311 ver 4.15: 312 Fix various A2DP state machine issues. 313 Fix some issues with the Handsfree error reporting. 314 Fix format string warnings with recent GCC versions. 315 Remove dependency on GModule. 316 317 ver 4.14: 318 Fix types of property arrays. 319 Fix potential crash with input devices. 320 Fix PS3 BD remote input event generation. 321 Allow dynamic adapter driver registration. 322 Update udev rules. 323 324 ver 4.13: 325 Fix service discovery and UUID handling. 326 Fix bonding issues with Simple Pairing. 327 Fix file descriptor misuse of SCO connections. 328 Fix various memory leaks in the device handling. 329 Fix AVCTP disconnect handling. 330 Fix GStreamer modes for MP3 encoding. 331 Add operator selection to Handsfree support. 332 333 ver 4.12: 334 Fix crash with missing icon value. 335 Fix error checks of HAL plugin. 336 Fix SCO server socket cleanup on exit. 337 Fix memory leaks from DBusPendingCall. 338 Fix handling of pending authorization requests. 339 Fix missing protocol UUIDs in record pattern. 340 341 ver 4.11: 342 Change SCO server socket into a generic one. 343 Add test script for dummy telephony plugin. 344 Fix uninitialized reply of multiple GetProperties methods. 345 346 ver 4.10: 347 Fix memory leaks with HAL messages. 348 Add more advanced handsfree features. 349 Add properties to audio, input and network interfaces. 350 Stop device discovery timer on device removal. 351 352 ver 4.9: 353 Fix signals for Powered and Discoverable properties. 354 Fix handling of Alias and Icon properties. 355 Fix duplicate entries for service UUIDs. 356 357 ver 4.8: 358 Fix retrieving of formfactor value. 359 Fix retrieving of local and remote extended features. 360 Fix potential NULL pointer dereference during pairing. 361 Fix crash with browsing due to a remotely initated pairing. 362 363 ver 4.7: 364 Fix pairing and service discovery logic. 365 Fix crashes during suspend and resume. 366 Fix race condition within devdown mode. 367 Add RequestSession and ReleaseSession methods. 368 Add Powered and Discoverable properties. 369 Add Devices property and deprecate ListDevices. 370 Add workaround for a broken carkit from Nokia. 371 372 ver 4.6: 373 Fix Device ID record handling. 374 Fix service browsing and storage. 375 Fix authentication and encryption for input devices. 376 Fix adapter name initialization. 377 378 ver 4.5: 379 Fix initialization issue with new adapters. 380 Send HID authentication request without blocking. 381 Hide the verbose SDP debug behind SDP_DEBUG. 382 Add extra UUIDs for service discovery. 383 Add SCO server socket listener. 384 Add authorization support to service plugin. 385 386 ver 4.4: 387 Add temporary fix for the CUPS compile issue. 388 Add service-api.txt to distribution. 389 Mention the variable prefix of an object path 390 391 ver 4.3: 392 Add dummy driver for telephony support. 393 Add support for discovery sessions. 394 Add service plugin for external services. 395 Various cleanups. 396 397 ver 4.2: 398 Avoid memory copies in A2DP write routine. 399 Fix broken logic with Simple Pairing check and old kernels. 400 Allow non-bondable and outgoing SDP without agent. 401 Only remove the bonding for non-temporary devices. 402 Cleanup various unnecessary includes. 403 Make more unexported functions static. 404 Add basic infrastructure for gtk-doc support. 405 406 ver 4.1: 407 Add 30 seconds timeout to BNEP connection setup phase. 408 Avoid memory copies in A2DP write routine for ALSA. 409 Make sure to include compat/sdp.h in the distribution. 410 411 ver 4.0: 412 Initial public release. 413 414 ver 3.36: 415 Add init routines for TI BRF chips. 416 Add extra attributes to the serial port record. 417 Add example record for headset audio gateway record. 418 Use Handsfree version 0x0105 for the gateway role. 419 Fix SDP record registration with specific record handles. 420 Fix BCSP sent/receive handling. 421 Fix various includes for cross-compilation. 422 Allow link mode settings for outgoing connections. 423 Allow bonding during periodic inquiry. 424 425 ver 3.35: 426 Add two additional company identifiers. 427 Add UUID-128 support for service discovery. 428 Fix usage of friendly names for service discovery. 429 Fix authorization when experiemental is disabled. 430 Fix uninitialized variable in passkey request handling. 431 Enable output of timestamps for l2test and rctest. 432 433 ver 3.34: 434 Replace various SDP functions with safe versions. 435 Add additional length validation for incoming SDP packets. 436 Use safe function versions for SDP client handling. 437 Fix issue with RemoveDevice during discovery procedure. 438 Fix collect for non-persistent service records. 439 440 ver 3.33: 441 Add functions for reading and writing the link policy settings. 442 Add definition for authentication requirements. 443 Add support for handling Simple Pairing. 444 Add Simple Pairing support to Agent interface. 445 Add ReleaseMode method to Adapter interface. 446 Add DiscoverServices method to Device interface. 447 Remove obsolete code and cleanup the repository. 448 Move over to use the libgdbus API. 449 Enable PIE by default if supported. 450 451 ver 3.32: 452 Add OCF constants for synchronous flow control enabling. 453 Add support for switching HID proxy devices from Dell. 454 Add more Bluetooth client/server helper functions. 455 Add support for input service idle timeout option. 456 Fix BNEP reconnection handling. 457 Fix return value for snd_pcm_hw_params() calls. 458 Use upper-case addresses for object paths. 459 Remove HAL support helpers. 460 Remove inotify support. 461 Remove service daemon activation handling. 462 Remove uneeded D-Bus API extension. 463 464 ver 3.31: 465 Create device object for all pairing cases. 466 Convert authorization to internal function calls. 467 Add initial support for Headset Audio Gateway role. 468 Add generic Bluetooth helper functions for GLib. 469 Fix endiannes handling of connection handles. 470 Don't optimize when debug is enabled. 471 472 ver 3.30: 473 Convert audio service into a plugin. 474 Convert input service into a plugin. 475 Convert serial service into a plugin. 476 Convert network service into a plugin. 477 Emit old device signals when a property is changed. 478 Fix missing DiscoverDevices and CancelDiscovery methods. 479 Add another company identifier. 480 Add basic support for Bluetooth sessions. 481 Add avinfo utility for AVDTP/A2DP classification. 482 Remove build option for deprecated sdpd binary. 483 484 ver 3.29: 485 Introduce new D-Bus based API. 486 Add more SBC optimizations. 487 Add support for PS3 remote devices. 488 Fix alignment trap in SDP server. 489 Fix memory leak in sdp_get_uuidseq_attr function. 490 491 ver 3.28: 492 Add support for MCAP UUIDs. 493 Add support for role switch for audio service. 494 Add disconnect timer for audio service. 495 Add disconnect detection to ALSA plugin. 496 Add more SBC optimizations. 497 Fix alignment issue of SDP server. 498 Remove support for SDP parsing via expat. 499 500 ver 3.27: 501 Update uinput.h with extra key definitions. 502 Add support for input connect/disconnect callbacks. 503 Add ifdefs around some baud rate definitions. 504 Add another company identifier. 505 Add proper HFP service level connection handling. 506 Add basic headset automatic disconnect support. 507 Add support for new SBC API. 508 Fix SBC decoder noise at high bitpools. 509 Use 32-bit multipliers for further SBC optimization. 510 Check for RFCOMM connection state in SCO connect callback. 511 Make use of parameters selected in ALSA plugin. 512 513 ver 3.26: 514 Fix compilation issues with UCHAR_MAX, USHRT_MAX and UINT_MAX. 515 Improve handling of different audio transports. 516 Enable services by default and keep old daemons disabled. 517 518 ver 3.25: 519 Add limited support for Handsfree profile. 520 Add limited support for MPEG12/MP3 codec. 521 Add basic support for UNITINFO and SUBUNITINFO. 522 Add more SBC optimizations. 523 Fix external service (un)registration. 524 Allow GetInfo and GetAddress to fail. 525 526 ver 3.24: 527 Add definitions for MDP. 528 Add TCP connection support for serial proxy. 529 Add fix for Logitech HID proxy switching. 530 Add missing macros, MIN, MAX, ABS and CLAMP. 531 Add more SBC encoder optimizations. 532 Add initial mechanism to handle headset commands. 533 Fix connecting to handsfree profile headsets. 534 Use proper function for checking signal name. 535 536 ver 3.23: 537 Fix remote name request handling bug. 538 Fix key search function to honor the mmap area size. 539 Fix Avahi integration of network service. 540 Add new plugin communication for audio service. 541 Enable basic AVRCP support by default. 542 More optimizations to the SBC library. 543 Create common error definitions. 544 545 ver 3.22: 546 Add missing include file from audio service. 547 Add SBC conformance test utility. 548 Add basic uinput support for AVRCP. 549 Fix L2CAP socket leak in audio service. 550 Fix buffer usage in GStreamer plugin. 551 Fix remote name request event handling. 552 553 ver 3.21: 554 Add constant for Bluetooth socket options level. 555 Add initial AVRCP support. 556 Add A2DP sink support to GStreamer plugin. 557 Fix interoperability with A2DP suspend. 558 Fix sign error in 8-subband encoder. 559 Fix handling of service classes length size. 560 Store Extended Inquiry Response data information. 561 Publish device id information through EIR. 562 Support higher baud rates for Ericcson based chips. 563 564 ver 3.20: 565 Fix GStreamer plugin file type detection. 566 Fix potential infinite loop in inotify support. 567 Fix D-Bus signatures for dict handling. 568 Fix issues with service activation. 569 Fix SDP failure handling of audio service. 570 Fix various memory leaks in input service. 571 Add secure device creation method to input service. 572 Add service information methods to serial service. 573 Add config file support to network service. 574 Add scripting capability to network service. 575 Add special on-mode handling. 576 Add optimization for SBC encoder. 577 Add tweaks for D-Bus 1.1.x libraries. 578 Add support for inquiry transmit power level. 579 580 ver 3.19: 581 Limit range of bitpool announced while in ACP side. 582 Use poll instead of usleep to wait for worker thread. 583 Use default event mask from the specification. 584 Add L2CAP mode constants. 585 Add HID proxy support for Logitech diNovo Edge dongle. 586 Add refresh option to re-request device names. 587 Show correct connection link type. 588 589 ver 3.18: 590 Don't allocate memory for the Bluetooth base UUID. 591 Implement proper locking for headsets. 592 Fix various A2DP SEP locking issues. 593 Fix and cleanup audio stream handling. 594 Fix stream starting if suspend request is pending. 595 Fix A2DP and AVDTP endianess problems. 596 Add network timeout and retransmission support. 597 Add more detailed decoding of EIR elements. 598 599 ver 3.17: 600 Fix supported commands bit calculation. 601 Fix crashes in audio and network services. 602 Check PAN source and destination roles. 603 Only export the needed symbols for the plugins. 604 605 ver 3.16: 606 Update company identifier list. 607 Add support for headsets with SCO audio over HCI. 608 Add support for auto-create through ALSA plugin. 609 Add support for ALSA plugin parameters. 610 Add GStreamer plugin with SBC decoder and encoder. 611 Fix network service NAP, GN and PANU servers. 612 Set EIR information from SDP database. 613 614 ver 3.15: 615 Add A2DP support to the audio service. 616 Add proxy support to the serial service. 617 Extract main service class for later use. 618 Set service classes value from SDP database. 619 620 ver 3.14: 621 Add missing signals for the adapter interface. 622 Add definitions and functions for Simple Pairing. 623 Add basic commands for Simple Pairing. 624 Add correct Simple Pairing and EIR interaction. 625 Add missing properties for remote information. 626 Add EPoX endian quirk to the input service. 627 Fix HID descriptor import and storage functions. 628 Fix handling of adapters in raw mode. 629 Fix remote device listing methods. 630 631 ver 3.13: 632 Fix some issues with the headset support. 633 Fix concurrent pending connection attempts. 634 Fix usage of devname instead of netdev. 635 Add identifier for Nokia SyncML records. 636 Add command for reading the CSR chip revision. 637 Add generic CSR radio test support. 638 Update HCI command table. 639 640 ver 3.12: 641 Add missing HCI command text descriptions 642 Add missing HCI commands structures. 643 Add missing HCI event structures. 644 Add common bachk() function. 645 Add support for limited discovery mode. 646 Add support for setting of event mask. 647 Add GetRemoteServiceIdentifiers method. 648 Add skeleton for local D-Bus server. 649 Add headset gain control methods. 650 Fix various headset implementation issues. 651 Fix various serial port service issues. 652 Fix various input service issues. 653 Let CUPS plugin discover printers in range. 654 Improve the BCM2035 UART init routine. 655 Ignore connection events for non-ACL links. 656 657 ver 3.11: 658 Update API documentation. 659 Minimize SDP root records and browse groups. 660 Use same decoder for text and URL strings. 661 Fix URL data size handling. 662 Fix SDP pattern extraction for XML. 663 Fix network connection persistent state. 664 Add network connection helper methods. 665 Add initial version of serial port support. 666 Add class of device tracking. 667 668 ver 3.10.1: 669 Add option to disable installation of manual pages. 670 Fix input service encryption setup. 671 Fix serial service methods. 672 Fix network service connection handling. 673 Provide a simple init script. 674 675 ver 3.10: 676 Add initial version of network service. 677 Add initial version of serial service. 678 Add initial version of input service. 679 Add initial version of audio service. 680 Add authorization framework. 681 Add integer based SBC library. 682 Add version code for Bluetooth 2.1 specification. 683 Add ESCO_LINK connection type constant. 684 Export sdp_uuid32_to_uuid128() function. 685 686 ver 3.9: 687 Add RemoteDeviceDisconnectRequested signal. 688 Add updated service framework. 689 Add embedded GLib library. 690 Add support for using system GLib library. 691 Create internal SDP server library. 692 693 ver 3.8: 694 Sort discovered devices list based on their RSSI. 695 Send DiscoverableTimeoutChanged signal. 696 Fix local and remote name validity checking. 697 Add ListRemoteDevices and ListRecentRemoteDevices methods. 698 Add basic integration of confirmation concept. 699 Add support for service record description via XML. 700 Add support for external commands to the RFCOMM utility. 701 Add experimental service and authorization API. 702 Add functions for registering binary records. 703 704 ver 3.7: 705 Fix class of device handling. 706 Fix error replies with pairing and security mode 3. 707 Fix disconnect method for RFCOMM connections. 708 Add match pattern for service searches. 709 Add support for prioritized watches. 710 Add additional PDU length checks. 711 Fix CSRC value for partial responses. 712 713 ver 3.6.1: 714 Fix IO channel race conditions. 715 Fix pairing issues on big endian systems. 716 Fix pairing issues with page timeout errors. 717 Fix pairing state for security mode 3 requests. 718 Switch to user as default security manager mode. 719 720 ver 3.6: 721 Update D-Bus based RFCOMM interface support. 722 Use L2CAP raw sockets for HCI connection creation. 723 Add periodic discovery support to the D-Bus interface. 724 Add initial support for device names via EIR. 725 Add proper UTF-8 validation of device names. 726 Add support for the J-Three keyboard. 727 Fix issues with the asynchronous API for SDP. 728 729 ver 3.5: 730 Fix and cleanup watch functionality. 731 Add support for periodic inquiry mode. 732 Add support for asynchronous SDP requests. 733 Add more request owner tracking. 734 Add asynchronous API for SDP. 735 Document pageto and discovto options. 736 737 ver 3.4: 738 Improve error reporting for failed HCI commands. 739 Improve handling of CancelBonding. 740 Fixed bonding reply message when disconnected. 741 Fix UUID128 string lookup handling. 742 Fix malloc() versus bt_malloc() usage. 743 744 ver 3.3: 745 Don't change inquiry mode for Bluetooth 1.1 adapters. 746 Add udev rules for Bluetooth serial PCMCIA cards. 747 Add Cancel and Release methods for passkey agents. 748 Add GetRemoteClass method. 749 Convert to using ppoll() and pselect(). 750 Initialize allocated memory to zero. 751 Remove bcm203x firmware loader. 752 Remove kernel specific timeouts. 753 Add additional private data field for SDP sessions. 754 Add host controller to host flow control defines. 755 Add host number of completed packets defines. 756 Initialize various memory to zero before usage. 757 758 ver 3.2: 759 Only check for the low-level D-Bus library. 760 Update possible device minor classes. 761 Fix timeout for pending reply. 762 Add more Inquiry with RSSI quirks. 763 Sleep only 100 msecs for device detection. 764 Don't send BondingCreated on link key renewal. 765 Allow storing of all UTF-8 remote device names. 766 Create storage filenames with a generic function. 767 Fix handling of SDP strings. 768 Add adapter type for SDIO cards. 769 Add features bit for link supervision timeout. 770 771 ver 3.1: 772 Add missing placeholders for feature bits. 773 Fix handling of raw mode devices. 774 Fix busy loop in UUID extraction routine. 775 Remove inquiry mode setting. 776 Remove auth and encrypt settings. 777 778 ver 3.0: 779 Implement the new BlueZ D-Bus API. 780 Fix broken behavior with EVT_CMD_STATUS. 781 Add features bit for pause encryption. 782 Add additional EIR error code. 783 Add more company identifiers. 784 Add another Phonebook Access identifier. 785 Update sniff subrating data structures. 786 787 ver 2.25: 788 Use %jx instead of %llx for uint64_t and int64_t. 789 Allow null-terminated text strings. 790 Add UUID for N-Gage games. 791 Add UUID for Apple Macintosh Attributes. 792 Add Apple attributes and iSync records. 793 Add definitions for Apple Agent. 794 Add support for the Handsfree Audio Gateway service. 795 Add support for choosing a specific record handle. 796 Add support for dialup/telephone connections. 797 Add definitions for Apple Agent. 798 Add support for record handle on service registration. 799 800 ver 2.24: 801 Fix display of SDP text and data strings. 802 Add support for device scan property. 803 Add support for additional access protocols. 804 Update the D-Bus policy configuration file. 805 806 ver 2.23: 807 Update the new D-Bus interface. 808 Make dfutool ready for big endian architectures. 809 Add support for AVRCP specific service records. 810 Add support for writing complex BCCMD commands. 811 Add the new BCCMD interface utility. 812 Add MicroBCSP implementation from CSR. 813 Add constants and definitions for sniff subrating. 814 Add support for allocation of binary text elements. 815 Add HCI emulation tool. 816 Add fake HID support for old EPoX presenters. 817 Reject connections from unknown HID devices. 818 Fix service discovery deadlocks with Samsung D600 phones. 819 820 ver 2.22: 821 Remove D-Bus 0.23 support. 822 Add initial version of the new D-Bus interface. 823 Add support for extended inquiry response commands. 824 Add support for the Logitech diNovo Media Desktop Laser. 825 Add compile time buffer checks (FORTIFY SOURCE). 826 Decode reserved LMP feature bits. 827 Fix errno overwrite problems. 828 Fix profile descriptor problem with Samsung phones. 829 830 ver 2.21: 831 Move create_dirs() and create_file() into the textfile library. 832 Let textfile_put() also replace the last key value pair. 833 Fix memory leaks with textfile_get() usage. 834 Fix infinite loops and false positive matches. 835 Don't retrieve stored link keys for RAW devices. 836 Document the putkey and delkey commands. 837 Show supported commands also in clear text. 838 Support volatile changes of the BD_ADDR for CSR chips. 839 Add support for identification of supported commands. 840 Add missing OCF declarations for the security filter. 841 Add two new company identifiers. 842 843 ver 2.20: 844 Add UUIDs for video distribution profile. 845 Add UUIDs for phonebook access profile. 846 Add attribute identifier for supported repositories. 847 Add definitions for extended inquiry response. 848 Add functions for extended inquiry response. 849 Add support for extended inquiry response. 850 Add support for HotSync service record. 851 Add support for ActiveSync service record. 852 Add ActiveSync networking support. 853 Fix D-Bus crashes with new API versions. 854 855 ver 2.19: 856 Fix the GCC 4.0 warnings. 857 Fix the routing for dealing with raw devices. 858 Fix off by one memory allocation error. 859 Fix security problem with escape characters in device name. 860 Add per device service record functions. 861 Send D-Bus signals for inquiry results and remote name resolves. 862 Add support for device specific SDP records. 863 864 ver 2.18: 865 Support D-Bus 0.23 and 0.33 API versions. 866 Support reading of complex BCCMD values. 867 Support minimum and maximum encryption key length. 868 Add support for reading and writing the inquiry scan type. 869 Add definitions for connection accept timeout and scan enable. 870 Add support for inquiry scan type. 871 Add tool for the CSR BCCMD interface. 872 Add first draft of the Audio/Video control utility. 873 Add disconnect timer support for the A2DP ALSA plugin. 874 Make SBC parameters configurable. 875 Replace non-printable characters in device names. 876 Remove hci_vhci.h header file. 877 Remove hci_uart.h header file. 878 879 ver 2.17: 880 Set the storage directory through ${localstatedir}. 881 Add the textfile library for ASCII based file access. 882 Add support for return link keys event. 883 Add support for voice setting configuration. 884 Add support for page scan timeout configuration. 885 Add support for storing and deleting of stored link keys. 886 Add support for searching for services with UUID-128. 887 Add support for retrieving all possible service records. 888 Add support for a raw mode view of service records. 889 Add support for HID information caching in hidd. 890 Add support for authentication in pand and dund. 891 Add support for changing BD_ADDR of CSR chips. 892 Add pskey utility for changing CSR persistent storage values. 893 Add the firmware upgrade utility. 894 Add connection caching for the A2DP ALSA plugin. 895 Add functions for stored link keys. 896 Add definitions for PIN type and unit key. 897 Add SDP_WAIT_ON_CLOSE flag for sdp_connect(). 898 Include stdio.h in bluetooth.h header file. 899 Include sys/socket.h in the header files. 900 901 ver 2.16: 902 Store link keys in ASCII based file format. 903 Support device name caching. 904 Support zero length data sizes in l2test. 905 Change default l2ping data size to 44 bytes. 906 Hide the server record and the public browse group root. 907 Read BD_ADDR if not set and if it is a raw device. 908 Add SDP language attributes. 909 Add support for browsing the L2CAP group. 910 Add support for stored pin codes for outgoing connections. 911 Add support for local commands and extended features. 912 Add support for reading CSR panic and fault codes. 913 Add config option for setting the inquiry mode. 914 Add OUI decoding support. 915 Use unlimited inquiry responses as default. 916 Use cached device names for PIN request. 917 Use the clock offset when getting the remote names. 918 Add function for reading local supported commands. 919 Add function for reading local extended features. 920 Add function for reading remote extended features. 921 Add function for getting the remote name with a clock offset. 922 Add function for extracting the OUI from a BD_ADDR. 923 Add inquiry info structure with RSSI and page scan mode. 924 Fix buffer allocation for features to string conversion. 925 Support inquiry with unlimited number of responses. 926 927 ver 2.15: 928 Enable the RFCOMM service level security. 929 Add deprecated functions for reading the name. 930 Add command for reading the clock offset. 931 Add command for reading the clock. 932 Add function for reading the clock. 933 Add function for reading the local Bluetooth address. 934 Add function for reading the local supported features. 935 Don't configure raw devices. 936 Don't set inquiry scan or page scan on raw devices. 937 Don't show extended information for raw devices. 938 Support L2CAP signal sizes bigger than 2048 bytes. 939 Cleanup of the socket handling code of the test programs. 940 Use better way for unaligned access. 941 Remove sdp_internal.h and its usage. 942 943 ver 2.14: 944 Make use of additional connection information. 945 Use library function for reading the RSSI. 946 Use library function for reading the link quality. 947 Use library function for reading the transmit power level. 948 Use library functions for the link supervision timeout. 949 Add tool for changing the device address. 950 Add function for reading the RSSI. 951 Add function for reading the link quality. 952 Add function for reading the transmit power level. 953 Add functions for the link supervision timeout. 954 Remove deprecated functions. 955 Update AM_PATH_BLUEZ macro. 956 957 ver 2.13: 958 Use file permission 0600 for the link key file. 959 Add support for HID attribute descriptions. 960 Add support for Device ID attributes. 961 Add Device ID and HID attribute definitions. 962 Update the UUID constants and its translations. 963 Update L2CAP socket option definitions. 964 Update connection information definitions. 965 Various whitespace cleanups. 966 967 ver 2.12: 968 Inherit the device specific options from the default. 969 Use --device for selecting the source device. 970 Add --nosdp option for devices with resource limitation. 971 Add support and parameter option for secure mode. 972 Add a lot of build ids and hardware revisions. 973 Add service classes and profile ids for WAP. 974 Add simple AM_PATH_BLUEZ macro. 975 Update UUID translation tables. 976 Correct kernel interface for CMTP and HIDP support. 977 978 ver 2.11: 979 Initial support for the kernel security manager. 980 Various cleanups to avoid inclusion of kernel headers. 981 Fix output when the CUPS backend is called without arguments. 982 Fix problems with a 64 bit userland. 983 Use Bluetooth library functions if available. 984 Use standard numbering scheme of SDP record handles. 985 Use bit zero for vendor packets in the filter type bitmask. 986 Add SIM Access types for service discovery. 987 Add more audio/video profile translations. 988 Add another company identifier. 989 Add the missing HCI error codes. 990 Add RFCOMM socket options. 991 Add definition for the SECURE link mode. 992 Add functions for reading and writing the inquiry mode. 993 Add functions for AFH related settings and information. 994 Add version identifier for the Bluetooth 2.0 specification. 995 Add a master option to the hidd. 996 Add support for changing the link key of a connection. 997 Add support for requesting encryption on keyboards. 998 Add support for revision information of Digianswer devices. 999 Add support for the Zoom, IBM and TDK PCMCIA cards. 1000 Add checks for the OpenOBEX and the ALSA libraries. 1001 Add experimental mRouter support. 1002 1003 ver 2.10: 1004 Use a define for the configuration directory. 1005 Fix string initialization for flags translation. 1006 Fix and extend the unaligned access macros. 1007 Make compiling with debug information optional. 1008 Don't override CFLAGS from configure. 1009 Check for usb_get_busses() and usb_interrupt_read(). 1010 Add optional support for compiling with PIE. 1011 Make installation of the init scripts optional. 1012 Make compiling with debug information optional. 1013 Don't override CFLAGS from configure. 1014 1015 ver 2.9: 1016 Retry SDP connect if busy in the CUPS backend. 1017 Use packet type and allow role switch in hcitool. 1018 Use the functions from the USB library for hid2hci. 1019 Add Broadcom firmware loader. 1020 Add EPoX endian quirk for buggy keyboards. 1021 Add L2CAP info type and info result definitions. 1022 Add value for L2CAP_CONF_RFC_MODE. 1023 Change RSSI value to signed instead of unsigned. 1024 Allow UUID32 values as protocol identifiers. 1025 Update the autoconf/automake scripts. 1026 1027 ver 2.8: 1028 Use LIBS and LDADD instead of LDFLAGS. 1029 Use HIDP subclass field for HID boot protocol. 1030 Set olen before calling getsockopt() in pand. 1031 Restore signals for dev-up script. 1032 Add PID file support for pand. 1033 Add size parameter to expand_name() in hcid. 1034 Add support for audio source and audio sink SDP records. 1035 Add support for HID virtual cable unplug. 1036 Add support for AmbiCom BT2000C card. 1037 Add defines and UUID's for audio/video profiles. 1038 Add AVDTP protocol identifier. 1039 Add HIDP subclass field. 1040 Add PKGConfig support. 1041 Fix the event code of inquiry with RSSI. 1042 Remove dummy SDP library. 1043 1044 ver 2.7: 1045 Fix display of decoded LMP features. 1046 Update company identifiers. 1047 Add AFH related types. 1048 Add first bits from EDR prototyping specification. 1049 Add support for inquiry with RSSI. 1050 Add HCRP related SDP functions. 1051 Add HIDP header file. 1052 Add support for getting the AFH channel map. 1053 Add support for AFH mode. 1054 Add support for inquiry mode. 1055 Add Bluetooth backend for CUPS. 1056 Add the hid2hci utility. 1057 Add the hidd utility. 1058 Add the pand utility. 1059 Add the dund utility. 1060 More endian bug fixes. 1061 Give udev some time to create the RFCOMM device nodes. 1062 Release the TTY if no device node is found. 1063 New startup script for the Bluetooth subsystem. 1064 Update to the autoconf stuff. 1065 1066 ver 2.6: 1067 Change default prefix to /usr. 1068 Add manpages for hcid and hcid.conf. 1069 Add the sdpd server daemon. 1070 Add the sdptool utility. 1071 Add the ciptool utility. 1072 Add new company identifiers. 1073 Add BNEP and CMTP header files. 1074 Add the SDP library. 1075 Use R2 for default value of pscan_rep_mode. 1076 1077 ver 2.5: 1078 Add decoding of Bluetooth 1.2 features. 1079 Add link manager version parameter for Bluetooth 1.2. 1080 Add new company identifiers. 1081 Add D-Bus support for PIN request. 1082 Support for transmit power level. 1083 Support for park, sniff and hold mode. 1084 Support for role switch. 1085 Support for reading the clock offset. 1086 Support for requesting authentication. 1087 Support for setting connection encryption. 1088 Show revision information for Broadcom devices. 1089 Replace unprintable characters in device name. 1090 Use R1 for default value of pscan_rep_mode. 1091 Fix some 64-bit problems. 1092 Fix some endian problems. 1093 Report an error on PIN helper failure. 1094 Update bluepin script for GTK2. 1095 1096 ver 2.4: 1097 Increase number of inquiry responses. 1098 Support for transmit power level. 1099 Display all 8 bytes of the features. 1100 Add support for reading and writing of IAC. 1101 Correct decoding class of device. 1102 Use Ericsson revision command for ST Microelectronics devices. 1103 Display AVM firmware version with 'revision' command. 1104 New code for CSR specific revision information. 1105 Support for ST Microelectronics specific initialization. 1106 Support for 3Com card version 3.0. 1107 Support for TDK, IBM and Socket cards. 1108 Support for initial baud rate. 1109 Update man pages. 1110 Fixes for some memory leaks. 1111 1112 ver 2.3: 1113 Added const qualifiers to appropriate function arguments. 1114 Minor fixes. 1115 CSR firmware version is now displayed by 'revision' command. 1116 Voice command is working properly on big endian machines. 1117 Added support for Texas Bluetooth modules. 1118 Added support for high UART baud rates on Ericsson modules. 1119 BCSP initialization fixes. 1120 Support for role switch command (hcitool). 1121 RFCOMM config file parser fixes. 1122 Update man pages. 1123 Removed GLib dependency. 1124 1125 ver 2.2: 1126 Updated RFCOMM header file. 1127 Additional HCI command and event defines. 1128 Support for voice settings (hciconfig). 1129 Minor hcitool fixes. 1130 Improved configure script. 1131 Added Headset testing tool. 1132 Updated man pages. 1133 RPM package. 1134 1135 ver 2.1.1: 1136 Resurrect hci_remote_name. 1137 1138 ver 2.1: 1139 Added hci_{read, write}_class_of_dev(). 1140 Added hci_{read, write}_current_iac_lap(). 1141 Added hci_write_local_name(). 1142 Added RFCOMM header file. 1143 Minor fixes. 1144 Improved BCSP initialization (hciattach). 1145 Support for displaying link quality (hcitool). 1146 Support for changing link supervision timeout (hcitool). 1147 New RFCOMM TTY configuration tool (rfcomm). 1148 Minor fixes and updates. 1149 1150 ver 2.0: 1151 Additional company IDs. 1152 BCSP initialization (hciattach). 1153 Minor hciconfig fixes. 1154 1155 ver 2.0-pr13: 1156 Support for multiple pairing modes. 1157 Link key database handling fixes. 1158 1159 ver 2.0-pre12: 1160 Removed max link key limit. Keys never expire. 1161 Link key database is always updated. Reread PIN on SIGHUP (hcid). 1162 Bluetooth script starts SDPd, if installed. 1163 Other minor fixes. 1164 1165 ver 2.0-pre11: 1166 Improved link key management and more verbose logging (hcid). 1167 Fixed scan command (hcitool). 1168 1169 ver 2.0-pre10: 1170 Fix hci_inquiry function to return errors and accept user buffers. 1171 New functions hci_devba, hci_devid, hci_for_each_dev and hci_get_route. 1172 Additional company IDs. 1173 Makefile and other minor fixes. 1174 Support for reading RSSI, remote name and changing 1175 connection type (hcitool). 1176 Device initialization fixes (hcid). 1177 Other minor fixes and improvements. 1178 Build environment cleanup and fixes. 1179 1180 ver 2.0-pre9: 1181 Improved bluepin. Working X authentication. 1182 Improved hcitool. New flexible cmd syntax, additional commands. 1183 Human readable display of the device features. 1184 LMP features to string translation support. 1185 Additional HCI command and event defines. 1186 Extended hci_filter API. 1187 1188 ver 2.0-pre8: 1189 Additional HCI ioctls and defines. 1190 All strings and buffers are allocated dynamically. 1191 ba2str, str2ba automatically swap bdaddress. 1192 Additional hciconfig commands. Support for ACL and SCO MTU ioctls. 1193 Support for Inventel and COM1 UART based devices. 1194 Minor hcitool fixes. 1195 Improved l2test. New L2CAP test modes. 1196 Minor fixes and cleanup. 1197 1198 ver 2.0-pre7: 1199 Bluetooth libraries and header files is now a separate package. 1200 New build environment uses automake and libtool. 1201 Massive header files cleanup. 1202 Bluetooth utilities is now a separate package. 1203 New build environment uses automake. 1204 Moved all config files and security data to /etc/bluetooth. 1205 Various cleanups. 1206 1207 ver 2.0-pre6: 1208 API cleanup and additions. 1209 Improved hcitool. 1210 l2test minor output fixes. 1211 hciattach opt to display list of supported devices. 1212 1213 ver 2.0-pre4: 1214 HCI filter enhancements. 1215 1216 ver 2.0-pre3: 1217 Cleanup. 1218 1219 ver 2.0-pre2: 1220 Additional HCI library functions. 1221 Improved CSR baud rate initialization. 1222 PCMCIA scripts fixes and enhancements. 1223 Documentation update. 1224 1225 ver 2.0-pre1: 1226 New UART initialization utility. 1227 Hot plugging support for UART based PCMCIA devices. 1228 SCO testing utility. 1229 New authentication utility (bluepin). 1230 Minor fixes and improvements. 1231