
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.
