
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.
