CHANGELOG.md
<!-- markdownlint-disable-file MD024 -->
# Changelog
This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [v0.10.0] - 2024-07-25
## Changed
* Trim invalid characters from `QMI_NAS_GET_SYS_INFO` MCC and MNC values
## [v0.9.0] - 2024-07-25
## Changed
* Require Elixir 1.14 and OTP 25
### Added
* Add `QMI_NAS_GET_SYS_INFO` and `QMI_NAS_GET_CELL_LOCATION_INFO`
## [v0.8.6] - 2023-09-08
## Changed
* Fix Elixir and C compilation warnings
* Improved specs
## [v0.8.5] - 2023-04-01
### Fixes
* Fixed incorrect enum value for serving system registration state reports. This
could cause crashes if the value 3 (registration denied) was received.
* Fixed spelling of `:fw_update_discontinuous_frame`
## [v0.8.4] - 2022-04-25
### Added
* `QMI.WirelessData.modify_profile_settings/3` function
* Can pass 3GPP profile index to `QMI.WirelessData.start_network_interface/2`
* `:roaming_preference` option to
`QMI.NetworkAccess.set_system_selection_preference/2`
* `QMI.Codec.WirelessData.modify_profile_settings/2` function
* `QMI.Codec.WirelessData.profile_setting()` type
* `QMI.Codec.WirelessData.profile_type()` type
* `:profile_3gpp_index` option
`QMI.Codec.WirelessData.start_network_interface_opt()` type
## [v0.8.3] - 2022-02-10
### Added
Support for getting and setting modem operating mode and support for getting
and setting configuration for the modem's radio technology preference.
* `QMI.DeviceManagement.get_operating_mode/1` (@jjcarstens)
* `QMI.DeviceManagement.set_operating_mode/2` (@jjcarstens)
* `QMI.Codec.DeviceManagement.get_operating_mode/0` (@jjcarstens)
* `QMI.Codec.DeviceManagement.set_operating_mode/1` (@jjcarstens)
* `QMI.NetworkAccess.get_system_selection_preference/1`
* `QMI.NetworkAccess.set_system_selection_preference/2`
* `QMI.Codec.NetworkAccess.get_system_selection_preference/0`
* `QMI.Codec.NetworkAccess.set_system_selection_preference/1`
## [v0.8.2] - 2021-10-21
### Added
* Basic parsing of the NAS operator name indication
## [v0.8.1] - 2021-09-21
### Fixes
* Wrong value for TX/RX stats that have no data to report yet
* Actually parse TX/RX packets drop count
## [v0.8.0] - 2021-09-21
This release breaks the type `QMI.Codec.NetworkAccess.rf_band_information()` by
changing the `:band` field to a string for a more user friendly description of
the current active band.
### Changed
* Changed `QMI.Codec.NetworkAccess.rf_band_information()` field `:band` from
`integer()` to `binary()`
## [v0.7.1] - 2021-09-16
### Added
* `QMI.NetworkAccess.get_rf_band_info/1` to get band and channel information
* `QMI.WirelessData.set_event_report/2` to configure the wireless data service
to report transmit and receive stats
* Parsing for wireless data service's event report indication
* `QMI.Codec.WirelessData.set_event_report/1`
* `QMI.Codec.NetworkAccess.get_rf_band_info/0`
### Changed
* `QMI.request()` decode function type now allows returning `:ok` for request
that who's response does not contain any information.
## [v0.7.0] - 2021-09-02
### Changed
* Changed `QMI.Codec.NetworkAccess.serving_system_indication()` time zone
fields to match Elixir's `Calendar` module:
* `:timezone_offset` is now `:utc_offset`
* `:daylight_saving_adjustment` is now `:std_offset`
## [v0.6.5] - 2021-09-01
### Added
* `:cell_id` to the serving system indication (this is an optional field)
* `:timezone_offset` to the serving system indication (this is an optional
field)
* `:location_area_code` to the serving system indication (this is an optional
field)
* `:network_datetime` to the serving system indication (this is an optional
field)
* `:roaming` to the serving system indication (this is an optional field)
* `:network_datetime` to the serving system indication (this is an optional
field)
* `:daylight_saving_adjustment` to the serving system indication (this is an
optional field)
## [v0.6.4] - 2021-08-30
### Added
* `:provider` field to the `QMI.NetworkAccess.get_home_network/1` response
## [v0.6.3] - 2021-08-25
### Added
* `QMI.DeviceManagement.get_device_serial_numbers/1`
* Support for Wireless Data Service packet status indication
## [v0.6.2] - 2021-08-20
### Added
* `QMI.DeviceManagement.get_manufacturer/1`
* `QMI.DeviceManagement.get_model/1`
* `QMI.DeviceManagement.get_hardware_rev/1`
## [v0.6.1] - 2021-08-05
### Fixes
* A crash when a response is received after the request has timed out
## [v0.6.0] - 2021-05-27
### Changed
* `QMI.Codec.Indications` to be an internal module
## [v0.5.1] - 2021-05-25
### Added
* `QMI.UserIdentity.read_transparent/3`
* `QMI.UserIdentity.parse_iccid/1`
* Error reasons returned from sending a request
### Fixes
* Timeout crash when requesting a new client id
## [v0.5.0] - 2021-05-14
### Added
* Support for QMI indications
## [v0.4.0] - 2021-05-10
### Changes
* Supervision tree to support driver crashes (backwards incompatible)
## [v0.3.1] - 2021-04-27
### Fixes
* Type spec for `QMI.Codec.NetworkAccess.home_network_report()`
* Error when the device closes and QMI retries to open the device
## [v0.3.0] - 2021-04-26
### Changes
* Rename `:rssis` to `:rssi_reports` in the
`QMI.Codec.NetworkAccess.signal_strength_report()`
## [v0.2.0] - 2021-04-16
Major refactor
## v0.1.0 - 2021-03-17
Initial release
[v0.9.0]: https://github.com/nerves-networking/qmi/compare/v0.8.6...v0.9.0
[v0.8.6]: https://github.com/nerves-networking/qmi/compare/v0.8.5...v0.8.6
[v0.8.5]: https://github.com/nerves-networking/qmi/compare/v0.8.4...v0.8.5
[v0.8.4]: https://github.com/nerves-networking/qmi/compare/v0.8.3...v0.8.4
[v0.8.3]: https://github.com/nerves-networking/qmi/compare/v0.8.2...v0.8.3
[v0.8.2]: https://github.com/nerves-networking/qmi/compare/v0.8.1...v0.8.2
[v0.8.1]: https://github.com/nerves-networking/qmi/compare/v0.8.0...v0.8.1
[v0.8.0]: https://github.com/nerves-networking/qmi/compare/v0.7.1...v0.8.0
[v0.7.1]: https://github.com/nerves-networking/qmi/compare/v0.7.0...v0.7.1
[v0.7.0]: https://github.com/nerves-networking/qmi/compare/v0.6.5...v0.7.0
[v0.6.5]: https://github.com/nerves-networking/qmi/compare/v0.6.4...v0.6.5
[v0.6.4]: https://github.com/nerves-networking/qmi/compare/v0.6.3...v0.6.4
[v0.6.3]: https://github.com/nerves-networking/qmi/compare/v0.6.2...v0.6.3
[v0.6.2]: https://github.com/nerves-networking/qmi/compare/v0.6.1...v0.6.2
[v0.6.1]: https://github.com/nerves-networking/qmi/compare/v0.6.0...v0.6.1
[v0.6.0]: https://github.com/nerves-networking/qmi/compare/v0.5.0...v0.6.0
[v0.5.1]: https://github.com/nerves-networking/qmi/compare/v0.5.0...v0.5.1
[v0.5.0]: https://github.com/nerves-networking/qmi/compare/v0.4.0...v0.5.0
[v0.4.0]: https://github.com/nerves-networking/qmi/compare/v0.3.1...v0.4.0
[v0.3.1]: https://github.com/nerves-networking/qmi/compare/v0.3.0...v0.3.1
[v0.3.0]: https://github.com/nerves-networking/qmi/compare/v0.2.0...v0.3.0
[v0.2.0]: https://github.com/nerves-networking/qmi/compare/v0.1.0...v0.2.0