OSDN Git Service

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