summaryrefslogtreecommitdiff
path: root/NEWS
blob: ba71cdd5470d5e133a31a066640985bc5210a4eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702

Overview of changes in libqmi 1.24.10
----------------------------------------

 * libqmi-glib:
   ** Added new WDS verbose call end reasons in the IPv6, PPP, 3GPP, CM and
      Internal groups.
   ** Renamed WDS verbose call end reason "CM_CONFIGURATION_FAILED" to
      "CM_CONFERENCE_FAILED", and added the old name as deprecated in the
      compat sources.
   ** Detect QMI control ports exposed as 'smdpkt' or 'rpmsg' virtual devices.

 * qmicli:
   ** Fixed crash when using --pdc-deactivate-config.

 * Several other minor improvements and fixes.


Overview of changes in libqmi 1.24.8
----------------------------------------

 * libqmi-glib:
   ** Fixed string reading logic to avoid critical memory leak.
   ** Improved logic to fallback to GSM7 or UCS2, by making sure that the
      UTF-8 string validation doesn't consider non-printable characters.

 * Several other minor improvements and fixes.


Overview of changes in libqmi 1.24.6
----------------------------------------

 * libqmi-glib:
   ** Fixed the close operation logic to make sure that a reopen done right
      away doesn't close the wrong endpoint.
   ** Updated string reading logic to make sure that all strings are valid
      UTF-8.
   ** Updated string reading logic to attempt parsing as GSM7 or UCS2 if the
      initial UTF-8 validation fails.
   *+ Renamed TLV 0x15 in the "WDA Get Data Format" message, and added new
      compat methods for the old name.
   ** Fixed the format of the NITZ information TLV, and added new compat
      methods for the old name.
   ** Fixed the format of the Home Network 3GPP2 TLV, and added new compat
      methods for the old name.

 * Several other minor improvements and fixes.


Overview of changes in libqmi 1.24.4
----------------------------------------

 * libqmi-glib: the logic behind QMI_DEVICE_OPEN_FLAGS_VERSION_INFO has been
   updated, and from now on it will only make sure the version info of the
   device is loaded when it's opened. The library will no longer prevent a
   given message from being sent to the module based on the version
   information kept in the message database.

 * docs: fixed Since tags in UIM messages using the fixed "Session" TLV
   introduced in 1.22.


Overview of changes in libqmi 1.24.2
----------------------------------------

 * libqmi-glib:
   ** message: fixed message creation on big endian systems.
   ** message: added missing services in get_version_introduced_full().
   ** message: updated printable_full() to allow a NULL line_prefix.
   ** device: updated response reception logic to make sure we check the message
      id before attempting to parse the contents, and if the message id doesn't
      match we return an early QMI_CORE_ERROR_UNEXPECTED_MESSAGE error.

 * pkgconfig:
   ** Added libmbim dependency in Libs.Private, if built with QMI-over-MBIM
      support.

 * qmi-proxy:
   ** Updated to always use the realpath of the QMI device file, so that users
      using different symlinks to the same device file don't get transaction ids
      mixed up.

 * Several other minor improvements and fixes.


Overview of changes in libqmi 1.24.0
----------------------------------------

 * New services:
   ** New 'GAS' (Telit General Application Service) service, which allows
      switching between stored firmware images in Telit devices.

 * New request/responses/indications:
   ** uim: implement 'Change Provisioning Session' request/response.
   ** nas: implement Sierra-specific 'Swi Get Status' request/response.

 * New TLVs supported in existing messages:
   * nas: added 'Usage Preference' in "Get/Set System Selection Preference".
   * nas: added 'Network Name Source' in "Get Serving System" and "Get Home
     Network".
   * nas: added 'LTE Cell Access Status' in "Get System Info".
   * nas: added 'IMS Voice Support' in "Get System Info".
   * nas: added 'LTE eMBMS Coverage Info Trace ID' in "Get System Info".
   * nas: added 'Network Selection Registration Restriction' in "Get System
     Info".
   * nas: added 'LTE Registration Domain' in "Get System Info".
   * nas: added 'Disabled Modes' in "Get System Selection Preference".
   * nas: added 'Network Selection Registration Restriction" in "Get/Set System
     Selection Preference".
   * nas: added 'Voice Domain Preference' in "Get/Set System Selection
     Preference".
   * nas: added 'Network Scan Result' in "Network Scan".
   * dms: added 'Imei Software Version" in "Get IDs".

 * libqmi:
   ** New qmi_device_command_abortable() async method is used with requests that
      are abortable (both "WDS Start Network" and "NAS Network Scan" so far),
      so that the method waits for either the request succeed or for the abort
      operation to finish. This new method solves races when a successful
      response to the message is received after the abort has been requested
      (e.g. if receiving a successful response to WDS Start Network after the
      abort request has been sent, the async operation succeeds and the abort
      will be ignored). The user must understand that aborting a command
      initiated with qmi_device_command_abortable() doesn't mean it will fail
      as aborted, the command may actually succeed. Although this is a new
      command in the interface, both qmi_client_wds_start_network() and
      qmi_client_nas_network_scan() will use it internally and transparently for
      the user.
   ** New qmi_message_new_from_data() and qmi_message_get_data() methods to work
      with QMI messages that don't have QMUX headers.
   ** New support for symlinks in /dev/cdc-wdm ports.
   ** QMI over MBIM transaction timeout logic was simplified in order to rely on
      the QMI transaction timeout instead of the MBIM one.
   ** Reworked internals to have different 'QMI endpoint' implementations, in
      order to easily integrate new transports like QRTR.
   ** Added definition of LTE bands 164 through 168 in NAS service.
   ** Added retry support when opening the QmiDevice with the SYNC flag only
      (without the VERSION_CHECK).

 * qmi-proxy:
   ** New '--empty-timeout=[SECS}' option.

 * qmicli:
   ** New '--uim-change-provisioning-session' command.
   ** New '--gas-dms-get-firmware-list' command.
   ** New '--gas-dms-get-active-firmware' command.
   ** New '--gas-dms-set-active-firmware' command.
   ** New '--gas-noop' command.
   ** New '--nas-swi-get-status' command.
   ** Added support to request auto/manual network attachment when using
      '--nas-set-system-selection-preference'.

 * qmi-firmware-update:
   ** Added support for upgrading the Sierra Wireless EM7565 module with the new
      Sahara/Firehose protocol.

 * Several other minor improvements and fixes.

The following features which were backported to 1.22.x releases are also present
in libqmi 1.24.0:

 * Build updated to explicitly define max allowed GLib version.

 * New request/responses/indications:
   ** uim: new "Register Events" request/response.
   ** dms: new "Dell Change Device Mode" request/response.
   ** dms: new "Dell Get Firmware Version" request/response.

 * qmicli:
   ** New '--dms-dell-change-device-mode' command.
   ** New '--dms-dell-get-firmware-version' command.


Overview of changes in libqmi 1.22.0
----------------------------------------

 * Build now looks for the correct python provider in the system during
   configure.

 * New services:
   ** New 'QoS' (Quality of Service) service, with some minimal initial
      implementation to support flow/network status querying. Additionally,
      some Sierra-specific commands are also implemented that allow querying
      per-bearer statistics (e.g. if multiple dedicated and default LTE bearers
      are used).

 * New request/responses/indications:
   ** loc: new "Register Events" request/response.
   ** loc: new "NMEA" indication.
   ** loc: new "Engine State" indication.
   ** loc: new "Fix Recurrence Type" indication.
   ** loc: new "GNSS Sv Info" indication.
   ** loc: new "Inject Predicted Orbits Data" request/response/indication.
   ** loc: new "Get Predicted Orbits Data Source" request/response/indication.
   ** loc: new "Set Server" request/response/indication.
   ** loc: new "Get Server" request/response/indication.
   ** loc: new "Delete Assistance Data" request/response/indication.
   ** loc: new "Set Operation Mode" request/response/indication.
   ** loc: new "Get Operation Mode" request/response/indication.
   ** loc: new "Inject XTRA Data" request/response/indication.
   ** uim: new "Card Status" indication.
   ** wds: new "Get Default Profile Num" request/response.
   ** wds: new "Set Default Profile Num" request/response.
   ** wds: new Sierra-specific "Swi Create Profile Indexed" request/response.

 * New TLVs supported in existing messages:
   ** loc: added multiple new TLVs in the "Position Report" indication, which
      was a minimal skeleton in previous releases.
   ** loc: added 'Fix Recurrence Type' TLV in "Start".
   ** loc: added 'Minimum Interval between Position Reports' TLV in "Start".
   ** nas: added 'Acquisition Order Preference' TLV in "Set System Selection
      Preference" and "Get System Selection Preference".
   ** nas: added 'Phy CA Agg Secondary Cells' TLV in "Get LTE Cphy CA Info".
   ** wds: added 'WDS APN Disabled Flag' TLV in "Create Profile", "Modify
      Profile" and "Get Profile Settings".
   ** wds: added 'WDS Roaming Disallowed Flag' TLV in "Create Profile",
      "Modify Profile" and "Get Profile Settings".

 * libqmi:
   ** Assume TLVs < 0x10 are mandatory by default.
   ** Fixed some missing QmiProtocolErrors and updated some existing ones.
   ** Implemented support to allow enabling QMI indications when in MBIM mode.
   ** Addded missing QmiNasBandPreference and QmiDmsLteBandCapability flags.
   ** Deprecate QMI_CORE_ERROR_TLV_EMPTY, as empty TLVs are allowed by the
      protocol and totally valid e.g. in 0-sized string-type TLVs.
   ** Moved all deprecated APIs to 'qmi-compat.h' header.

 * qmicli:
   ** New '--loc-get-position-report' command.
   ** New '--loc-get-gnss-sv-info' command.
   ** New '--loc-follow-position-report' command.
   ** New '--loc-follow-gnss-sv-info' command.
   ** New '--loc-follow-nmea' command.
   ** New '--loc-delete-assistance-data' command.
   ** New '--qos-get-flow-status' command.
   ** New '--qos-get-network-status' command.
   ** New '--qos-swi-read-data-stats' command.
   ** New '--qos-reset' command.
   ** New '--wds-create-profile' command.
   ** New '--wds-modify-profile' command.
   ** New '--wds-delete-profile' command.
   ** New '--wds-get-default-profile-num' command.
   ** New '--wds-set-default-profile-num' command.
   ** New '--wds-swi-create-profile-indexed' command.
   ** Added support to request acquisition order preference updates when using
      '--nas-set-system-selection-preference'.
   ** Fixed slot indices in '--uim-get-card-status'.
   ** Fixed '--uim-set-pin-protection', '--uim-verify-pin", "--uim-unblock-pin",
      and '--uim-change-pin', so that a dummy application identifier is always
      used.
   ** Updated so that all commands work even through QMI over MBIM, even if
      indications are required to complete the command (e.g. most PDC and LOC
      commands).

 * qmi-network:
   ** Avoid creating invalid --wds-start-network when APN is not set.

 * Several other minor improvements and fixes.

The following features which were backported to 1.20.x releases are also present
in libqmi 1.22.0:

 * qmicli:
   ** Exit on --wds-start-network parse errors.
   ** Fix reading current technology in --wds-get-data-bearer-technology.

 * qmi-firmware-update:
   ** Fix --ignore-version-errors.
   ** Fix byte counts in error message.

 * libqmi-glib:
   ** dms: factory settings related operations since 1.0
   ** Avoid closing same file descriptor twice.
   ** Don't leak the inner MbimDevice if MBIM_QMUX_ENABLED.


Overview of changes in libqmi 1.20.0
----------------------------------------

 * New services:
   ** loc: new "LOC" (location) service, which e.g. allows controlling GPS
       devices in newer modules that don't implement the PDS service. Just some
       very basic implementation for now.

 * New request/responses:
   ** nas: new "Attach/Detach" request/response messages.
   ** wds: new "Get Channel Rates" request/response messages.
   ** dms: new 'Swi Get/Set USB Composition' request/response messages.

 * New TLVs supported in existing messages:
   ** nas: new 'Extended LTE Band Preference' TLV in "Set/Get SSP".
   ** dms: new 'Extended LTE Band Capability' TLV in "Get Band Capabilities".

 * libqmi:
   ** New 'QMI_DEVICE_SIGNAL_REMOVED' signal in the QmiDevice object, propagated
      through the qmi-proxy.
   ** New 'QMI_CLIENT_VALID' property in the QmiClient that allows detecting
      whether the underlying QmiDevice is usable or not.
   ** Defined additional LTE bands.

 * qmicli:
   ** New '--wds-set-ip-family' command.
   ** New '--wds-get-channel-rates' command.
   ** New '--uim-read-record' command.
   ** New '--dms-swi-get-usb-composition' and '--dms-swi-set-usb-composition'
      commands.

 * Several other minor improvements and fixes.

The following features which were backported to 1.18.x releases are also present
in libqmi 1.20.0:

 * libqmi-glib:
   ** Prefer realpath() to canonicalize_file_name().
   ** Avoid signals sent to the qmi-proxy process.

 * qmi-firmware-update:
   ** Support USB3->USB2 mode changes during upgrade.


Overview of changes in libqmi 1.18.0
----------------------------------------

The full list of new features include:

 * libqmi:
   ** Implemented support for vendor-specific commands through a new
      qmi_device_command_full() operation and a new QmiMessageContext type. The
      original qmi_device_command() is flagged as deprecated.
   ** New 'QMI_DEVICE_OPEN_FLAGS_AUTO' flag in qmi_device_open() which allows
      automatic detection of the underlying protocol in a cdc-wdm device (either
      QMI or MBIM) and transparently uses it based on that.
   ** New qmi_device_close_async() operation, which allows closing a QmiDevice
      asynchronously (especially important when closing devices running QMI over
      MBIM, as this operation requires MBIM protocol cleanups). The original
      qmi_device_close() is flagged as deprecated.
   ** Fixed QmiWmsCdmaCauseCode enum names, and provided a compatibility layer
      keeping the old names (flagged as deprecated) to avoid breaking API.

 * New services:
   ** pdc: new "PDC" (persistent device configuration) service, which among
      other things, allows configuring the HP lt4120.

 * New request/responses:
   ** dms: new sierra-specific "SWI Get Current Firmware" request/response.
   ** dms: new hp-specific "HP Change Device Mode" request/response.
   ** dms: new "Set Firmware ID" request/response.
   ** dms: new "Get Boot Image Download Mode" request/response.
   ** dms: new "Set Boot Image Download Mode" request/response.
   ** wds: new "Create Profile" request/response.
   ** wds: new "Modify Profile" request/response.
   ** wds: new "Delete Profile" request/response.
   ** wds: new "Set Event Report" request/response.
   ** wds: new "Go Dormant" request/response.
   ** wds: new "Go Active" request/response.
   ** wds: new "Get Dormancy Status" request/response.
   ** pdc: new "Reset" request/response.
   ** pdc: new "Register" request/response.
   ** pdc: new "Config Change" request/response.
   ** pdc: new "Get Selected Config" request/response.
   ** pdc: new "Set Selected Config" request/response.
   ** pdc: new "List Configs" request/response.
   ** pdc: new "Delete Config" request/response.
   ** pdc: new "Load Config" request/response.
   ** pdc: new "Activate Config" request/response.
   ** pdc: new "Get Config Info" request/response.
   ** pdc: new "Get Config Limits" request/response.
   ** pdc: new "Get Default Config Info" request/response.
   ** pdc: new "Deactivate Config" request/response.
   ** uim: new "Power Off SIM" request/response.
   ** uim: new "Power On SIM" request/response.
   ** nas: new "Get Operator Name" request/response.
   ** wds: new "Bind Mux Data Port" request/response.

* New indications:
   ** wds: new "Event report" indication.
   ** pdc: new "Get Selected Config" indication.
   ** pdc: new "Set Selected Config" indication.
   ** pdc: new "List Configs" indication.
   ** pdc: new "Load Config" indication.
   ** pdc: new "Activate Config" indication.
   ** pdc: new "Get Config Info" indication.
   ** pdc: new "Deactivate Config" indication.
   ** nas: new "Operator Name" indication.

 * New TLVs supported in existing messages:
   ** wda: updated "Set Data Format" request to allow specifying endpoint type
      and interface number.

 * qmi-firmware-update:
   ** This is a completely new tool that allows upgrading firmware in (at least)
      Sierra Wireless devices with MDM9200, MDM9x15 or MDM9x30 chipsets. Run the
      tool with --help and --help-examples to get more information on how to use
      it.

 * qmicli:
   ** The CLI no longer requires the '--device-open-mbim' explicit option when
      opening QMI capable MBIM devices, the automatic detection of QMI over MBIM
      is enabled by default.
   ** New '--device-open-qmi' option to disable the automatic detection of
      protocol and force using QMI.
   ** New '--dms-set-firmware-id' operation.
   ** New '--dms-get-software-version' operation.
   ** New '--dms-set-boot-image-download-mode' and
      '--dms-get-boot-image-download-mode' operations to configure the default
      download mode.
   ** New '--dms-set-firmware-preference' and '--dms-get-firmware-preference'
      operations to manage the current firmware preference.
   ** New '--wds-go-dormant', '--wds-go-active' and '--wds-get-dormancy-status'
      operations to manage dormancy related operations.
   ** New '--nas-get-rf-band-info' operation.
   ** New '--uim-sim-power-on' and '--uim-sim-power-off' operations.
   ** New '--nas-get-operator-name' operation.
   ** New '--wds-bind-mux-data-port' operation.
   ** Updated '--wda-set-data-format' to allow specifying endpoint type and
      interface number.
   ** If running in MBIM mode, enable MBIM logs and traces.
   ** By default the QmiDevice will be closed before exiting, e.g. so that the
      MBIM session is also closed.

 * docs:
   ** Updated the documentation so that each QMI message and each TLV specifies
      in which libqmi version it was introduced, using "since:" tags in the QMI
      message databases.
   ** Added indices for new symbols introduced in the major libqmi releases, as
      well as for symbols flagged as deprecated.

 * build:
   ** Bump GLib requirement to 2.36.
   ** Added GUdev requirement for qmi-firmware-update, that may be explicitly
      disabled using the new '--without-udev' configure switch.
   ** The new '--disable-firmware-update' configure switch allows completely
      disabling the qmi-firmware-update tool build.
   ** The new '--disable-mm-runtime-check' configure switch allows disabling
      the runtime check for ModemManager done by the qmi-firmware-update tool.

The following features which were backported to 1.16.x releases are also present
in libqmi 1.18.0:

 * dms: flagged several methods as available since DMS 1.1.
 * nas: Fix RX/TX mixup in 'Get LTE Cphy CA Info'.

 * libqmi-glib:
   ** Fix segfault in QmiDevice when cancellable already cancelled.
   ** Fix releasing transaction on MBIM error.

 * qmicli:
   ** Added support for IP type in --wds-start-network.
   ** Fix options receiving a list of flags.
   ** Fix second ctrl+c handling.
   ** Avoid converting to dB invalid SINR values.

 * qmi-proxy:
   ** Fix segfault when trying to use already disposed clients.
   ** Fix segfault when trying to use already disposed transactions.
   ** Plug several memleaks in error conditions.

 * build:
   ** Guard invocations of g_type_init().
   ** Fix checking for libmbim.


Overview of changes in libqmi 1.16.0
----------------------------------------

* New `--enable-mbim-qmux' option during configure, which enables the support
  for using an MBIM control device as transport for the QMI messages, only if
  the MBIM device implements the "QMI service". This setting is automatically
  enabled if libmbim >= 1.14.0 is found in the system, and can be explicitly
  disabled with `--disable-mbim-qmux'.

* New request/responses:
  ** nas: new "Get LTE Cphy CA Info" request/response.
  ** nas: new "Force Network Search" request/response.

* qmi-network:
  ** Fixed several bashisms.

The following features which were backported to 1.14.x releases are also present
in libqmi 1.16.0:

* Added compatibility symbols for some API breaks introduced in 1.14.0:
  ** qmi_message_dms_set_service_programming_code_input_get_current
     was renamed to qmi_message_dms_set_service_programming_code_input_get_current_code.
  ** qmi_message_dms_set_service_programming_code_input_get_new
     was renamed to qmi_message_dms_set_service_programming_code_input_get_new_code.
  ** qmi_message_dms_set_service_programming_code_input_set_current
     was renamed to qmi_message_dms_set_service_programming_code_input_set_current_code.
  ** qmi_message_dms_set_service_programming_code_input_set_new
     was renamed to qmi_message_dms_set_service_programming_code_input_set_new_code.
  ** QMI_NAS_SIM_REJECT_STATE_SIM_VAILABLE was renamed to
     QMI_NAS_SIM_REJECT_STATE_SIM_AVAILABLE.

* libqmi-glib:
  ** Fixed QMI_DMS_BAND_CAPABILITY_BC_15 enum value so that it isn't treated as
     a negative value.

* qmicli:
  ** Fixed --dms-get-band-capabilities output on 32-bit platforms.
  ** Fixed license text of the voice service implementation.


Overview of changes in libqmi 1.14.0
----------------------------------------

* This version comes with a couple of small API breaks:
  ** ECIO value type in "NAS Event Report Indication" is given as unsigned.
  ** ECIO value in ECIO List array type in "NAS Get Signal Strenght" is given as
     unsigned.
  ** QMI_NAS_SIM_REJECT_STATE_SIM_AVAILABLE enum name was fixed.

* The library and tools now support working with modems which only implement raw
  IP (i.e. no ethernet headers) in the WWAN interface. This relies on the kernel
  to expose '/sys/class/net/<WWAN>/qmi/raw_ip' sysfs files for each WWAN network
  interface (available since Linux 4.5-rc1).

* New initial support for the 'Voice' service.

* New request/responses:
  ** wms: new "Get Supported Messages" request/response.
  ** wds: new "Get Supported Messages" request/response.
  ** voice: new "Get Supported Messages" request/response.
  ** uim: new "Get Supported Messages" request/response.
  ** nas: new "Get Supported Messages" request/response.
  ** wda: new "Get Supported Messages" request/response.
  ** dms: new "Get Supported Messages" request/response.
  ** wds: new "Set Autoconnect Setting" request/response.
  ** wds: new "Get Autoconnect Setting" request/response.
  ** wds: new "Get PDN Throttle Info" request/response.
  ** uim: new "Change PIN" request/response.
  ** uim: new "Unblock PIN" request/response.
  ** uim: new "Verify PIN" request/response.
  ** uim: new "Set PIN protection" request/response.
  ** voice: new "Dial Call" request/response.
  ** voice: new "End Call" request/response.
  ** voice: new "Answer Call" request/response.
  ** voice: new "Get Config" request/response.
  ** voice: new "Get Supported Messages" request/response.

* New indications:
  ** wms: new "SMSC Address" indication.
  ** pds: new "GPS Ready" indication.
  ** wds: new "Packet Service Status" indication.

* New TLVs supported in existing messages:
  ** wds: support "UMTS Granted QoS" TLV in 'Get Current Settings'.
  ** nas: support "Home Network 3GPP MNC" in "Get Home Network" to know whether
     MNC is 2 or 3 digits.

* The qmicli tool has been updated with several new functionalities:
  ** New '--get-wwan-iface' command line option to allow querying which is the
     WWAN interface associated with a given /dev/cdc-wdm device.
  ** New '--wds-get-current-settings' command line option to query the current
     settings in the WDS service.
  ** New '--get-expected-data-format' and '--set-expected-data-format' actions
     to get or set the data format expected by the kernel.
  ** LTE band descriptions are now printed along with the EARFCN.
  ** Updated '--wds-start-network' arguments to allow specifying "key=value"
     pairs. The old legacy "[(APN),(PAP|CHAP|BOTH),(Username),(Password)]"
     format is kept as valid for backwards compatibility, although it should be
     assumed deprecated.
  ** Updated '--wds-start/stop-network' to allow autoconnect settings, and 3GPP
     or 3GPP2 profile parameters.

* The qmi-network helper script has been updated with several new features:
  ** Allow running with the qmi-proxy.
  ** Allow running qmi-network with multiple devices at the same time.
  ** Automatic link layer protocol update before connecting.
  ** Allow specifying APN user/password.

* Added command completion support in qmicli.

* Other bugfixes and minor improvements.

The following features which were backported to 1.12.x releases are also present
in libqmi 1.14.0:

* New request/responses:
  ** dms: new "Set FCC Authentication" request/response.


Overview of changes in libqmi 1.12.0
----------------------------------------

* New `--enable-qmi-username' option during configure, which allows specifying
  which will be the user owning the /dev/cdc-wdm character devices of all QMI
  modems (udev rules are installed to change file ownership). If this option is
  used, the qmi-proxy will only allow connections from processes running by the
  specified user or by the root user.

* New TLV builder and reader API, which is much more strict and secure. The
  autogenerated code will no longer first check if there is enough space
  available in the output message buffer and then write the parsed contents.
  Instead, the new reader API will be used, which is able to check for the
  expected size directly before writing in the buffer.

* New unit tests to check messages built by the libqmi-glib library, using a
  fake proxy. In order to support these, the QmiDevice has two new properties:
  ** "device-no-file-check": instructs the QmiDevice to avoid checking if the
     specified file exists.
  ** "device-proxy-path": specifies a custom abstract socket path for the
     QmiProxy, to avoid using the default one.

* New A-GPS support in the PDS service:
  ** pds: added "Get Default Tracking Session" request/response
  ** pds: added "Set Default Tracking Session" request/response
  ** pds: added "Get AGPS Config" request/response
  ** pds: added "Set AGPS Config" request/response

* Updated minumum available version of several messages:
  ** dms: "UIM Get IMSI" seems to be available in DMS 1.1 already
  ** dms: "UIM Get ICCID" seems to be available in DMS 1.1 already

* Other bugfixes and minor improvements:
  ** Attach timeout and idle events to the thread-default context.
  ** Fix bashisms in the qmi-network script.
  ** Fix qmi_message_set_transaction_id() in non-CTL messages.
  ** Fix segfault due to race condition in the QmiProxy.
  ** Fixed printing contents of structs with fixed sized strings in qmi-codegen.


Overview of changes in libqmi 1.10.0
----------------------------------------

* Fixed default internal proxy timeout for requests.
* Added initial support for the WDA service.
* Added support for cell location info retrieval.
* Added support for UIM card status retrieval.
* Added support to specify net open flags in the command line.


Overview of changes in libqmi 1.8.0
----------------------------------------

This version comes with one small API break:
* Enum value QMI_SERVICE_RMTFS is not 0x14, but 14. I doubt anyone has been hit
  by this issue, anyway.

Additional changes include:
* Support for sharing the QMI port through multiple processes with the new
  'qmi-proxy' infrastructure.
* api: added new known service ID enumeration values
* wds: added "Get Profile List" request/response
* wds: added "Get Profile Settings" request/response
* wds: added "Get Default Settings" request/response
* cli: add --wds-get-profile-list
* cli: add --wds-get-default-settings
* man: added qmi-network manpage, autogenerated from --help-all


Overview of changes in libqmi 1.6.0
----------------------------------------

This version comes with one small API break:
* dms: 'SID' TLV in "Activate Manual" is a guint8, not a string

Additional changes include:
* Extended API with macros to check for the libqmi-glib version in use
* Setup libtool versioning in libqmi-glib
* Added initial support for the PBM (phonebook) service
* Added initial support for the UIM service
* Added initial support for the OMA (Open Mobile Alliance) service
* nas: added "Get Tx Rx Info" request/response
* wds: added "Get Packet Statistics" request/response
* dms: added support for the 'PRL' TLV in "Activate Manual"
* cli: add --nas-get-tx-rx-info
* cli: add --wds-get-packet-statistics
* cli: add --get-service-version-info
* cli: add --uim-read-transparent
* cli: add --uim-get-file-attributes
* cli: fix following network status until disconnected
* tests: use gtester to run unit tests
* man: added qmicli manpage, autogenerated from --help-all
* Also fixed several minor bugs and memory leaks


Overview of changes in libqmi 1.4.0
----------------------------------------

* dms: fix minimum version requirement for DMS Get/Set Operating Mode
* nas: added 'Network Time' indication
* utils: fix reading sized uints in BE systems
* cli: add --dms-activate-manual
* cli: implemented setting System Selection Preference
* cli: fix technology preference persistence reporting
* cli: fix reading new PIN in '--dms-uim-change-pin'
* docs: always generate documentation at dist time
* tests: fixed BE/LE tests in BE systems


Overview of changes in libqmi 1.2.0
----------------------------------------

* Builds with Python3
* Fixed DMS activation code string handling
* Enhanced "start network" functionality in qmicli


Overview of changes in libqmi 1.0
----------------------------------------

Initial release.