ver 3.9:
	Fix issue with Access Point mode and frequency unlocking.
	Fix issue with network configuration and BSS retry logic.
	Fix issue with handling busy notification from Access Point.
	Fix issue with handling P-192, P-224 and P-521 for SAE.

ver 3.8:
	Fix issue with handling unit tests and missing kernel features.

ver 3.7:
	Fix issue with handling length of EncryptedSecurity.
	Fix issue with handling empty affinities lists.
	Fix issue with handling survey scanning results.
	Fix issue with handling duplicate values in DPP URI.

ver 3.6:
	Fix issue with handling blacklisting and roaming requests.
	Fix issue with handling CQM thresholds for FullMAC devices.
	Add support for PMKSA when using FullMAC devices.

ver 3.5:
	Add support for option to disable blacklist handling.
	Add support for option to disable SAE for broken drivers.

ver 3.4:
	Add support for the Test Anything Protocol.

ver 3.3:
	Fix issue with handling External Authentication.

ver 3.2:
	Fix issue with GCC 15 and -std=c23 build errors.
	Add support for using PMKSA over SAE if available.
	Add support for HighUtilization/StationCount thresholds.
	Add support for disabling Multicast RX option.

ver 3.1:
	Fix issue with handling OWE transition BSS selection.
	Fix issue with handling oper class 136 starting frequency.

ver 3.0:
	Fix issue with handling alpha2 code for United Kingdom.
	Fix issue with handling empty TX/RX bitrate attributes.
	Fix issue with handling RSSI polling fallback workaround.
	Fix issue with handling harmless cloned information elements.
	Add experimental support for External Authentication feature.

ver 2.22:
	Fix issue with handling the Affinities property.
	Fix issue with handling ConnectedAccessPoint signal when roaming.

ver 2.21:
	Fix issue with pending scan requests after regdom update.
	Fix issue with handling the rearming of the roaming timeout.
	Fix issue with survey request and externally triggered scans.
	Fix issue with RSSI fallback when setting CQM threshold fails.
	Fix issue with FT-over-Air without offchannel support.
	Add support for per station Affinities property.

ver 2.20:
	Fix issue with PKEX timeout and number of frequencies used.
	Fix issue with handling logic for handshake failures.
	Fix issue with handling ConnectedAccessPoint signal.

ver 2.19:
	Fix issue with handling flush flag for external scans.
	Fix issue with handling SNR calculation in ranking.

ver 2.18:
	Fix issue with handling BSS with invalid HE capabilities.
	Fix issue with neighbor reports with invalid country codes.
	Fix issue with EAP-TTLS Start packets with L flag set.
	Add support for enabling SAE for AP mode operation.

ver 2.17:
	Fix issue with handling deauthenticate on disconnect.
	Fix issue with handling of rate estimation errors.
	Fix issue with handling EAPOL frame listeners.

ver 2.16:
	Fix issue with uninitialized variable and DPP encrypt.
	Fix issue with Access Point mode and ATTR_MAC validation.
	Fix issue with Access Point mode and frequency attributes.
	Fix issue with P2P and handling client info description.
	Fix issue with P2P and handling parsing of service info.
	Fix issue with netconfig and handling domain list.
	Add support for forcing a default ECC group.

ver 2.15:
	Fix issue with notice events for connection timeouts.
	Fix issue with reason code and deauthenticate event.
	Fix issue with handling basename() functionality.

ver 2.14:
	Fix issue with accepting PTK 4/4 after receiving PTK 2/4.
	Fix issue with frequency limit for quick scans.
	Fix issue with limiting DHCPv4 attempts.

ver 2.13:
	Fix issue with handling netconfig and roaming conditions.
	Fix issue with logging requirement for CMD_EXTERNAL_AUTH.
	Fix issue with using OpenSSL 3.2 installations.

ver 2.12:
	Fix issue with DPP extra settings not being used.
	Fix issue with DPP and PRF+ handling on AARCH64.
	Add support for SAE password identifiers.

ver 2.11:
	Fix issue with handling iovecs with multiple IEs.
	Fix issue with handling SAE password identifiers.
	Fix issue with handling agent release method call.

ver 2.10:
	Fix issue with buffer overflow for 32 byte SSIDs.
	Fix issue with deauthentication before FT work completes.
	Fix issue with power save disabling procedure.

ver 2.9:
	Fix issue with handling certain FT failures.
	Fix issue with handling user-disabled bands.
	Fix issue with handling roam on beacon loss event.
	Add support for PKEX configurator.
	Add support for PKEX enrollee.

ver 2.8:
	Fix issue with handling OWE AKM in association reply.

ver 2.7:
	Fix issue with handling FT-8021X and SHA256 PMKID derivation.

ver 2.6:
	Add support for setting driver specific quirks.
	Add support for disabling power saving mode.

ver 2.5:
	Fix issue with HT40+/- checks when creating chandef.
	Fix issue with handling support for FT-8021X-SHA384.
	Fix issue with handling secure bit check in handshake 1/4.
	Fix issue with allowing roaming before netconfig finishes.
	Fix issue with double free when disconnecting during FT.

ver 2.4:
	Fix issue with FT-over-Air and same channel operation.
	Fix issue with AP mode and missing support for GTK.
	Fix issue with AP mode and channel switch event.
	Fix issue with SSID string conversion handling.

ver 2.3:
	Fix issue with length calculation for WMM IE.
	Fix issue with channel number allocation off-by-one.
	Fix issue with cached session when TLS phase2 fails.
	Add support for FastReauthentication setting for EAP-TLS.

ver 2.2:
	Fix issue with handling FT and multiple roaming scans.
	Fix issue with handling multiple wiphy registrations.
	Fix issue with with EAP-PEAP session resumption.
	Add support for using PTK rekeying in AP mode.
	Add support for setting country IE in AP mode.
	Add support for setting WMM parameter IE in AP mode.

ver 2.1:
	Fix issue with handling FT-over-DS action.
	Fix issue with handling scan and 6 GHz support check.
	Fix issue with handling when periodic scans get aborted.
	Add support for using 5 GHz frequencies in AP mode.

ver 2.0:
	Fix issue with handling P2P and limiting ciphers to CCMP.
	Fix issue with scanning before forced roaming action.
	Fix issue with provided scan frequencies from RRM.
	Fix issue with handling Michael MIC failure message.
	Fix issue with handling timestamp size in MPDU frames.
	Fix issue with handling enablement of OCVC for FT AKMs.
	Fix issue with handling FT work as highest priority.
	Fix issue with handling roaming events and Multi-BSS.
	Add support for utilizing roaming candidates list.
	Add support for utilizing TLS session caching.
	Add support for ciphers with 256 bits key size.
	Add support for Access Point mode with legacy TKIP.
	Add support for MAC address changes while powered.
	Add support for IPv4 and IPv6 network configuration.

ver 1.30:
	Fix issue with handling OWE if buggy AP is detected.
	Fix issue with handling quick scan and enabling 6GHz.
	Fix issue with handling tags for extended IEs.
	Add support for handling HE capabilities.
	Add support for handling regulatory domain changes.
	Add support for handling netdev packet loss events.

ver 1.29:
	Fix issue with handling EAP-Success message.
	Fix issue with handling secure setting and EAPoL.
	Add support for DeviceProvisioning API properties.

ver 1.28:
	Fix issue with handling invalid EAPoL frames.
	Fix issue with handling unexpectedly unencrypted EAP frames.
	Fix issue with handling AlwaysRandomizeAddress/AddressOverride.
	Fix issue with handling initial signal level notification.
	Fix issue with handling sorting of scan requests.
	Fix issue with handling frame type check in FT.

ver 1.27:
	Fix issue with hidden networks on connection error.
	Fix issue with directed roams if already trying to roam.
	Fix issue with checking for connected in FT frame event.

ver 1.26:
	Fix issue with handling BSS that changed frequency.
	Fix issue with handling frequencies in neighbor report.
	Fix issue with operating classes for 802.11ax standard.
	Fix issue with enforcing of MFPR for 6 GHz frequencies.
	Add support for band defined in the WiFi 6E amendment.
	Add support for scanning while in AP mode.

ver 1.25:
	Fix issue with handling abort of periodic scans.
	Fix issue with handling connection when link goes down.
	Fix issue with handling operating channel information.
	Add support for encrypted network profile storage.
	Add support for DPP initiating as a configurator.

ver 1.24:
	Fix issue with handshake and missing rekeying support.
	Fix issue with BSS ranking and zero signal strength.
	Fix issue with setting OWE IE length correctly.

ver 1.23:
	Fix issue with handling handshake offloading.
	Fix issue with at_console and D-Bus policy.

ver 1.22:
	Fix issue with handling periodic scanning.
	Fix issue with handling scanning completion.
	Fix issue with handling scanning for OWE auto-connect.
	Add support for additional DPP features.

ver 1.21:
	Fix issue with handling disconnect events issued by AP.
	Add experimental support for DPP feature.

ver 1.20:
	Fix issue with handling Hotspot 2.0 requirements.
	Add support for evict_nocarrier setting during roaming.
	Add support for experimental NetworkConfigurationAgent API.

ver 1.19:
	Fix issue with handling OCV if offloading is supported.
	Fix issue with handling SA Query on channel switch event.
	Fix issue with starting FT-over-DS actions after roaming.
	Add support for OWE transition networks.
	Add support for extended key IDs.

ver 1.18:
	Fix issue with handling faulty SAE duplicate commits.
	Add support for Access Point FILS IP Address Assignment IE.
	Add support for P2P GO-side 4-way handshake IP allocation.
	Add support for forcing SAE group 19 if BSS requires it.

ver 1.17:
	Fix issue with sending additional and vendor IEs.
	Fix issue with IE ordering for 802.11-2020 support.
	Fix issue with frequency update on channel switch events.
	Fix issue with drivers and handling of IF_OPER_UP setting.

ver 1.16:
	Fix issue with writing provisioning files with a passphrase.
	Add support for Authenticator & Supplicant RSN Extension elements.
	Add support for handling Transition Disable info.
	Add support for SAE Hash-to-Element feature.

ver 1.15:
	Add support for FT-over-DS procedure with multiple BSS.
	Add support for estimation of VHT RX data rate.
	Add support for exporting Daemon information.

ver 1.14:
	Fix issue with scanning property and quick scan cancellation.
	Fix issue with handling authentication timeouts from SAE.
	Fix issue with handling association timeouts and retries.
	Fix issue with handling roaming frequencies after roaming.
	Fix issue with requesting neighbor report after roaming.
	Add support for handling PSK offload connections.

ver 1.13:
	Fix issue with EAPoL protocol version 2010 handling.
	Fix issue with authenticator method logic handling.
	Fix issue with getting scan results from firmware.
	Add support for handling SAE offload connections.
	Add support for roaming with FullMAC devices.

ver 1.12:
	Fix issue with handling retry roaming without higher RSSI.
	Fix issue with WPA3, OWE and FILS authentication handling.
	Fix issue with handling locally generated deauth frames.
	Fix issue with quick scanning and connect interaction.
	Add support for diagnostic D-Bus interfaces.

ver 1.11:
	Add support for ACD client for static configuration.
	Add support for intelligent scan of all frequencies.

ver 1.10:
	Add support for DHCP v6 configuration.
	Add support for DHCP server operation with AP mode.
	Add support for IP allocation during the 4-Way Handshake.
	Add support for P2P Group-owner handling.

ver 1.9:
	Fix issue with WPA3 connections in transition mode.
	Fix issue with handling roaming attempt failures.
	Add support for radio management work queue.
	Add support P2P service manager interface.
	Add support for WiFi Display client API.

ver 1.8:
	Fix issue with handling FT AKMs when not supported.
	Fix issue with handling FILS and RSNE in authenticate.
	Fix issue with handling auto-connection and quick scan.
	Fix issue with sending multiple scan requests.
	Add support for P2P feature and API.

ver 1.7:
	Fix issue with APs that send IGTK falsely in big endian.
	Fix issue with setting linkmode & operstate for open networks.

ver 1.6:
	Fix issue with handling missing AP stop events.
	Fix issue with handling out-of-order disconnect events.
	Fix issue with handling missing auth/assoc support.
	Fix issue with handling omitted EAP-TLS-CACert.
	Fix issue with handling OWE PTK derivation.
	Add support for internal frame exchange API.
	Add support for MAC randomization and override.
	Add support for per-network MAC addresses.

ver 1.5:
	Fix issue with handling missing NEW_WIPHY events.
	Fix issue with interface creation and NEW_WIPHY events.
	Fix issue with handling LastConnectedTime property change.
	Fix issue with PEAPv0 interoperability with Windows.

ver 1.4:
	Fix issue with handling Crypto-Binding and invalid MACs.
	Fix issue with handling change station error results.
	Fix issue with handling DNS resolving installations.

ver 1.3:
	Fix issue with handling EAP-GTC and password requests.
	Fix issue with handling Crypto-Binding TLV for PEAPv0.
	Fix issue with handling key installation and PEAP Phase 2.
	Fix issue with handling externally triggered scan requests.
	Fix issue with handling RCPI calculation for RRM requests.

ver 1.2:
	Fix issue with handling scan requests while connecting.
	Fix issue with handling scan duration for RRM requests.
	Fix issue with handling parent TSF value for RRM requests.

ver 1.1:
	Fix issue with simple configuration support checks.
	Fix issue with handling TLS tunnel and PEAPv0.
	Add support for radio resource management.

ver 1.0:
	Add support for stable D-Bus interfaces.
	Add support for network configuration documentation.

ver 0.23:
	Fix issue with strict certificate chain checks.
	Fix issue with parsing RSNE_ADVANCE information.
	Fix issue with parsing RSN information for WPA1.
	Fix issue with logic error in scan frequency validation.
	Fix issue with integer overflow and authentication frames.
	Add support for installing various manual pages.

ver 0.22:
	Fix issue with hotplug and device capability detection.
	Add support for IPv6 network configuration handling.
	Add support for embedding certificates in profiles.

ver 0.21:
	Fix issue with cleartext ACK and tunneled EAP-Success.
	Fix issue with setting bits in extended capabilities.
	Fix issue with WPA-1 information element parsing.
	Add support for handling QoS Map IE and frames.
	Add support for STATE_DIRECTORY environment.
	Add support for CONFIGURATION_DIRECTORY environment.

ver 0.20:
	Add support for adding Extended Capabilities bits.
	Add support for ServerDomainMask configuration option.

ver 0.19:
	Add support for Hotspot 2.0 functionality.
	Add support for FILS Fast Transition feature.
	Add support for network configuration handling.
	Add support for resolution services framework.

ver 0.18:
	Fix issue with handling stale scan results.
	Fix issue with handling OWE group renegotiation.
	Fix issue with handshake failures on FT-PSK.
	Add support for FILS (Fast Initial Link Setup).

ver 0.17:
	Fix issue with handling association failure path.
	Fix issue with handling checks for valid ECC point/scalar.
	Fix issue with handling potential infinite loop and SAE.
	Fix issue with handling randomization for passive scans.
	Add support for randomization of SN for probe requests.
	Add support for handling the FILS cipher suites.
	Add support for ERP key caching feature.

ver 0.16:
	Add missing pkcs8.conf for module loading.

ver 0.15:
	Fix issue with handling RSSI thresholds.
	Fix issue with handling abort for a connection.
	Fix issue with stopping Access Point operation.
	Add support for individual BSS blacklisting.
	Add support for utilizing MAC randomization.
	Add support for utilizing different key lengths.
	Add support for 16, 24 and 32 byte MIC lengths.
	Add support for handling driver rekying feature.

ver 0.14:
	Add support for tunneled MSCHAPv2 authentication.

ver 0.13:
	Fix issue with WSC interface runtime handling.
	Add support for Opportunistic Wireless Encryption.
	Add support for common EAP-TLS framework.

ver 0.12:
	Fix issue with handling 802.1x automatic connection.
	Fix issue with handling missing support for backtrace.

ver 0.11:
	Fix issue with handling EAP-TTLS and redundant L flags.
	Fix issue with handling EAP-TLS upper limit on request size.
	Fix issue with handling handshake complete after setting keys.
	Fix issue with handling access points with too many rates.
	Fix issue with requiring PSK if passphrase is present.
	Add support for retrieving list of hidden access points.
	Add support for tunneled MS-CHAP.

ver 0.10:
	Fix issue with Ethernet authentication packet handling.
	Fix issue with ad-hoc network scan results in station mode.
	Fix issue with cancellation of ongoing rekey offload.
	Add support for setting per-mac GTK credentials.
	Add support for using external Embedded Linux library.

ver 0.9:
	Fix issue with handling EAP-WSC passwords.
	Add support for TTLS-CHAP and TTLS-PAP.
	Add support for handling FT over SAE.

ver 0.8:
	Fix issue with handling EAP_CACHE_NEVER secret types.
	Fix issue with redundant usage of the L flag and PEAP.
	Fix issue with EAP type 33 as termination mechanism for PEAPv1.
	Add initial version of Ethernet authentication daemon.
	Add support for Station mode interface.

ver 0.7:
	Fix issue with hard coded peer address and SAE networks.
	Fix issue with raw passphrase requirement and SAE networks.
	Fix issue with differentiating authenticator and supplicant.
	Fix issue with timestamps comparison of known networks.
	Fix issue with handling cancellation of power callbacks.
	Fix issue with honoring auto-connect setting on power up.
	Fix issue with crash during operstate callbacks.

ver 0.6:
	Fix issue with syncing the PSK on first connection.
	Fix issue with unnecessary known object removal events.

ver 0.5:
	Fix issue with EAPoL handling and Ad-Hoc networks.
	Add support for using agent with EAP-GTC methods.
	Add support for improved Known Networks management.
	Add support for Simultaneous Authentication of Equals.
	Add support for exposing supported modes of operation.
	Add support for D-Bus auto-activation via systemd.

ver 0.4:
	Fix issue with handling all zero PMKID.
	Fix issue with handling PEAP servers and M bit requirement.
	Fix issue with handling MS-CHAP v2 and uninitialized memory.
	Fix issue with handling memory leak and aborting connections.
	Fix issue with handling memory leak and PSK configuration.
	Fix issue with handling not yet running D-Bus daemon.
	Add support for advanced scanning of hidden networks.
	Add support for MAC address randomization.
	Add support for Ad-Hoc network interface.
	Add support for Access Point interface.

ver 0.3:
	Fix issue with auto-connect settings for open networks.
	Fix issue with handling beacon loss in roaming situations.
	Fix issue with handling bridged wireless network interfaces.
	Fix issue with handling EAP identity prompt or notification.
	Fix issue with handling EAP state reset and reauthentication.
	Add support for user specified hidden network connections.
	Add support for configuring WDS / 4ADDR operation.

ver 0.2:
	Fix issue with unsupported bands from roam scan frequency set.
	Fix issue with handling disconnect by AP and by SME events.
	Fix issue with string start calculation for MS-CHAP v2.
	Add workaround for 0 oper class in neighbor report.
	Add support for EAPoL over NL80211 kernel feature.
	Add support for EAP-PWD authentication method.
	Add support for EAP-GTC authentication method.
	Add support for agent functionality to client.

ver 0.1:
	Initial public release.
