plugins: Add initial code for diagnosis plugin
[bluez:vudentzs-clone.git] / ChangeLog
1 ver 5.10:
2         Fix issue with discoverable timeout handling.
3         Fix issue with MAP messages and record version.
4         Fix issue with MAP messages and status events.
5         Fix issue with MAP messages and relative folders.
6         Fix issue with MAP messages and type property signals.
7         Fix issue with transfer size for OBEX GET operations.
8         Fix issue with AVRCP service class identifier.
9         Fix issue with AVRCP tracking seeked signal.
10         Add support for OBEX command line client.
11
12 ver 5.9:
13         Fix issue with network service and adapter removal.
14         Fix issue with misleading OBEX error messages.
15         Fix issue with OBEX transport reference handling.
16         Fix issue with memory leak with MAP event handler.
17         Fix issue with missing MAP property changed signal.
18         Fix issue with message type property values.
19         Fix issue with empty UUID list for devices.
20         Fix issue with profile agent cancel method.
21         Remove dependency on USB library.
22
23 ver 5.8:
24         Fix issue with missing OBEX session properties.
25         Fix issue with missing SDP service refresh.
26         Fix issue with SDP attribute range check.
27         Fix issue with priority for SDP transactions.
28         Fix issue with service discovery after pairing.
29         Fix issue with race condition in service list.
30         Fix issue with input service state transition.
31         Fix issue with default authorization for profiles.
32         Fix issue with AVRCP browsing channel connections.
33         Add support for AVRCP role agnostic sessions.
34
35 ver 5.7:
36         Fix issue with missing UUID discovery during pairing.
37         Fix issue with broken patch for SDP range check handling.
38         Fix issue with AVRCP usage of UID=0 for paused/stopped.
39         Add support MAP notification dispatching.
40
41 ver 5.6:
42         Fix issue with incoming connections without SDP record.
43         Fix issue with canceling ongoing device connections.
44         Fix issue with handling failed connection attempts.
45         Fix issue with pending resume during A2DP open failures.
46         Fix issue with registering AVRCP unsupported notification.
47         Fix issue with listing available AVRCP target settings.
48         Fix issue with missing error for OBEX SetPath commands.
49         Fix issue with missing OBEX session command queue.
50         Fix issue with retrieving multiple MAP event reports.
51         Add support for command line player utility.
52
53 ver 5.5:
54         Fix issue with race condition between SDP and properties.
55         Fix issue with handling storage of private device addresses.
56         Fix issue with NFC out-of-band pairing and power states.
57         Fix issue with short name during device update handling.
58         Fix issue with handling AVRCP without A2DP being present.
59         Add support for handling AVRCP pass-through operations.
60         Add support for automatically reconnecting HID devices.
61         Add support for automatically pairing of devices.
62
63 ver 5.4:
64         Fix issue with invalid memory access and SDP service search.
65         Add support for available player changed event for controller.
66         Add support for UIDs changed event for AVRCP controller.
67         Add support for mandatory AVRCP pass-through operations.
68         Add support for Message Notification Service (MNS) server.
69         Add support for agent methods within command line client.
70
71 ver 5.3:
72         Fix issue with registering invalid profiles.
73         Fix issue with inconsistent A2DP transport state.
74         Fix issue with A2DP resume while in configured state.
75         Fix issue with buffer overflow when processing SDP response.
76         Fix issue with missing range check for SDP attribute response.
77         Fix issue with missing validation of SDP data elements.
78         Fix issue with missing fallback to static hostname.
79         Fix issue with default adapter assignment.
80
81 ver 5.2:
82         Fix issue with connection handling for Low Energy.
83         Fix issue with broken device discovery handling.
84         Fix issue with invalid memory access within A2DP.
85         Fix issue with handling empty path name of SetPath.
86         Fix issue with handling Message Access Profile filters.
87         Fix issue with handling network service unregistration.
88         Fix issue with not handling bogus device pairing results.
89         Fix issue with initial service discovery and profile manager.
90         Add support for AVRCP volume notifications.
91         Add support for AVRCP browsing commands.
92
93 ver 5.1:
94         Fix issue with crash when removing OBEX session.
95         Fix issue with HID device disconnected from kernel.
96         Fix issue with buffer overflow when parsing HID SDP record.
97         Fix issue with SDP_TEXT_STR16 and SDP_URL_STR16 parsing.
98         Add support for integration with systemd's hostname daemon.
99         Add support for separate adapter alias property.
100         Add support for adapter and device modalias properties.
101         Add support for official BlueZ device information.
102         Add support for asynchronous management interface handling.
103         Add tool for testing management interface compliance.
104         Add tool for testing SDP qualification requirements.
105         Add tool for testing various EIR and AD data records.
106
107 ver 5.0:
108         Introduce D-Bus Properties and ObjectManager interfaces.
109         Add support for generic profile interface.
110         Add support for global agent interface.
111         Add support for integrated OBEX daemon.
112         Add support for integrated hcidump utility.
113         Add support for Bluetooth tracing and monitor utility.
114         Add support for Bluetooth command line client utility.
115         Remove support for Handsfree gateway handling.
116         Remove support for GStreamer A2DP and SBC elements.
117         Disable default installation of Bluetooth library.
118
119 ver 4.101:
120         Fix issue with missing BlueZ service file.
121         Fix issue with aborting A2DP setup during AVDTP start.
122         Fix issue with handling of multiple A2DP indication.
123         Fix issue with handling AVDTP abort with invalid SEID.
124         Fix issue with rejecting AVDTP abort commands.
125         Add support for handling AVDTP command collision.
126
127 ver 4.100:
128         Fix issue with crashing when SCO connection fails.
129         Fix issue with HFP gateway failing on first GSM connection.
130         Fix issue with AVRCP and handling of vendor commands.
131         Fix issue with handling AVRCP subunit info command.
132         Fix issue with missing capability for AVRCP track reached end.
133         Fix issue with AVDTP signaling and GStreamer SBC NULL check.
134         Fix issue with AVDTP Reconfigure Reject message.
135         Fix issue with incorrect EIR length parsing.
136         Fix issue with SDP disconnect for HIDSDPDisable.
137         Fix issue with SDP interoperability with Mac OS X Lion.
138         Fix issue with reverse SDP discovery with some devices.
139         Fix issue with discovering state during power off operation.
140         Add support for AVRCP Volume Changed notifications.
141         Add support for AVRCP Set Absolute Volume handling.
142         Add support for display legacy PIN code agent method.
143         Add support for multiple media transports per endpoint.
144         Add support for discovering device information characteristics.
145         Add support for vendor source for Device ID setting.
146         Add support for immediate alert server.
147         Add support for link loss server.
148
149         Notes:
150         This version requires D-Bus 1.4 or later.
151         This version requires GLib 2.28 or later.
152
153 ver 4.99:
154         Fix issue with missing retries for BNEP connection setup.
155         Fix issue with not showing name if first EIR has no details.
156         Fix issue with running SDP discovery for LE devices.
157         Add support for GATT using 128-bit Bluetooth UUIDs.
158         Add support for retrieving key size information.
159         Add support for storing Long Term Keys.
160         Add support for Proximity Reporter API.
161         Add support for KeyboardDisplay IO capability.
162         Add support for version 1.0 of management API.
163         Add support for monitoring interface.
164
165 ver 4.98:
166         Fix issue with adapter list upon initialization failure.
167         Fix issue with missing legacy property for Low Energy.
168         Fix issue with missing EIR information handling.
169         Fix issue with device address type tracking.
170         Fix issue with alert level characteristic.
171         Fix issue with headset shutdown handling.
172         Fix issue with Wiimote address handling.
173         Add support for advanced l2test options.
174         Add support for attribute protocol and multiple adapters.
175
176 ver 4.97:
177         Update support for proximity profile.
178         Fix issue with SBC audio decoding quality.
179         Fix multiple issues with HFP support.
180         Fix multiple issues with A2DP support.
181         Fix multiple issues with AVDTP support.
182         Fix multiple issues with AVRCP support.
183         Add support for AVRCP meta-data transfer.
184         Add support for Bluetooth based thermometers.
185
186 ver 4.96:
187         Fix issue with race condition in AVDTP stream start.
188         Fix issue with global adapter offline switching.
189         Fix issue with pairing and No Bonding devices.
190         Add support for Nintendo Wii Remote pairing.
191
192 ver 4.95:
193         Fix issue with AVCTP replies with invalid PID.
194         Fix issue with AVRCP and unknown packet types.
195         Fix issue with AVRCP not using NOT_IMPLEMENTED correctly.
196         Fix issue with AVDTP discovery if all endpoints are in use.
197         Fix issue with invalid memory writes and media support.
198         Fix issue with not removing device alias and unbonding.
199         Fix issue with device disconnects and offline mode handling.
200         Add support for setting adapter name based on machine-info.
201         Add support for systemd service configuration.
202
203 ver 4.94:
204         Fix issue with invalid read of memory in various modules.
205         Fix issue with buffer overflow when sending AVDTP commands.
206         Fix issue with response to vendor dependent AVRCP commands.
207         Fix issue with headset when not able to reply with ERROR.
208         Fix issue with crash when creating a device from storage.
209         Fix issue with handling non UTF-8 devices names.
210         Add support for improved discovery procedure.
211
212 ver 4.93:
213         Fix issue with property type and Health Main channel.
214         Fix issue with crash when removing devices.
215         Add support for hid2hci and udev integration.
216
217 ver 4.92:
218         Fix issue with handling of A2DP suspend response.
219         Fix issue with crashing when acquiring A2DP stream.
220         Fix issue with missing check for valid SCO before shutdown.
221         Fix issue with waiting for POLLERR when disconnecting SCO.
222         Fix issue with disconnect after primary service discovery.
223         Fix issue with attribute interface registration.
224         Add support for primary services over BR/EDR.
225         Add support for flushable packets of A2DP media.
226
227 ver 4.91:
228         Fix issue with LMP version string and hciconfig.
229         Fix issue with missing discovery signal when scanning.
230         Fix issue with wrong state and canceling name resolving.
231         Fix issue with missing check during adapter initialization.
232         Fix issue with missing protocol not supported error and A2DP.
233         Fix issue with crash during driver unregistering and A2DP.
234         Fix issue with crash when receiving AVDTP close command.
235         Fix issue with remote SEP handling when A2DP codec changes.
236         Fix issue with SCO hangup handling and state changes.
237         Fix issue with security level and MCAP instances.
238         Fix issue with memory leak and HDP data channels.
239         Add support for discover characteristics by UUID to gatttool.
240         Add initial support for Out-of-Band association model.
241         Add initial support for SIM Access Profile.
242
243 ver 4.90:
244         Fix issue with setting of global mode property.
245         Fix issue with handling of RequestSession responses.
246         Fix issue with TP_BNEP_CTRL_BV_01_C qualification test.
247         Fix issue with too short AVDTP request timeout.
248         Add support for SIM Access Profile manager.
249         Add support for new UUID utility functions.
250         Add support for attribute server notifications.
251         Add support for client characteristic configuration.
252         Update support for interactive GATT utility.
253
254 ver 4.89:
255         Fix issue with name resolving when discovery is suspended.
256         Fix issue with parsing flags of advertising report.
257         Fix issue with SEP handling if interface is disabled.
258         Fix issue with device object creation on disconnect event.
259         Fix issue with indicators whenever the driver is initialized.
260         Fix issue with call indicator when parsing call info reply.
261         Fix issue with crash and allowed GATT MTU was too large.
262         Add support for SDP record of Primary GATT services.
263         Add support for interactive mode for GATT utility.
264
265 ver 4.88:
266         Fix issue with HID channel reference count handling.
267         Fix issue with daemon exit on badly formatted AT+VTS.
268         Fix issue with crash while parsing of endpoint properties.
269         Fix issue with possible crash on AVDTP Suspend request timeout.
270         Fix issue with stopping inquiry before adapter is initialized.
271         Fix issue with creating device object when connection fails.
272         Fix issue with sending HCIDEVUP when adapter is already up.
273         Fix issue with handling bonding IO channel closing.
274         Fix agent cancellation in security mode 3 situations.
275         Update pairing code to support management interface.
276
277 ver 4.87:
278         Fix issue with initialization when adapter is already up.
279         Fix issue with attribute server MTU and incoming connections.
280         Fix issue with duplicate characteristics after discovery.
281
282 ver 4.86:
283         Revert wrong fix for SDP PDU size error response.
284         Fix various memory leaks in A2DP and AVDTP support.
285         Add Routing property to MediaTransport interface
286         Add proper tracking mechanism to NREC status.
287         Add READ_BLOB_REQUEST support to attribute server.
288
289 ver 4.85:
290         Fix issue with event mask setting for older adapters.
291         Fix issue with device creation and pairing failures.
292         Add support for telephony support via oFono.
293         Add support for characteristic security level.
294         Update support for service registration.
295
296 ver 4.84:
297         Fix issue with wrong parameters and device found signals.
298         Fix issue with leaking EIR data if RSSI does not change.
299         Fix issue with adapter initialization state.
300         Fix issue with closing of SDP server sockets.
301
302 ver 4.83:
303         Fix issue with already connected HFP/HSP endpoints.
304         Fix missing reply when create device is canceled.
305         Fix memory leak within the attribute server.
306         Fix memory leak with unused extended inquiry name.
307         Fix setting paired state when device->authr is false.
308         Fix clearing authentication request for renewed keys.
309         Add support for storing link keys in runtime memory.
310         Update support for primary service discovery.
311
312 ver 4.82:
313         Fix crash with mmap of files with multiples of page size.
314         Fix HFP response and hold (AT+BTRH) command response.
315         Fix device creation error response when powered off.
316         Fix device removal when connecting/browsing fails.
317         Add initial attribute permission implementation.
318         Add AVDTP SRC stream send buffer size verification.
319         Add support for setting link policy based on features.
320
321 ver 4.81:
322         Fix issue with telephony driver initialization.
323         Fix issue with adapter services list initialization.
324         Fix crash after simultaneous authentication requests.
325         Add support for primary service search on device creation.
326
327 ver 4.80:
328         Fix legacy link key storing for some buggy adapters.
329         Fix invalid memory access when EIR field length is zero.
330         Fix adapter initialization to wait for kernel HCI commands.
331         Fix initialization of adapters which are already up.
332         Fix possible race condition when initializing adapters.
333         Fix possible crashes when attempting to connect AVDTP.
334         Fix not aborting sink stream configuration on disconnect.
335         Fix not indicating disconnected state when connecting to AVDTP.
336         Fix not dropping AVDTP session when canceling stream setup.
337         Fix AVDTP abort not being send when the state is idle.
338         Fix regression with Low Energy and interleave discovery.
339         Add a new configuration option to disable Low Energy support.
340         Add iwmmxt optimization for SBC for ARM PXA series CPUs.
341         Update support for GATT Primary Service Discovery.
342         Update MCAP and HDP support.
343
344 ver 4.79:
345         Fix issue with adapter initialization race condition.
346         Update new Bluetooth Management interface support.
347
348 ver 4.78:
349         Fix various issues with AVDTP timer handling.
350         Fix various issues with handling of mode changes.
351         Fix issue with audio disconnect watch in connecting state.
352         Fix issue with handling call waiting indicators in telephony.
353         Fix issue with handling UUID parameter and RegisterEndpoint.
354         Add initial support for Bluetooth Management interface.
355         Add support for Application property to HealthChannel.
356
357 ver 4.77:
358         Fix issue with device name and accessing already freed memory.
359         Fix issue with handling CHLD=0 command for handsfree.
360         Fix issue with manager properties and no adapters.
361         Fix issue with properties and broken service records.
362         Fix issue with A2DP playback and sample rate changes.
363         Update MCAP and HDP support.
364
365 ver 4.76:
366         Fix issue in telephony driver with hanging up held call.
367         Fix issue in telephony driver with notifications when on hold.
368         Fix issue with blocking on setconf confirmation callback.
369         Fix issue with not always signaling new streams as sinks.
370         Fix issue with errors in case of endpoint request timeout.
371         Fix issue with HFP/HSP microphone and speaker gain values.
372         Add source if the device attempt to configure local sink stream.
373         Add PSM option for GATT/ATT over BR/EDR on gatttool.
374         Add support for GATT/ATT Attribute Write Request.
375         Update MCAP and HDP support.
376
377 ver 4.75:
378         Fix use of uninitialized variable on legacy pairing.
379         Fix mismatch of attribute protocol opcode.
380
381 ver 4.74:
382         Fix regression for Legacy Pairing.
383         Fix wrong PSM value for attribute protocol.
384         Fix issue with RSSI field in advertising reports.
385         Add support for Add BR/EDR and LE interleaved discovery.
386         Add support for GATT write characteristic value option.
387         Add support for specifying download address for AR300x.
388
389 ver 4.73:
390         Fix problem with EIR data when setting the name.
391         Fix reading local name from command complete event.
392         Fix registering local endpoints with disabled socket interface.
393         Add support for more HCI operations using ops infrastructure.
394         Add support for GATT characteristic hierarchy.
395         Add support for GATT indications.
396
397 ver 4.72:
398         Fix memory leak while connecting BTIO channels.
399         Fix crash with GStreamer plugin if SBC is not supported.
400         Fix issue with GATT server stop sending notifications.
401         Fix issue with GATT and dealing with the minimum MTU size.
402         Fix issue with file descriptor leak in GATT client.
403         Add support for UUID 128-bit handling in attribute client.
404         Add support for encoders/decoders for MTU Exchange.
405         Add support for the MTU Exchange procedure to the server.
406         Add support for a per channel MTU to the ATT server.
407         Add support for Characteristic interface.
408         Add support for new Media API and framework.
409         Add initial support for HDP plugin.
410
411 ver 4.71:
412         Fix compilation when SBC support in not enabled.
413         Fix crash with RequestSession and application disconnects.
414         Fix memory leak and possible crash when removing audio device.
415         Fix issue with closing stream of locked sep when reconfiguring.
416         Fix issue where discovery could interfere with bonding.
417         Fix issue with Connected status when PS3 BD remote connects.
418         Fix issue with lifetime of fake input devices.
419         Add support for compile time option of oui.txt path.
420         Add support for printing IEEE1284 device ID for CUPS.
421         Add plugin for setting adapter class via DMI.
422         Add more features for attribute protocol and profile.
423         Add initial support for MCAP.
424
425 ver 4.70:
426         Fix incoming call indication handling when in WAITING state.
427         Fix various SDP related qualification test case issues.
428         Fix logic to write EIR when SDP records are changed.
429         Fix UTF-8 validity check for remote names in EIR.
430         Add support for UUID-128 extended inquiry response.
431         Add service UUIDs from EIR to the DeviceFound signal.
432         Add fast connectable feature for Handsfree profile.
433         Add HCI command and event definitions for AMP support.
434         Add firmware download support for Qualcommh devices.
435         Add host level support for Atheros AR300x device.
436         Add initial support of ATT and GATT for basic rate.
437
438 ver 4.69:
439         Fix issue with calling g_option_context_free() twice.
440         Fix inconsistencies with initial LE commands and events.
441         Add support for telephony ClearLastNumber method.
442         Add support for network server interface.
443
444 ver 4.68:
445         Fix initialization of adapters in RAW mode.
446         Fix signal strength for HFP in Maemo's telephony support.
447         Add support for following the radio state via Maemo's MCE.
448         Add initial set of LE commands and events definitions.
449         Add mode option for L2CAP sockets to the BtIO API.
450
451 ver 4.67:
452         Fix issue with authentication reply when bonding already completed.
453         Fix issue with not canceling authentication when bonding fails.
454         Fix issue with changed combination keys and temporary storage.
455         Fix issue with sdp_get_supp_feat library function.
456         Fix issue with missing unblock on device removal.
457         Fix issue with not waiting for mode change completion.
458         Add ARMv6 optimized version of analysis filter for SBC encoder.
459
460 ver 4.66:
461         Fix regression with full debug enabling via SIGUSR2.
462         Fix redundant speaker/microphone gains being sent.
463         Fix not emitting PropertyChanged for SpeakerGain/MicrophoneGain.
464         Fix issue with storage usage when a record is not found in memory.
465         Fix issue with DiscoverServices not retrieving any records.
466         Fix audio profile disconnection order to match whitepaper.
467         Fix auto-accept confirmation when local agent has NoInputNoOutput.
468         Fix remote just-works SSP when MITM protection is required.
469         Fix performing dedicated bonding without MITM requirement.
470         Add support for storing debug link keys in runtime memory.
471
472 ver 4.65:
473         Fix issues with general bonding being default setting now.
474         Fix driver removal upon device removal.
475         Add new "Blocked" property to device objects.
476         Add hciconfig support for blacklisting.
477         Add support for dynamic debug feature.
478
479 ver 4.64:
480         Fix invalid memory access in headset_get_nrec function.
481         Fix issue with disconnect event on higher protocol layers.
482         Fix issue with list parsing in sdp_set_supp_features function.
483         Fix device object reference counting for SDP browse requests.
484         Add missing memory checks whenever memory is allocated for SDP.
485         Add support for exporting local services via D-Bus.
486         Add more L2CAP Enhanced Retransmission test options.
487
488 ver 4.63:
489         Fix avdtp_abort not canceling pending requests.
490         Fix stale connection when abort gets rejected.
491
492 ver 4.62:
493         Fix accidental symbol breakage with inquiry transmit power.
494         Fix using invalid data from previous headset connection.
495         Fix double free on AVDTP Abort response.
496         Fix possible crash while verifying AVDTP version.
497         Fix missing inuse flag when AVDTP stream is configured.
498         Add support for Bluetooth controller types.
499
500 ver 4.61:
501         Fix issues with Read Inquiry Response Transmit Power Level.
502         Fix possible invalid read when removing a temporary device.
503         Fix mode restoration when remember_powered is false.
504         Fix conference call releasing in telephony-maemo.
505         Fix segmentation fault with authorization during headset disconnects.
506         Add support for handling unanswered AVDTP request on disconnect.
507         Add support for handling Inquiry Response Transmit Power Level.
508         Add support for caching of remote host features.
509         Add preliminary voice dialing support for HSP.
510
511 ver 4.60:
512         Fix voice mailbox number reading from SIM.
513         Fix some races with D-Bus mainloop integration.
514         Add helpers for D-Bus signal watches.
515
516 ver 4.59:
517         Add values for Bluetooth 4.0 specification.
518         Add SDP functions for HDP support.
519         Add test scripts for input and audio.
520         Fix missing close on BtIO create_io function.
521         Fix sending incorrect AVDTP commands after timeout occurs.
522         Fix timer removal when device disconnects unexpectedly.
523         Fix Extended Inquiry Response record for Device ID.
524
525 ver 4.58:
526         Fix crash when adapter agent exists during authentication.
527         Fix CK-20W quirks for play and pause events.
528
529 ver 4.57:
530         Fix unloading of drivers for uninitialized adapters.
531         Fix debug message to use requested and not opened SEID.
532         Fix codec selection for GStreamer plugin.
533         Fix deleting of SDP records during service updates.
534         Fix deleting of SDP records when a device is removed.
535         Fix handling when the SDP record is modified on remote device.
536         Fix potential buffer overflow by using snprintf instead of sprintf.
537         Fix const declarations for some storage function parameters.
538
539 ver 4.56:
540         Add missing values from Bluetooth 3.0 specification.
541         Add proper tracking of device paired status.
542         Fix tracking of devices without permanently stored link key.
543         Fix issue with link key removal after connection failures.
544         Fix legacy pairing information based on remote host features.
545         Fix off-by-one issue with AVDTP capability parsing.
546         Fix AVRCP, AVCTP, AVDTP, A2DP and HFP version numbers.
547         Fix agent canceling before calling agent_destroy.
548         Fix service record parsing with an empty UUID list.
549         Fix various SDP related memory leaks.
550
551 ver 4.55:
552         Add support for POSIX capabilities dropping.
553         Add special quirk for the Nokia CK-20W car kit.
554         Fix error code handling for AVDTP SetConfiguration response.
555         Fix updating out of range list when RSSI hasn't changed.
556         Fix various memory leaks and unnecessary error checks.
557
558 ver 4.54:
559         Add introspection interface to output of introspection calls.
560         Fix stream handling when media transport disconnects prematurely.
561         Fix command timeout handling when there's no stream.
562         Fix headset_suspend_stream behavior for invalid states
563         Fix issue with AVDTP ABORTING state transition.
564         Fix issue with AVDTP suspend while closing.
565
566 ver 4.53:
567         Fix issue with telephony connection state notifications.
568         Fix AVDTP stream leak for invalid media transport config.
569         Fix audio connection authorization handling with timeouts.
570         Fix race condition in authorizing audio connections.
571         Fix device authorized setting for AVRCP-only connections.
572         Fix duplicate attempts from device to connect signal channel.
573
574 ver 4.52:
575         Add AVCTP support to test utility.
576         Fix AVDTP Abort when transport closes before response.
577         Fix authorization when the audio profiles are slow to connect.
578         Fix potential AVDTP reference leaks.
579
580 ver 4.51:
581         Add utility for basic AVDTP testing.
582         Add support for configuring L2CAP FCS option.
583         Fix discovery mode for CUPS 1.4.x and later.
584         Fix global state tracking of audio service.
585         Fix last issues with the new build system.
586
587 ver 4.50:
588         Fix issue with missing manual pages in distribution.
589         Fix issue with the configuration and state directories.
590         Fix issue with creating include directory.
591         Fix dependencies of include file generation.
592
593 ver 4.49:
594         Add simple test program for basic GAP testing.
595         Add support for confirmation requests to agent example.
596         Add support for full non-recursive build.
597         Add five millisecond delay for Simple Pairing auto-accept.
598         Fix Class of Device setting when InitiallyPowered=false.
599
600 ver 4.48:
601         Add library function for comparing UUID values.
602         Add support for creating all plugins as builtins.
603         Add support for async handling of service class changes.
604         Add support for source interface to audio IPC.
605         Fix device name settings when device is off or down.
606         Fix issue with enabled SCO server when not necessary.
607         Fix missing D-Bus access policy for CUPS backend.
608         Fix discovery results of CUPS backend.
609         Fix initialization handling of Maemo telephony.
610
611 ver 4.47:
612         Add support for RFKILL unblock handling.
613         Add support for serial proxy configurations.
614         Add support for caching service class updates.
615         Fix issues with updating SDP service records.
616         Fix usage of limited discoverable mode.
617         Remove deprecated methods and signals for AudioSource.
618
619 ver 4.46:
620         Add support for A2DP sink role.
621         Fix clearing svc_cache before the adapter is up.
622         Fix various pointer after free usages.
623         Fix various memory leaks.
624
625 ver 4.45:
626         Fix UDEV_DATADIR fallback if pkg-config fails.
627         Fix adapter cleanup and setup prototypes.
628         Fix double-free with out-of-range devices.
629         Fix inband ring setting to be per-headset.
630         Fix handling of Maemo CSD startup.
631
632 ver 4.44:
633         Add some missing manual pages.
634         Fix missing number prefix when installing udev rules.
635         Fix program prefix used in Bluetooth udev rules.
636         Fix three-way calling indicator order.
637         Fix downgrade/upgrade of callheld indicator.
638         Fix +CIEV sending when indicator value changes.
639         Fix signal handling for Maemo telephony driver.
640         Fix parsing issues with messages from Maemo CSD.
641         Fix issue with duplicate active calls.
642
643 ver 4.43:
644         Add support for udev based on-demand startup.
645         Fix verbose error reporting of CUPS backend.
646         Fix various string length issues.
647         Fix issues with Maemo telephony driver.
648         Fix another device setup and temporary flag issue.
649         Fix and update example agent implementation.
650
651 ver 4.42:
652         Add TI WL1271 to Texas Instruments chip list.
653         Add special udev mode to bluetoothd.
654         Fix regression when there is no agent registered.
655         Fix error return when bonding socket hang up.
656         Fix SCO server socket for HFP handsfree role.
657         Fix shutdown on SCO socket before closing.
658         Fix shutdown on A2DP audio stream channel before closing.
659         Fix issue with asserting on AVDTP reference count bugs.
660         Fix authorization denied issue with certain headsets.
661         Fix AVRCP UNITINFO and SUBUNIT INFO responses.
662         Fix discovery cancel issues in case SDP discovery fails.
663
664 ver 4.41:
665         Fix pairing even if the ACL gets dropped before successful SDP.
666         Fix regression which caused device to be removed after pairing.
667         Fix HSP record fetching when remote device doesn't support it.
668         Fix SDP discovery canceling when clearing hs->pending.
669         Fix headset never connecting on the first attempt.
670         Fix headset state tracking if bt_search_service() fails.
671         Fix maximum headset connection count check.
672         Fix AVDTP Discover timeout handling.
673         Fix also UI_SET_KEYBIT for the new pause and play key codes.
674
675 ver 4.40:
676         Add telephony driver for oFono telephony stack.
677         Add support for Dell specific HID proxy switching.
678         Add support for running hid2hci from udev.
679         Add mapping for AVRCP Play and Pause to dedicated key codes.
680         Fix AVRCP keycodes to better match existing X keymap support.
681         Fix various quoting issues within telephony support.
682         Fix memory allocation issue when generating PDUs for SDP.
683         Fix race condition on device removal.
684         Fix non-cancelable issue with CreateDevice method.
685         Fix non-working CancelDiscovery method call.
686
687 ver 4.39:
688         Add workaround for dealing with unknown inquiry complete.
689         Fix discovering when using software scheduler.
690         Fix wrong NoInputNoOutput IO capability string.
691         Fix race condition with agent during pairing.
692         Fix agent cancellation for security mode 3 acceptor failure.
693         Fix temporary flag removal when device creation fails.
694         Fix hciattach to use ppoll instead of poll.
695         Fix service class update when adapter is down.
696         Fix service classes race condition during startup.
697         Fix release of audio client before freeing the device.
698
699 ver 4.38:
700         Add support for builtin plugins.
701         Add framework for adapter operations.
702         Add constants for Enhanced Retransmission modes.
703         Fix HCI socket leak in device_remove_bonding.
704         Fix various format string issues.
705         Fix crashes with various free functions.
706         Fix issues with Headset and A2DP drivers to load again.
707         Fix sending AVRCP button released passthrough messages
708         Fix bug which prevent input devices to work after restart.
709         Fix issue with interpretation of UUID-128 as channel.
710
711 ver 4.37:
712         Add version value for Bluetooth 3.0 devices.
713         Add additional L2CAP extended feature mask bits.
714         Add support for loading plugins in priority order.
715         Add support for more detailed usage of disconnect watches.
716         Add support for AVRCP volume control.
717         Add saturated clipping of SBC decoder output to 16-bit.
718         Fix potentially infinite recursion of adapter_up.
719         Fix SCO handling in the case of an incoming call.
720         Fix input service to use confirm callback.
721         Fix cleanup of temporary device entries from storage.
722
723 ver 4.36:
724         Add proper tracking of AVCTP connect attempts.
725         Add support to channel pattern in Serial interface.
726         Fix A2DP sink crash if removing device while connecting.
727         Fix error handling if HFP indicators aren't initialized.
728         Fix segfault while handling an incoming SCO connection.
729         Fix Serial.Disconnect to abort connection attempt.
730
731 ver 4.35:
732         Add support for Handsfree profile headset role.
733         Add additional checks for open SEIDs from clients.
734         Fix device removal while audio IPC client is connected.
735         Fix device removal when an authorization request is pending.
736         Fix incoming AVDTP connect while authorization in progress.
737         Fix disconnection timers for audio support.
738         Fix various potential NULL pointer deferences.
739         Fix callheld indicator value for multiple calls.
740         Fix voice number type usage.
741         Fix GDBus watch handling.
742
743 ver 4.34:
744         Add support for version checks of plugins.
745         Add support for class property on adapter interface.
746         Add support for second SDP attempt after connection reset.
747         Add support for more detailed audio states.
748         Add support for HFP+A2DP auto connection feature.
749         Add support for new and improved audio IPC.
750         Add program for testing audio IPC interface.
751         Fix various AVDTP qualification related issues.
752         Fix broken SDP AttributeIdList parsing.
753         Fix invalid memory access of SDP URL handling.
754         Fix local class of device race conditions.
755         Fix issue with periodic inquiry on startup.
756         Fix missing temporary devices in some situations.
757         Fix SBC alignment issue for encoding with four subbands.
758
759 ver 4.33:
760         Add Paired property to the DeviceFound signals.
761         Add support for Headset profile 1.2 version.
762         Fix broken network configuration when IPv6 is disabled.
763         Fix network regression that caused disconnection.
764         Fix SDP truncation of strings with NULL values.
765         Fix service discovery handling of CUPS helper.
766
767 ver 4.32:
768         Fix broken SDP record handling.
769         Fix SDP data buffer parsing.
770         Fix more SDP memory leaks.
771         Fix read scan enable calls.
772         Fix A2DP stream handling.
773
774 ver 4.31:
775         Add support for new BtIO helper library.
776         Fix AVDTP session close issue.
777         Fix SDP memory leaks.
778         Fix various uninitialized memory issues.
779         Fix duplicate signal emissions.
780         Fix property changes request handling.
781         Fix class of device storage handling.
782
783 ver 4.30:
784         Add CID field to L2CAP socket address structure.
785         Fix reset of authentication requirements after bonding.
786         Fix storing of link keys when using dedicated bonding.
787         Fix storing of pre-Bluetooth 2.1 link keys.
788         Fix resetting trust settings on every reboot.
789         Fix handling of local name changes.
790         Fix memory leaks in hciconfig and hcitool
791
792 ver 4.29:
793         Use AVRCP version 1.0 for now.
794         Decrease AVDTP idle timeout to one second.
795         Delay AVRCP connection when remote device connects A2DP.
796         Add workaround for AVDTP stream setup with broken headsets.
797         Add missing three-way calling feature bit for Handsfree.
798         Fix handsfree callheld indicator updating.
799         Fix parsing of all AT commands within the buffer.
800         Fix authentication replies when disconnected.
801         Fix handling of debug combination keys.
802         Fix handling of changed combination keys.
803         Fix handling of link keys when using no bonding.
804         Fix handling of invalid/unknown authentication requirements.
805         Fix closing of L2CAP raw socket used for dedicated bonding.
806
807 ver 4.28:
808         Add AVDTP signal fragmentation support.
809         Add more SBC performance optimizations.
810         Add more SBC audio quality improvements.
811         Use native byte order for audio plugins.
812         Set the adapter alias only after checking the EIR data.
813         Fix auto-disconnect issue with explicit A2DP connections.
814         Fix invalid memory access of ALSA plugin.
815         Fix compilation with -Wsign-compare.
816
817 ver 4.27:
818         Add more SBC optimization (MMX and ARM NEON).
819         Add BT_SECURITY and BT_DEFER_SETUP definitions.
820         Add support for deferred connection setup.
821         Add support for fragmentation of data packets.
822         Add option to trigger dedicated bonding.
823         Follow MITM requirements from remote device.
824         Require MITM for dedicated bonding if capabilities allow it.
825         Fix IO capabilities for non-pairing and pairing cases.
826         Fix no-bonding connections in non-bondable mode.
827         Fix new pairing detection with SSP.
828         Fix bonding with pre-2.1 devices and newer kernels.
829         Fix LIAC setting while toggling Pairable property.
830         Fix device creation for incoming security mode 3 connects.
831         Fix crash within A2DP with bogus pointer.
832         Fix issue with sdp_copy_record() function.
833         Fix crash with extract_des() if sdp_uuid_extract() fails.
834
835 ver 4.26:
836         Use of constant shift in SBC quantization code.
837         Add possibility to analyze 4 blocks at once in encoder.
838         Fix correct handling of frame sizes in the encoder.
839         Fix for big endian problems in SBC codec.
840         Fix audio client socket to always be non-blocking.
841         Update telephony support for Maemo.
842
843 ver 4.25:
844         Fix receiving data over the audio control socket.
845         Fix subbands selection for joint-stereo in SBC encoder.
846         Add new SBC analysis filter function.
847
848 ver 4.24:
849         Fix signal emissions when removing adapters.
850         Fix missing adapter signals on exit.
851         Add support for bringing adapters down on exit.
852         Add support for RememberPowered option.
853         Add support for verbose compiler warnings.
854         Add more options to SBC encoder.
855
856 ver 4.23:
857         Update audio IPC for better codec handling.
858         Fix bitstream optimization for SBC encoder.
859         Fix length header values of IPC messages.
860         Fix multiple coding style violations.
861         Fix FindDevice to handle temporary devices.
862         Add configuration option for DeviceID.
863         Add support for InitiallyPowered option.
864         Add missing signals for manager properties.
865         Add telephony support for Maemo.
866
867 ver 4.22:
868         Add deny statements to D-Bus access policy.
869         Add support for LegacyPairing property.
870         Add support for global properties.
871         Add more commands to telephony testing script.
872         Add sender checks for serial and network interfaces.
873         Remove deprecated methods and signals from input interface.
874         Remove deprecated methods and signals from network interface.
875         Remove OffMode option and always use device down.
876
877 ver 4.21:
878         Fix adapter initialization logic.
879         Fix adapter setup and start security manager early.
880         Fix usage issue with first_init variable.
881
882 ver 4.20:
883         Cleanup session handling.
884         Cleanup mode setting handling.
885         Fix issue with concurrent audio clients.
886         Fix issue with HFP/HSP suspending.
887         Fix AT result code syntax handling.
888         Add Handsfree support for AT+NREC.
889         Add PairableTimeout adapter property.
890
891 ver 4.19:
892         Fix installation of manual pages for old daemons.
893         Fix D-Bus signal emmissions for CreateDevice.
894         Fix issues with UUID probing.
895         Fix +BSRF syntax issue.
896         Add Pairable adapter property.
897         Add sdp_copy_record() library function.
898
899 ver 4.18:
900         Fix release before close issue with RFCOMM TTYs.
901         Fix Connected property on input interface.
902         Fix DeviceFound signals during initial name resolving.
903         Fix service discovery handling.
904         Fix duplicate UUID detection.
905         Fix SBC gain mismatch and decoding handling.
906         Add more options to SBC encoder and decoder.
907         Add special any adapter object for service interface.
908         Add variable prefix to adapter and device object paths.
909
910 ver 4.17:
911         Fix SBC encoder not writing last frame.
912         Fix missing timer for A2DP suspend.
913         Add more supported devices to hid2hci utility.
914         Add additional functionality to Handsfree support.
915
916 ver 4.16:
917         Fix wrong parameter usage of watch callbacks.
918         Fix parameters for callback upon path removal.
919         Fix unloading of adapter drivers.
920
921 ver 4.15:
922         Fix various A2DP state machine issues.
923         Fix some issues with the Handsfree error reporting.
924         Fix format string warnings with recent GCC versions.
925         Remove dependency on GModule.
926
927 ver 4.14:
928         Fix types of property arrays.
929         Fix potential crash with input devices.
930         Fix PS3 BD remote input event generation.
931         Allow dynamic adapter driver registration.
932         Update udev rules.
933
934 ver 4.13:
935         Fix service discovery and UUID handling.
936         Fix bonding issues with Simple Pairing.
937         Fix file descriptor misuse of SCO connections.
938         Fix various memory leaks in the device handling.
939         Fix AVCTP disconnect handling.
940         Fix GStreamer modes for MP3 encoding.
941         Add operator selection to Handsfree support.
942
943 ver 4.12:
944         Fix crash with missing icon value.
945         Fix error checks of HAL plugin.
946         Fix SCO server socket cleanup on exit.
947         Fix memory leaks from DBusPendingCall.
948         Fix handling of pending authorization requests.
949         Fix missing protocol UUIDs in record pattern.
950
951 ver 4.11:
952         Change SCO server socket into a generic one.
953         Add test script for dummy telephony plugin.
954         Fix uninitialized reply of multiple GetProperties methods.
955
956 ver 4.10:
957         Fix memory leaks with HAL messages.
958         Add more advanced handsfree features.
959         Add properties to audio, input and network interfaces.
960         Stop device discovery timer on device removal.
961
962 ver 4.9:
963         Fix signals for Powered and Discoverable properties.
964         Fix handling of Alias and Icon properties.
965         Fix duplicate entries for service UUIDs.
966
967 ver 4.8:
968         Fix retrieving of formfactor value.
969         Fix retrieving of local and remote extended features.
970         Fix potential NULL pointer dereference during pairing.
971         Fix crash with browsing due to a remotely initated pairing.
972
973 ver 4.7:
974         Fix pairing and service discovery logic.
975         Fix crashes during suspend and resume.
976         Fix race condition within devdown mode.
977         Add RequestSession and ReleaseSession methods.
978         Add Powered and Discoverable properties.
979         Add Devices property and deprecate ListDevices.
980         Add workaround for a broken carkit from Nokia.
981
982 ver 4.6:
983         Fix Device ID record handling.
984         Fix service browsing and storage.
985         Fix authentication and encryption for input devices.
986         Fix adapter name initialization.
987
988 ver 4.5:
989         Fix initialization issue with new adapters.
990         Send HID authentication request without blocking.
991         Hide the verbose SDP debug behind SDP_DEBUG.
992         Add extra UUIDs for service discovery.
993         Add SCO server socket listener.
994         Add authorization support to service plugin.
995
996 ver 4.4:
997         Add temporary fix for the CUPS compile issue.
998         Add service-api.txt to distribution.
999         Mention the variable prefix of an object path
1000
1001 ver 4.3:
1002         Add dummy driver for telephony support.
1003         Add support for discovery sessions.
1004         Add service plugin for external services.
1005         Various cleanups.
1006
1007 ver 4.2:
1008         Avoid memory copies in A2DP write routine.
1009         Fix broken logic with Simple Pairing check and old kernels.
1010         Allow non-bondable and outgoing SDP without agent.
1011         Only remove the bonding for non-temporary devices.
1012         Cleanup various unnecessary includes.
1013         Make more unexported functions static.
1014         Add basic infrastructure for gtk-doc support.
1015
1016 ver 4.1:
1017         Add 30 seconds timeout to BNEP connection setup phase.
1018         Avoid memory copies in A2DP write routine for ALSA.
1019         Make sure to include compat/sdp.h in the distribution.
1020
1021 ver 4.0:
1022         Initial public release.
1023
1024 ver 3.36:
1025         Add init routines for TI BRF chips.
1026         Add extra attributes to the serial port record.
1027         Add example record for headset audio gateway record.
1028         Use Handsfree version 0x0105 for the gateway role.
1029         Fix SDP record registration with specific record handles.
1030         Fix BCSP sent/receive handling.
1031         Fix various includes for cross-compilation.
1032         Allow link mode settings for outgoing connections.
1033         Allow bonding during periodic inquiry.
1034
1035 ver 3.35:
1036         Add two additional company identifiers.
1037         Add UUID-128 support for service discovery.
1038         Fix usage of friendly names for service discovery.
1039         Fix authorization when experiemental is disabled.
1040         Fix uninitialized variable in passkey request handling.
1041         Enable output of timestamps for l2test and rctest.
1042
1043 ver 3.34:
1044         Replace various SDP functions with safe versions.
1045         Add additional length validation for incoming SDP packets.
1046         Use safe function versions for SDP client handling.
1047         Fix issue with RemoveDevice during discovery procedure.
1048         Fix collect for non-persistent service records.
1049
1050 ver 3.33:
1051         Add functions for reading and writing the link policy settings.
1052         Add definition for authentication requirements.
1053         Add support for handling Simple Pairing.
1054         Add Simple Pairing support to Agent interface.
1055         Add ReleaseMode method to Adapter interface.
1056         Add DiscoverServices method to Device interface.
1057         Remove obsolete code and cleanup the repository.
1058         Move over to use the libgdbus API.
1059         Enable PIE by default if supported.
1060
1061 ver 3.32:
1062         Add OCF constants for synchronous flow control enabling.
1063         Add support for switching HID proxy devices from Dell.
1064         Add more Bluetooth client/server helper functions.
1065         Add support for input service idle timeout option.
1066         Fix BNEP reconnection handling.
1067         Fix return value for snd_pcm_hw_params() calls.
1068         Use upper-case addresses for object paths.
1069         Remove HAL support helpers.
1070         Remove inotify support.
1071         Remove service daemon activation handling.
1072         Remove uneeded D-Bus API extension.
1073
1074 ver 3.31:
1075         Create device object for all pairing cases.
1076         Convert authorization to internal function calls.
1077         Add initial support for Headset Audio Gateway role.
1078         Add generic Bluetooth helper functions for GLib.
1079         Fix endiannes handling of connection handles.
1080         Don't optimize when debug is enabled.
1081
1082 ver 3.30:
1083         Convert audio service into a plugin.
1084         Convert input service into a plugin.
1085         Convert serial service into a plugin.
1086         Convert network service into a plugin.
1087         Emit old device signals when a property is changed.
1088         Fix missing DiscoverDevices and CancelDiscovery methods.
1089         Add another company identifier.
1090         Add basic support for Bluetooth sessions.
1091         Add avinfo utility for AVDTP/A2DP classification.
1092         Remove build option for deprecated sdpd binary.
1093
1094 ver 3.29:
1095         Introduce new D-Bus based API.
1096         Add more SBC optimizations.
1097         Add support for PS3 remote devices.
1098         Fix alignment trap in SDP server.
1099         Fix memory leak in sdp_get_uuidseq_attr function.
1100
1101 ver 3.28:
1102         Add support for MCAP UUIDs.
1103         Add support for role switch for audio service.
1104         Add disconnect timer for audio service.
1105         Add disconnect detection to ALSA plugin.
1106         Add more SBC optimizations.
1107         Fix alignment issue of SDP server.
1108         Remove support for SDP parsing via expat.
1109
1110 ver 3.27:
1111         Update uinput.h with extra key definitions.
1112         Add support for input connect/disconnect callbacks.
1113         Add ifdefs around some baud rate definitions.
1114         Add another company identifier.
1115         Add proper HFP service level connection handling.
1116         Add basic headset automatic disconnect support.
1117         Add support for new SBC API.
1118         Fix SBC decoder noise at high bitpools.
1119         Use 32-bit multipliers for further SBC optimization.
1120         Check for RFCOMM connection state in SCO connect callback.
1121         Make use of parameters selected in ALSA plugin.
1122
1123 ver 3.26:
1124         Fix compilation issues with UCHAR_MAX, USHRT_MAX and UINT_MAX.
1125         Improve handling of different audio transports.
1126         Enable services by default and keep old daemons disabled.
1127
1128 ver 3.25:
1129         Add limited support for Handsfree profile.
1130         Add limited support for MPEG12/MP3 codec.
1131         Add basic support for UNITINFO and SUBUNITINFO.
1132         Add more SBC optimizations.
1133         Fix external service (un)registration.
1134         Allow GetInfo and GetAddress to fail.
1135
1136 ver 3.24:
1137         Add definitions for MDP.
1138         Add TCP connection support for serial proxy.
1139         Add fix for Logitech HID proxy switching.
1140         Add missing macros, MIN, MAX, ABS and CLAMP.
1141         Add more SBC encoder optimizations.
1142         Add initial mechanism to handle headset commands.
1143         Fix connecting to handsfree profile headsets.
1144         Use proper function for checking signal name.
1145
1146 ver 3.23:
1147         Fix remote name request handling bug.
1148         Fix key search function to honor the mmap area size.
1149         Fix Avahi integration of network service.
1150         Add new plugin communication for audio service.
1151         Enable basic AVRCP support by default.
1152         More optimizations to the SBC library.
1153         Create common error definitions.
1154
1155 ver 3.22:
1156         Add missing include file from audio service.
1157         Add SBC conformance test utility.
1158         Add basic uinput support for AVRCP.
1159         Fix L2CAP socket leak in audio service.
1160         Fix buffer usage in GStreamer plugin.
1161         Fix remote name request event handling.
1162
1163 ver 3.21:
1164         Add constant for Bluetooth socket options level.
1165         Add initial AVRCP support.
1166         Add A2DP sink support to GStreamer plugin.
1167         Fix interoperability with A2DP suspend.
1168         Fix sign error in 8-subband encoder.
1169         Fix handling of service classes length size.
1170         Store Extended Inquiry Response data information.
1171         Publish device id information through EIR.
1172         Support higher baud rates for Ericcson based chips.
1173
1174 ver 3.20:
1175         Fix GStreamer plugin file type detection.
1176         Fix potential infinite loop in inotify support.
1177         Fix D-Bus signatures for dict handling.
1178         Fix issues with service activation.
1179         Fix SDP failure handling of audio service.
1180         Fix various memory leaks in input service.
1181         Add secure device creation method to input service.
1182         Add service information methods to serial service.
1183         Add config file support to network service.
1184         Add scripting capability to network service.
1185         Add special on-mode handling.
1186         Add optimization for SBC encoder.
1187         Add tweaks for D-Bus 1.1.x libraries.
1188         Add support for inquiry transmit power level.
1189
1190 ver 3.19:
1191         Limit range of bitpool announced while in ACP side.
1192         Use poll instead of usleep to wait for worker thread.
1193         Use default event mask from the specification.
1194         Add L2CAP mode constants.
1195         Add HID proxy support for Logitech diNovo Edge dongle.
1196         Add refresh option to re-request device names.
1197         Show correct connection link type.
1198
1199 ver 3.18:
1200         Don't allocate memory for the Bluetooth base UUID.
1201         Implement proper locking for headsets.
1202         Fix various A2DP SEP locking issues.
1203         Fix and cleanup audio stream handling.
1204         Fix stream starting if suspend request is pending.
1205         Fix A2DP and AVDTP endianess problems.
1206         Add network timeout and retransmission support.
1207         Add more detailed decoding of EIR elements.
1208
1209 ver 3.17:
1210         Fix supported commands bit calculation.
1211         Fix crashes in audio and network services.
1212         Check PAN source and destination roles.
1213         Only export the needed symbols for the plugins.
1214
1215 ver 3.16:
1216         Update company identifier list.
1217         Add support for headsets with SCO audio over HCI.
1218         Add support for auto-create through ALSA plugin.
1219         Add support for ALSA plugin parameters.
1220         Add GStreamer plugin with SBC decoder and encoder.
1221         Fix network service NAP, GN and PANU servers.
1222         Set EIR information from SDP database.
1223
1224 ver 3.15:
1225         Add A2DP support to the audio service.
1226         Add proxy support to the serial service.
1227         Extract main service class for later use.
1228         Set service classes value from SDP database.
1229
1230 ver 3.14:
1231         Add missing signals for the adapter interface.
1232         Add definitions and functions for Simple Pairing.
1233         Add basic commands for Simple Pairing.
1234         Add correct Simple Pairing and EIR interaction.
1235         Add missing properties for remote information.
1236         Add EPoX endian quirk to the input service.
1237         Fix HID descriptor import and storage functions.
1238         Fix handling of adapters in raw mode.
1239         Fix remote device listing methods.
1240
1241 ver 3.13:
1242         Fix some issues with the headset support.
1243         Fix concurrent pending connection attempts.
1244         Fix usage of devname instead of netdev.
1245         Add identifier for Nokia SyncML records.
1246         Add command for reading the CSR chip revision.
1247         Add generic CSR radio test support.
1248         Update HCI command table.
1249
1250 ver 3.12:
1251         Add missing HCI command text descriptions
1252         Add missing HCI commands structures.
1253         Add missing HCI event structures.
1254         Add common bachk() function.
1255         Add support for limited discovery mode.
1256         Add support for setting of event mask.
1257         Add GetRemoteServiceIdentifiers method.
1258         Add skeleton for local D-Bus server.
1259         Add headset gain control methods.
1260         Fix various headset implementation issues.
1261         Fix various serial port service issues.
1262         Fix various input service issues.
1263         Let CUPS plugin discover printers in range.
1264         Improve the BCM2035 UART init routine.
1265         Ignore connection events for non-ACL links.
1266
1267 ver 3.11:
1268         Update API documentation.
1269         Minimize SDP root records and browse groups.
1270         Use same decoder for text and URL strings.
1271         Fix URL data size handling.
1272         Fix SDP pattern extraction for XML.
1273         Fix network connection persistent state.
1274         Add network connection helper methods.
1275         Add initial version of serial port support.
1276         Add class of device tracking.
1277
1278 ver 3.10.1:
1279         Add option to disable installation of manual pages.
1280         Fix input service encryption setup.
1281         Fix serial service methods.
1282         Fix network service connection handling.
1283         Provide a simple init script.
1284
1285 ver 3.10:
1286         Add initial version of network service.
1287         Add initial version of serial service.
1288         Add initial version of input service.
1289         Add initial version of audio service.
1290         Add authorization framework.
1291         Add integer based SBC library.
1292         Add version code for Bluetooth 2.1 specification.
1293         Add ESCO_LINK connection type constant.
1294         Export sdp_uuid32_to_uuid128() function.
1295
1296 ver 3.9:
1297         Add RemoteDeviceDisconnectRequested signal.
1298         Add updated service framework.
1299         Add embedded GLib library.
1300         Add support for using system GLib library.
1301         Create internal SDP server library.
1302
1303 ver 3.8:
1304         Sort discovered devices list based on their RSSI.
1305         Send DiscoverableTimeoutChanged signal.
1306         Fix local and remote name validity checking.
1307         Add ListRemoteDevices and ListRecentRemoteDevices methods.
1308         Add basic integration of confirmation concept.
1309         Add support for service record description via XML.
1310         Add support for external commands to the RFCOMM utility.
1311         Add experimental service and authorization API.
1312         Add functions for registering binary records.
1313
1314 ver 3.7:
1315         Fix class of device handling.
1316         Fix error replies with pairing and security mode 3.
1317         Fix disconnect method for RFCOMM connections.
1318         Add match pattern for service searches.
1319         Add support for prioritized watches.
1320         Add additional PDU length checks.
1321         Fix CSRC value for partial responses.
1322
1323 ver 3.6.1:
1324         Fix IO channel race conditions.
1325         Fix pairing issues on big endian systems.
1326         Fix pairing issues with page timeout errors.
1327         Fix pairing state for security mode 3 requests.
1328         Switch to user as default security manager mode.
1329
1330 ver 3.6:
1331         Update D-Bus based RFCOMM interface support.
1332         Use L2CAP raw sockets for HCI connection creation.
1333         Add periodic discovery support to the D-Bus interface.
1334         Add initial support for device names via EIR.
1335         Add proper UTF-8 validation of device names.
1336         Add support for the J-Three keyboard.
1337         Fix issues with the asynchronous API for SDP.
1338
1339 ver 3.5:
1340         Fix and cleanup watch functionality.
1341         Add support for periodic inquiry mode.
1342         Add support for asynchronous SDP requests.
1343         Add more request owner tracking.
1344         Add asynchronous API for SDP.
1345         Document pageto and discovto options.
1346
1347 ver 3.4:
1348         Improve error reporting for failed HCI commands.
1349         Improve handling of CancelBonding.
1350         Fixed bonding reply message when disconnected.
1351         Fix UUID128 string lookup handling.
1352         Fix malloc() versus bt_malloc() usage.
1353
1354 ver 3.3:
1355         Don't change inquiry mode for Bluetooth 1.1 adapters.
1356         Add udev rules for Bluetooth serial PCMCIA cards.
1357         Add Cancel and Release methods for passkey agents.
1358         Add GetRemoteClass method.
1359         Convert to using ppoll() and pselect().
1360         Initialize allocated memory to zero.
1361         Remove bcm203x firmware loader.
1362         Remove kernel specific timeouts.
1363         Add additional private data field for SDP sessions.
1364         Add host controller to host flow control defines.
1365         Add host number of completed packets defines.
1366         Initialize various memory to zero before usage.
1367
1368 ver 3.2:
1369         Only check for the low-level D-Bus library.
1370         Update possible device minor classes.
1371         Fix timeout for pending reply.
1372         Add more Inquiry with RSSI quirks.
1373         Sleep only 100 msecs for device detection.
1374         Don't send BondingCreated on link key renewal.
1375         Allow storing of all UTF-8 remote device names.
1376         Create storage filenames with a generic function.
1377         Fix handling of SDP strings.
1378         Add adapter type for SDIO cards.
1379         Add features bit for link supervision timeout.
1380
1381 ver 3.1:
1382         Add missing placeholders for feature bits.
1383         Fix handling of raw mode devices.
1384         Fix busy loop in UUID extraction routine.
1385         Remove inquiry mode setting.
1386         Remove auth and encrypt settings.
1387
1388 ver 3.0:
1389         Implement the new BlueZ D-Bus API.
1390         Fix broken behavior with EVT_CMD_STATUS.
1391         Add features bit for pause encryption.
1392         Add additional EIR error code.
1393         Add more company identifiers.
1394         Add another Phonebook Access identifier.
1395         Update sniff subrating data structures.
1396
1397 ver 2.25:
1398         Use %jx instead of %llx for uint64_t and int64_t.
1399         Allow null-terminated text strings.
1400         Add UUID for N-Gage games.
1401         Add UUID for Apple Macintosh Attributes.
1402         Add Apple attributes and iSync records.
1403         Add definitions for Apple Agent.
1404         Add support for the Handsfree Audio Gateway service.
1405         Add support for choosing a specific record handle.
1406         Add support for dialup/telephone connections.
1407         Add definitions for Apple Agent.
1408         Add support for record handle on service registration.
1409
1410 ver 2.24:
1411         Fix display of SDP text and data strings.
1412         Add support for device scan property.
1413         Add support for additional access protocols.
1414         Update the D-Bus policy configuration file.
1415
1416 ver 2.23:
1417         Update the new D-Bus interface.
1418         Make dfutool ready for big endian architectures.
1419         Add support for AVRCP specific service records.
1420         Add support for writing complex BCCMD commands.
1421         Add the new BCCMD interface utility.
1422         Add MicroBCSP implementation from CSR.
1423         Add constants and definitions for sniff subrating.
1424         Add support for allocation of binary text elements.
1425         Add HCI emulation tool.
1426         Add fake HID support for old EPoX presenters.
1427         Reject connections from unknown HID devices.
1428         Fix service discovery deadlocks with Samsung D600 phones.
1429
1430 ver 2.22:
1431         Remove D-Bus 0.23 support.
1432         Add initial version of the new D-Bus interface.
1433         Add support for extended inquiry response commands.
1434         Add support for the Logitech diNovo Media Desktop Laser.
1435         Add compile time buffer checks (FORTIFY SOURCE).
1436         Decode reserved LMP feature bits.
1437         Fix errno overwrite problems.
1438         Fix profile descriptor problem with Samsung phones.
1439
1440 ver 2.21:
1441         Move create_dirs() and create_file() into the textfile library.
1442         Let textfile_put() also replace the last key value pair.
1443         Fix memory leaks with textfile_get() usage.
1444         Fix infinite loops and false positive matches.
1445         Don't retrieve stored link keys for RAW devices.
1446         Document the putkey and delkey commands.
1447         Show supported commands also in clear text.
1448         Support volatile changes of the BD_ADDR for CSR chips.
1449         Add support for identification of supported commands.
1450         Add missing OCF declarations for the security filter.
1451         Add two new company identifiers.
1452
1453 ver 2.20:
1454         Add UUIDs for video distribution profile.
1455         Add UUIDs for phonebook access profile.
1456         Add attribute identifier for supported repositories.
1457         Add definitions for extended inquiry response.
1458         Add functions for extended inquiry response.
1459         Add support for extended inquiry response.
1460         Add support for HotSync service record.
1461         Add support for ActiveSync service record.
1462         Add ActiveSync networking support.
1463         Fix D-Bus crashes with new API versions.
1464
1465 ver 2.19:
1466         Fix the GCC 4.0 warnings.
1467         Fix the routing for dealing with raw devices.
1468         Fix off by one memory allocation error.
1469         Fix security problem with escape characters in device name.
1470         Add per device service record functions.
1471         Send D-Bus signals for inquiry results and remote name resolves.
1472         Add support for device specific SDP records.
1473
1474 ver 2.18:
1475         Support D-Bus 0.23 and 0.33 API versions.
1476         Support reading of complex BCCMD values.
1477         Support minimum and maximum encryption key length.
1478         Add support for reading and writing the inquiry scan type.
1479         Add definitions for connection accept timeout and scan enable.
1480         Add support for inquiry scan type.
1481         Add tool for the CSR BCCMD interface.
1482         Add first draft of the Audio/Video control utility.
1483         Add disconnect timer support for the A2DP ALSA plugin.
1484         Make SBC parameters configurable.
1485         Replace non-printable characters in device names.
1486         Remove hci_vhci.h header file.
1487         Remove hci_uart.h header file.
1488
1489 ver 2.17:
1490         Set the storage directory through ${localstatedir}.
1491         Add the textfile library for ASCII based file access.
1492         Add support for return link keys event.
1493         Add support for voice setting configuration.
1494         Add support for page scan timeout configuration.
1495         Add support for storing and deleting of stored link keys.
1496         Add support for searching for services with UUID-128.
1497         Add support for retrieving all possible service records.
1498         Add support for a raw mode view of service records.
1499         Add support for HID information caching in hidd.
1500         Add support for authentication in pand and dund.
1501         Add support for changing BD_ADDR of CSR chips.
1502         Add pskey utility for changing CSR persistent storage values.
1503         Add the firmware upgrade utility.
1504         Add connection caching for the A2DP ALSA plugin.
1505         Add functions for stored link keys.
1506         Add definitions for PIN type and unit key.
1507         Add SDP_WAIT_ON_CLOSE flag for sdp_connect().
1508         Include stdio.h in bluetooth.h header file.
1509         Include sys/socket.h in the header files.
1510
1511 ver 2.16:
1512         Store link keys in ASCII based file format.
1513         Support device name caching.
1514         Support zero length data sizes in l2test.
1515         Change default l2ping data size to 44 bytes.
1516         Hide the server record and the public browse group root.
1517         Read BD_ADDR if not set and if it is a raw device.
1518         Add SDP language attributes.
1519         Add support for browsing the L2CAP group.
1520         Add support for stored pin codes for outgoing connections.
1521         Add support for local commands and extended features.
1522         Add support for reading CSR panic and fault codes.
1523         Add config option for setting the inquiry mode.
1524         Add OUI decoding support.
1525         Use unlimited inquiry responses as default.
1526         Use cached device names for PIN request.
1527         Use the clock offset when getting the remote names.
1528         Add function for reading local supported commands.
1529         Add function for reading local extended features.
1530         Add function for reading remote extended features.
1531         Add function for getting the remote name with a clock offset.
1532         Add function for extracting the OUI from a BD_ADDR.
1533         Add inquiry info structure with RSSI and page scan mode.
1534         Fix buffer allocation for features to string conversion.
1535         Support inquiry with unlimited number of responses.
1536
1537 ver 2.15:
1538         Enable the RFCOMM service level security.
1539         Add deprecated functions for reading the name.
1540         Add command for reading the clock offset.
1541         Add command for reading the clock.
1542         Add function for reading the clock.
1543         Add function for reading the local Bluetooth address.
1544         Add function for reading the local supported features.
1545         Don't configure raw devices.
1546         Don't set inquiry scan or page scan on raw devices.
1547         Don't show extended information for raw devices.
1548         Support L2CAP signal sizes bigger than 2048 bytes.
1549         Cleanup of the socket handling code of the test programs.
1550         Use better way for unaligned access.
1551         Remove sdp_internal.h and its usage.
1552
1553 ver 2.14:
1554         Make use of additional connection information.
1555         Use library function for reading the RSSI.
1556         Use library function for reading the link quality.
1557         Use library function for reading the transmit power level.
1558         Use library functions for the link supervision timeout.
1559         Add tool for changing the device address.
1560         Add function for reading the RSSI.
1561         Add function for reading the link quality.
1562         Add function for reading the transmit power level.
1563         Add functions for the link supervision timeout.
1564         Remove deprecated functions.
1565         Update AM_PATH_BLUEZ macro.
1566
1567 ver 2.13:
1568         Use file permission 0600 for the link key file.
1569         Add support for HID attribute descriptions.
1570         Add support for Device ID attributes.
1571         Add Device ID and HID attribute definitions.
1572         Update the UUID constants and its translations.
1573         Update L2CAP socket option definitions.
1574         Update connection information definitions.
1575         Various whitespace cleanups.
1576
1577 ver 2.12:
1578         Inherit the device specific options from the default.
1579         Use --device for selecting the source device.
1580         Add --nosdp option for devices with resource limitation.
1581         Add support and parameter option for secure mode.
1582         Add a lot of build ids and hardware revisions.
1583         Add service classes and profile ids for WAP.
1584         Add simple AM_PATH_BLUEZ macro.
1585         Update UUID translation tables.
1586         Correct kernel interface for CMTP and HIDP support.
1587
1588 ver 2.11:
1589         Initial support for the kernel security manager.
1590         Various cleanups to avoid inclusion of kernel headers.
1591         Fix output when the CUPS backend is called without arguments.
1592         Fix problems with a 64 bit userland.
1593         Use Bluetooth library functions if available.
1594         Use standard numbering scheme of SDP record handles.
1595         Use bit zero for vendor packets in the filter type bitmask.
1596         Add SIM Access types for service discovery.
1597         Add more audio/video profile translations.
1598         Add another company identifier.
1599         Add the missing HCI error codes.
1600         Add RFCOMM socket options.
1601         Add definition for the SECURE link mode.
1602         Add functions for reading and writing the inquiry mode.
1603         Add functions for AFH related settings and information.
1604         Add version identifier for the Bluetooth 2.0 specification.
1605         Add a master option to the hidd.
1606         Add support for changing the link key of a connection.
1607         Add support for requesting encryption on keyboards.
1608         Add support for revision information of Digianswer devices.
1609         Add support for the Zoom, IBM and TDK PCMCIA cards.
1610         Add checks for the OpenOBEX and the ALSA libraries.
1611         Add experimental mRouter support.
1612
1613 ver 2.10:
1614         Use a define for the configuration directory.
1615         Fix string initialization for flags translation.
1616         Fix and extend the unaligned access macros.
1617         Make compiling with debug information optional.
1618         Don't override CFLAGS from configure.
1619         Check for usb_get_busses() and usb_interrupt_read().
1620         Add optional support for compiling with PIE.
1621         Make installation of the init scripts optional.
1622         Make compiling with debug information optional.
1623         Don't override CFLAGS from configure.
1624
1625 ver 2.9:
1626         Retry SDP connect if busy in the CUPS backend.
1627         Use packet type and allow role switch in hcitool.
1628         Use the functions from the USB library for hid2hci.
1629         Add Broadcom firmware loader.
1630         Add EPoX endian quirk for buggy keyboards.
1631         Add L2CAP info type and info result definitions.
1632         Add value for L2CAP_CONF_RFC_MODE.
1633         Change RSSI value to signed instead of unsigned.
1634         Allow UUID32 values as protocol identifiers.
1635         Update the autoconf/automake scripts.
1636
1637 ver 2.8:
1638         Use LIBS and LDADD instead of LDFLAGS.
1639         Use HIDP subclass field for HID boot protocol.
1640         Set olen before calling getsockopt() in pand.
1641         Restore signals for dev-up script.
1642         Add PID file support for pand.
1643         Add size parameter to expand_name() in hcid.
1644         Add support for audio source and audio sink SDP records.
1645         Add support for HID virtual cable unplug.
1646         Add support for AmbiCom BT2000C card.
1647         Add defines and UUID's for audio/video profiles.
1648         Add AVDTP protocol identifier.
1649         Add HIDP subclass field.
1650         Add PKGConfig support.
1651         Fix the event code of inquiry with RSSI.
1652         Remove dummy SDP library.
1653
1654 ver 2.7:
1655         Fix display of decoded LMP features.
1656         Update company identifiers.
1657         Add AFH related types.
1658         Add first bits from EDR prototyping specification.
1659         Add support for inquiry with RSSI.
1660         Add HCRP related SDP functions.
1661         Add HIDP header file.
1662         Add support for getting the AFH channel map.
1663         Add support for AFH mode.
1664         Add support for inquiry mode.
1665         Add Bluetooth backend for CUPS.
1666         Add the hid2hci utility.
1667         Add the hidd utility.
1668         Add the pand utility.
1669         Add the dund utility.
1670         More endian bug fixes.
1671         Give udev some time to create the RFCOMM device nodes.
1672         Release the TTY if no device node is found.
1673         New startup script for the Bluetooth subsystem.
1674         Update to the autoconf stuff.
1675
1676 ver 2.6:
1677         Change default prefix to /usr.
1678         Add manpages for hcid and hcid.conf.
1679         Add the sdpd server daemon.
1680         Add the sdptool utility.
1681         Add the ciptool utility.
1682         Add new company identifiers.
1683         Add BNEP and CMTP header files.
1684         Add the SDP library.
1685         Use R2 for default value of pscan_rep_mode.
1686
1687 ver 2.5:
1688         Add decoding of Bluetooth 1.2 features.
1689         Add link manager version parameter for Bluetooth 1.2.
1690         Add new company identifiers.
1691         Add D-Bus support for PIN request.
1692         Support for transmit power level.
1693         Support for park, sniff and hold mode.
1694         Support for role switch.
1695         Support for reading the clock offset.
1696         Support for requesting authentication.
1697         Support for setting connection encryption.
1698         Show revision information for Broadcom devices.
1699         Replace unprintable characters in device name.
1700         Use R1 for default value of pscan_rep_mode.
1701         Fix some 64-bit problems.
1702         Fix some endian problems.
1703         Report an error on PIN helper failure.
1704         Update bluepin script for GTK2.
1705
1706 ver 2.4:
1707         Increase number of inquiry responses.
1708         Support for transmit power level.
1709         Display all 8 bytes of the features.
1710         Add support for reading and writing of IAC.
1711         Correct decoding class of device.
1712         Use Ericsson revision command for ST Microelectronics devices.
1713         Display AVM firmware version with 'revision' command.
1714         New code for CSR specific revision information.
1715         Support for ST Microelectronics specific initialization.
1716         Support for 3Com card version 3.0.
1717         Support for TDK, IBM and Socket cards.
1718         Support for initial baud rate.
1719         Update man pages.
1720         Fixes for some memory leaks.
1721
1722 ver 2.3:
1723         Added const qualifiers to appropriate function arguments.
1724         Minor fixes.
1725         CSR firmware version is now displayed by 'revision' command.
1726         Voice command is working properly on big endian machines.
1727         Added support for Texas Bluetooth modules.
1728         Added support for high UART baud rates on Ericsson modules.
1729         BCSP initialization fixes.
1730         Support for role switch command (hcitool).
1731         RFCOMM config file parser fixes.
1732         Update man pages.
1733         Removed GLib dependency.
1734
1735 ver 2.2:
1736         Updated RFCOMM header file.
1737         Additional HCI command and event defines.
1738         Support for voice settings (hciconfig).
1739         Minor hcitool fixes.
1740         Improved configure script.
1741         Added Headset testing tool.
1742         Updated man pages.
1743         RPM package.
1744
1745 ver 2.1.1:
1746         Resurrect hci_remote_name.
1747
1748 ver 2.1:
1749         Added hci_{read, write}_class_of_dev().
1750         Added hci_{read, write}_current_iac_lap().
1751         Added hci_write_local_name().
1752         Added RFCOMM header file.
1753         Minor fixes.
1754         Improved BCSP initialization (hciattach).
1755         Support for displaying link quality (hcitool).
1756         Support for changing link supervision timeout (hcitool).
1757         New RFCOMM TTY configuration tool (rfcomm).
1758         Minor fixes and updates.
1759
1760 ver 2.0:
1761         Additional company IDs.
1762         BCSP initialization (hciattach).
1763         Minor hciconfig fixes.
1764
1765 ver 2.0-pr13:
1766         Support for multiple pairing modes.
1767         Link key database handling fixes.
1768
1769 ver 2.0-pre12:
1770         Removed max link key limit. Keys never expire.
1771         Link key database is always updated. Reread PIN on SIGHUP (hcid).
1772         Bluetooth script starts SDPd, if installed.
1773         Other minor fixes.
1774
1775 ver 2.0-pre11:
1776         Improved link key management and more verbose logging (hcid).
1777         Fixed scan command (hcitool).
1778
1779 ver 2.0-pre10:
1780         Fix hci_inquiry function to return errors and accept user buffers.
1781         New functions hci_devba, hci_devid, hci_for_each_dev and hci_get_route.
1782         Additional company IDs.
1783         Makefile and other minor fixes.
1784         Support for reading RSSI, remote name and changing
1785         connection type (hcitool). 
1786         Device initialization fixes (hcid).
1787         Other minor fixes and improvements.
1788         Build environment cleanup and fixes.
1789
1790 ver 2.0-pre9:
1791         Improved bluepin. Working X authentication.
1792         Improved hcitool. New flexible cmd syntax, additional commands.
1793         Human readable display of the device features.
1794         LMP features to string translation support.
1795         Additional HCI command and event defines.
1796         Extended hci_filter API.
1797
1798 ver 2.0-pre8:
1799         Additional HCI ioctls and defines.
1800         All strings and buffers are allocated dynamically.
1801         ba2str, str2ba automatically swap bdaddress.
1802         Additional hciconfig commands. Support for ACL and SCO MTU ioctls.
1803         Support for Inventel and COM1 UART based devices.
1804         Minor hcitool fixes.
1805         Improved l2test. New L2CAP test modes.
1806         Minor fixes and cleanup.
1807
1808 ver 2.0-pre7:
1809         Bluetooth libraries and header files is now a separate package.
1810         New build environment uses automake and libtool.
1811         Massive header files cleanup.
1812         Bluetooth utilities is now a separate package.
1813         New build environment uses automake.
1814         Moved all config files and security data to /etc/bluetooth.
1815         Various cleanups.
1816
1817 ver 2.0-pre6:
1818         API cleanup and additions.
1819         Improved hcitool.
1820         l2test minor output fixes.
1821         hciattach opt to display list of supported devices.
1822
1823 ver 2.0-pre4:
1824         HCI filter enhancements.
1825
1826 ver 2.0-pre3:
1827         Cleanup.
1828
1829 ver 2.0-pre2:
1830         Additional HCI library functions.
1831         Improved CSR baud rate initialization.
1832         PCMCIA scripts fixes and enhancements.
1833         Documentation update.
1834
1835 ver 2.0-pre1:
1836         New UART initialization utility.
1837         Hot plugging support for UART based PCMCIA devices.
1838         SCO testing utility.
1839         New authentication utility (bluepin).
1840         Minor fixes and improvements.