ver 1.29:
	Fix issue with IPv6 autoconfiguration when disabled.
	Fix issue with IPv6 temporary route handling.
	Fix issue with IPv6 timers for nameservers.
	Fix issue with DHPCv6 and route configuration.
	Fix issue with DHCPv6 source port and buggy servers.
	Fix issue with DHCPv6 rapid commit option length.
	Fix issue with DHCPv6 rapid commit error handling.
	Fix issue with handling invalid WiFi passphrases.
	Fix issue with connecting Ethernet devices.
	Add support for Ethernet and VLAN usage.

ver 1.28:
	Fix issue with DHCPv6 re-transmission timer.
	Fix issue with DHCP service ID option byte order.
	Fix issue with IPv6 connections and SLAAC/DHCPv6.
	Fix issue with telephony and IPv6 autoconfiguration.
	Fix issue with Bluetooth technology setting changes.
	Fix issue with WiFi autoscan interval calculation.
	Fix issue with WiFi and missing BSS signal strength.
	Add support for IPv4 information for WiFi Display.

ver 1.27:
	Fix issue with memory leak in IP configuration.
	Fix issue with providing random numbers for DHCP.
	Fix issue with handling IN_MOVED_TO inotify events.
	Fix issue with channel selection for WiFi scanning.
	Add support for handling Bluetooth GN and PANU roles.

ver 1.26:
	Fix issue with missing WiFi security provisioning support.
	Fix issue with immutable setting and provisioned services.
	Fix issue with scheduling DNS cache cleanup procedure.
	Fix issue with IPv6 Privacy setting on service removal.
	Fix issue with DHCPv6 CONFIRM message sending procedure.
	Fix issue with DHCPv6 lease expiration handling support.
	Fix issue with DHCPv4 networks and broadcast flag handling.
	Fix issue with DHCPv4 networks without gateway configuration.
	Fix issue with P2P Peer authorization handling.
	Fix issue with P2P Peer service registration.
	Add support for WiFi Display information elements.
	Add support for systemd-hostnamed integration.

ver 1.25:
	Fix issue with handling rebind timer for DHCPv6.
	Fix issue with handling DHCP renew transaction.
	Fix issue with user supplied proxy settings and DHCP.
	Fix issue with extra status codes from captive portals.
	Fix issue with service idle state reset on failure.
	Fix issue with DNS label compression handling.
	Add support for experimental P2P Peer service.

ver 1.24:
	Fix issue with handling slave interfaces.
	Fix issue with handling DHCPv4 broadcast flag.
	Fix issue with handling DHCPv4 lease expiration.
	Fix issue with handling WiFi auto-scanning timeout.
	Fix issue with handling domain and DNS server changes.
	Fix issue with double free and agent messages.

ver 1.23:
	Fix issue with memory leak in technology handling.
	Fix issue with not removing host route of OpenVPN.
	Fix issue with double free in DHCP cleanup handling.
	Fix issue with handling DHCP method from oFono.
	Fix issue with IPv6-PD when disabling tethering.
	Fix issue with DNS proxy when disabling tethering.
	Fix issue with Bluetooth start and stop interaction.
	Fix issue with Bluetooth PAN networks on adapter change.

ver 1.22:
	Fix issue with WPS state synchronization.
	Fix issue with DNS servers and default service.
	Fix issue with DHCP client and rebooting state.
	Add support for NTP exponential backoff handling.
	Add support for NTP kiss-of-death packet handling.
	Add support for Ethernet gadget networking.

ver 1.21:
	Fix issue with WiFi networks and zero SSID length.
	Fix issue with security details for hidden WiFi networks.
	Fix issue with handling IPv6 proxy address resolving.
	Fix issue with enabling Bluetooth controllers.

ver 1.20:
	Fix issue with invalid cache of DNS proxy support.
	Fix issue with stopping DHCP for failed connections.
	Fix issue with not stopping IPv4 Link-Local state machine.
	Fix issue with service type handling for unknown interfaces.
	Fix issue with using interface names instead of indexes.
	Fix issue with resetting network retry counter on failure.
	Fix issue with using nameservers when its type is not enabled.
	Fix issue with fallback nameservers not being used.
	Add support for NTP version 3 protocol.

ver 1.19:
	Fix issue with not correctly storing IPv4 method.
	Fix issue with changing the default service too early.
	Fix issue with service reference count and WISPr checks.
	Fix issue with service auto-connect handling and ordering.
	Fix issue with host and domain names when service changes.
	Fix issue with proxy result and WISPr handling.
	Fix issue with proxy reset when disconnecting.
	Fix issue with handling fallback nameservers.
	Add support for multiple agents.

ver 1.18:
	Fix issue with alignment calculation for iptables.
	Fix issue with WEP key index parameter handling.
	Fix issue with handling of 802.1x credentials.
	Fix issue with command line parameter parsing.
	Add support for completion handling in client tool.

ver 1.17:
	Fix issue with handling consecutive WiFi scanning.
	Fix issue with WiFi handling and RFKILL soft block.
	Fix issue with handling external RFKILL events.
	Fix issue with handling USB gadget devices.
	Fix issue with network reference handling.
	Fix issue with byte order and DHCP discover options.
	Fix issue with DHCP retry handling during IPv4-LL.
	Fix issue with DHCPv6 rebind handling.
	Add support for DHCPv6 decline message handling.
	Add support for DHCPv6 duplicate address detection.

ver 1.16:
	Fix issue with missing signals during connection changes.
	Fix issue with missing notification of proxy properties.
	Fix issue with missing DHCPv6 domain list option.
	Fix issue with missing DHCPv6 release message.
	Fix issue with missing DHCPv6 error handling.
	Fix issue with wrong IPCMv6 checksum calculation.
	Fix issue with wrong service disconnect state.
	Fix issue with failure to enable offline mode.
	Add support for Netfilter Accounting (NFACCT).
	Add support for IPv6 prefix delegation handling.

ver 1.15:
	Fix issue with missing cleanup for IPv4-LL handling.
	Fix issue with missing property update for domain names.
	Fix issue with scanning for all stored hidden WiFi networks.
	Fix issue with time server polling for non-default service.
	Fix issue with persistent storage of time configuration.

ver 1.14:
	Fix issue with WiFi scanning race condition and power cycle.
	Add support for configuring allowed tethering technologies.
	Add support for persistent tethering configurations.
	Add support for DHCPv6 max retransmission duration option.
	Add support for DHCPv6 elapsed time option.
	Add support for DHCPv6 confirm messages.

ver 1.13:
	Fix issue with auto-scanning of known hidden SSIDs.
	Fix issue with not correctly terminated auto-scanning.
	Fix issue with missing enforcing of immutable services.
	Fix issue with missing handling of multiple connection attempts.
	Fix issue with missing WISPr restart after nameserver change.
	Fix issue with missing provisioning for IP address method.
	Fix issue with missing IP configuration signal on disconnect.
	Fix issue with DNS proxy and memory leaks on request timeouts.
	Fix issue with DNS proxy and handling partial TCP messages.
	Fix issue with DNS proxy and handling of EDNS0 buffers.
	Fix issue with DNS proxy and handling of IPv6 loopback.
	Fix issue with DNS proxy listening on all interfaces.
	Fix issue with CDMA network creation.

ver 1.12:
	Fix issue with overwriting gateway address.
	Fix issue with missing IP address validation.
	Fix issue with parsing of IPv6 configuration settings.
	Fix issue with DHCP server address stored in host order.
	Fix issue with resolver query failures and pending results.
	Fix issue with wrongly reported max scan SSID parameter.
	Fix issue with handling errors from WiFi fast scanning.
	Add support for WiFi provisioning via NFC.
	Add support for VPN daemon provisioning.
	Add support for Ethernet provisioning.

ver 1.11:
	Fix issue with agent reference counting imbalance.
	Fix issue with handling max number of SSID for scanning.
	Fix issue with missing notification of online state changes.
	Fix issue with not properly triggering auto-connect behavior.
	Fix issue with disabling IPv6 in lower up interface states.
	Fix issue with spurious error messages for interface handling.
	Fix issue with wrong answer count in DNS responses.
	Fix issue with crash in DNS lookup function.
	Add support for BlueZ 5.x network interfaces.
	Remove deprecated WiMAX support.

ver 1.10:
	Fix issue with not skipping service if settings loading fails.
	Fix issue with not clearing address before starting DHCP.
	Fix issue with not handling removal of GPRS context.
	Fix issue with not closing UDP socket on error condition.
	Fix issue with race condition when removing WiFi device.
	Add support for separate VPN daemon.

ver 1.9:
	Fix issue with WISPr portal context handling.
	Fix issue with DNS lookup from wrong queue.
	Fix issue with DNS data reception after disconnect.
	Fix issue with missing DNS host part length checking.
	Fix issue with RFKILL and technology interaction.
	Fix issue with tethering and disabled technologies.
	Add support for single connected technology setting.

ver 1.8:
	Fix issue with NTP transmit time calculation.
	Fix issue with WiFi Tethering and newer kernels.
	Fix issue with Netlink messages from Wireless Extensions.
	Fix issue with IPv6 nameserver refresh beeing applied to IPv4.
	Fix issue with overwriting DNS proxy address information.
	Fix issue with missing handling of RFKILL hard blocking.
	Add support for disabling internal backtrace functionality.

ver 1.7:
	Fix issue with IPv4 address removal when setting interface down.
	Fix issue with wrong error when setting tethering support option.
	Fix issue with errors reported twice via agent to the client.
	Fix issue with missing serialization of agent callbacks.
	Add initial version of command line client tool.

ver 1.6:
	Fix issue with Bluetooth networking support.
	Fix issue with technology enabling method returns.
	Fix issue with wrong IP address for fixed configurations.
	Fix issue with IP address setting when interface is down.
	Fix issue with handling duplicate hidden WiFi networks.
	Fix issue with missing scanning for hidden WiFi networks.
	Fix issue with missing update of service properties.
	Fix issue with missing clearing of service errors.
	Add manual pages for daemon and configuration file.

ver 1.5:
	Fix issue with detecting Bluetooth networks when powered off.
	Fix issue with connection attempts of non-favorite services.
	Fix issue with connection attempts of disabled IP configurations.
	Fix issue with missing auto-connection after changing IP method.
	Fix issue with setting service state when changing IPv4 method.
	Fix issue with IPv6 usage and static/manual configuration.
	Add support for configuration option to disable hostname updates.
	Add support for storing WiFi Tethering identifier and passphrase.
	Add support for signaling changes of error property.

ver 1.4:
	Fix issue with WiFi scanning in Tethering mode.
	Fix issue with WISPr operation and disconnects.
	Fix issue with DHCP client and restart behavior.
	Fix issue with DNS resolving and failing IPv6 records.
	Fix issue with incorrect NTP leap-not-in-sync flag.
	Fix issue with incorrect NTP transmit time value.
	Fix issue with failing NTP server due to routing.
	Fix issue with missing gateway change notification.
	Fix issue with stale network interfaces at startup.
	Fix issue with pending method reply and agent errors.
	Add support for providing previous WPS PIN to agent.
	Add support for WPA supplicant based auto-scanning.
	Add support for per device regulatory domain setting.
	Add support for provisioning hidden WiFi networks.

ver 1.3:
	Fix issue with default configuration values.
	Fix issue with timeserver canonical name entries.
	Fix issue with crash from cellular dummy context.
	Fix issue with incorrect index for private networks.

ver 1.2:
	Fix issue with not handling WiFi security changes.
	Fix issue with not stopping WiFi scanning on shutdown.
	Fix issue with auto-scanning and network discovery.
	Fix issue with D-Bus reply for hidden WiFi networks.
	Fix issue with overlapping memory areas and DNS requests.
	Add support for randomized DNS transaction identifiers.
	Add support for DNS caching over TCP connections.
	Add support for using default IPv6 privacy setting.
	Add support for providing previous passphrase to agent.
	Add support for configuration unprovisioning handling.
	Add support for NetworkInterfaceBlacklist configuration.
	Add support for Bluetooth DUN daemon (dundee).

ver 1.1:
	Fix issue with missing message type and DHCPv4 support.
	Fix issue with potential NULL pointer in DHCPv6 handling.
	Fix issue with potential NULL pointer in VPN handling.
	Fix issue with potential NULL pointer for WiFi SSID.
	Fix issue with missing conversion of raw WiFi PSK input.
	Fix issue with missing stop for WiFi auto-scanning handling.
	Fix issue with uninitialized IPv6 prefix length in oFono plugin.
	Fix issue with domain search list handling according to RFC 6106.
	Fix issue with domain name list notifications.
	Fix issue with nameserver list notifications.
	Fix issue with incorrect fixed IP configuration.
	Fix issue with incorrect cleanup of resolver timers.
	Fix issue with handling of RDNSS lifetime expiration.
	Fix issue with crash on wrong domain length information.
	Add support for favorite service database migration.
	Add support for disabling WISPr functionality.
	Add support for configurable agent timeouts.

ver 1.0:
	Fix issue with missing WiFi disconnecting flag.
	Fix issue with missing GPRS context attached check.
	Fix issue with potential crash and supplicant handling.
	Fix issue with potential crash and VPN provider.
	Fix issue with potential crash and host routes.

ver 0.85:
	Fix issue with duplicate service timeservers.
	Fix issue with failure state when aborting agent request.
	Fix issue with automatic scanning for hidden WiFi networks.
	Fix issue with missing hostname/domainname validity checks.
	Fix issue with missing DHCP packet length checks.
	Add support for browser launching from WISPr login.

ver 0.84:
	Fix issue with handling changed WiFi security of access points.
	Fix issue with state notification of NetworkManager compatibility.

ver 0.83:
	Fix issue with Ethernet not being enabled by default.
	Fix issue with missing host routes for WISPr request.
	Fix issue with missing HTTPS handling for WISPr support.
	Fix issue with agent asking for passphrase for open service.
	Fix issue with endless online check for preferred technology.
	Fix issue with IPv6 RDNSS and DNS server creation.
	Fix issue with WiFi roaming state change handling.
	Fix issue with broken handling of WPS PBC method.

ver 0.82:
	Fix issue with global online state handling.
	Fix issue with timeserver handling in case of VPN.
	Fix issue with automatic WiFi scanning handling.
	Fix issue with WPS PIN length of zero and PBC.

ver 0.81:
	Update default configuration options.
	Add support for WPS PBC advertising handling.
	Add support for wpa_supplicant background scanning.
	Fix issue with showing cellular services without APN.
	Fix issue with missing timeservers changed signal.

ver 0.80:
	Update to support additional D-Bus API changes.
	Add support for preferred technologies switching.
	Add support for default auto connect technologies option.
	Add support for service specific timeserver configuration.
	Add support for extended timeserver fallback functionality.
	Add support for extended nameserver fallback functionality.
	Add support for user supplied routes for providers.
	Add support for checking WiFi passphrase validity.
	Fix issue with WISPr support and proxy handling.
	Fix issue with Ethernet and auto connect handling.
	Fix issue with too early IPv6 auto connection.
	Fix issue with too early 6to4 connection checks.
	Fix issue with oFono interaction on disconnect.
	Fix issue with DNS servers behind point-to-point links.
	Fix issue with pending DNS proxy requests.
	Fix multiple issues with VPN handling.
	Fix multiple issues with default gateway handling.

ver 0.79:
	Update to support changed D-Bus API.
	Add support for WiFi background scanning.
	Add support for showing hidden WiFi networks as services.
	Add support for generic stateless DHCPv6 handling.
	Add support for DHCPv4 client identifier handling.
	Add support for generic IP address pool handling.
	Add support for global DNS cache handling.
	Add support for internal NTP time handling.
	Add support for updated oFono handling.

ver 0.78:
	Fix multiple issues with service connection states.
	Fix multiple issues with technology handling.
	Fix issue with DHCP file descriptor leakage.
	Fix issue with open access points and WPS.
	Fix issue with handling of cellular devices.
	Fix issue with DNS proxy hostname resolving.
	Add support for PPTP and L2TP VPN tunneling.
	Add support for organized settings storage.
	Add support for WiFi fast connect handling.
	Add support for better WiFi error handling.
	Add support for integrated WISPr handling.

ver 0.77:
	Fix issue with iptables API breakage.
	Fix issue with agent input handling.
	Fix issue with empty cellular operator name.
	Fix issue with reference counting for network objects.
	Fix issue with missing D-Bus signals for proxy changes.
	Fix issue with group identifier and hidden WiFi networks.
	Fix issue with setting wrong gateway for PPP connections.
	Fix issue with mismatch of stored IP configuration settings.
	Fix issue with not stopping DHCP for IPv4 configuration.
	Add support for remembering last IP address from DHCP.
	Add support for EAP-GTC authentication method.

ver 0.76:
	Fix issue with loopback interface setup.
	Fix issue with /etc/localtime being a symlink.
	Fix issue with not handling dummy network devices.
	Fix issue with not provisioning existing services.
	Fix issue with running WPAD on IPv6 connections.
	Fix issue with client certificate for TTLS/PEAP.
	Remove internal element infrastructure.

ver 0.75:
	Fix issue with 3G connect timeout handling.
	Fix issue with WiFi raw key PSK handling.
	Fix issue with DHCP renewal timeout handling.
	Fix issue with DHCP and empty nameserver list.
	Add support for unit testing.

ver 0.74:
	Fix issue with race condition in ready/online handling.
	Fix issue with DHCP release callback handling.
	Fix multiple issues with session API handling.
	Add support for using DNS proxy for Tethering.
	Add support for Private Network API.
	Add support for Clock API.

ver 0.73:
	Update support for session API handling.
	Add support for more advanced roaming policies.
	Add support for EAP identity and passphrase queries.
	Add support for IPv6 handling with cellular bearer.
	Add support for main configuration file.
	Remove deprecated profile interface.

ver 0.72:
	Fix issue with overwriting DNS servers from DHCP.
	Fix issue with DHCP renewal with same configuration.
	Fix issue with multiple memory leaks.
	Add support for 6to4 tunneling.

ver 0.71:
	Fix issue with not storing IPv6 privacy settings.
	Fix issue with storing fixed and manual IP settings.
	Fix issue with service state when PAN connection fails.
	Fix issue with tethering and WiFi bridge handling.
	Fix issue with autonomously activated contexts.
	Fix issue with nameserver array for PACrunner.
	Fix issue with network information memory leak.
	Fix issue with double-free in statistics handling.
	Fix issue with handling malformed profiles.
	Fix issue with pending DHCP client requests.
	Add initial support for TI shared transport handling.

ver 0.70:
	Add support for reporting invalid WiFi passphrases.
	Add support for IPv6 privacy extension.
	Add support for IPv6 advanced features.
	Add support for IPv6 nameserver settings.
	Remove deprecated APN service settings.

ver 0.69:
	Fix issue with not handling DNS proxy failures gracefully.
	Fix issue with double free in statistics handling.
	Fix issue with early tethering bridge creation.
	Add support for tethering property per technology.
	Add support for initial WiFi tethering feature.
	Add support for using PACrunner as proxy driver.
	Add support for WPS as part of the security property.

ver 0.68:
	Fix issue with wrong name of PolicyKit configuration file.
	Fix issue with inconsistency of WiFi scan states.
	Fix issue with missing auto-reconnect and oFono.
	Add support for vpnc based private networks.
	Add support for WiFi Protected Setup handling.
	Remove legacy WiFi plugin.

ver 0.67:
	Fix issue with oFono plugin and multiple online calls.
	Fix issue with checking for AutoConnect service property.
	Remove deprecated MCC and MNC service properties.

ver 0.66:
	Fix multiple set of memory leaks.
	Fix issue with WPA supplicant phase2 values.
	Fix issue with WiFi access points after kill/restart.
	Fix issue with correct PACrunner configuration loading.
	Add support for loading provision files at runtime.
	Add support for setting proxy auto-configuration.
	Add support for IPv6 auto-configured addresses.

ver 0.65:
	Use new WiFi plugin by default.
	Fix issue with handling already powered devices.
	Fix issue with handling proxy PAC option from DHCP.
	Add support for handling regulatory domain settings.
	Add support for handling IPv6 router advertisements.
	Add support for handling IPv6 nameservers.
	Add support for handling multiple search domains.
	Add support for handling oFono modem lockdown.
	Add support for handling IPv6 DNS connections.
	Add support for IPv4 Link-Local negotiation.
	Add support for USB CDC Tethering functionality.

ver 0.64:
	Update service name to net.connman domain.
	Fix issue with disabling a technology twice.
	Fix issue with using wrong string for Proxy.Method.
	Fix issue with TCP connection lookup and DNS proxy.
	Fix issue with TCP receive busy waits and DNS proxy.
	Fix various issues with WPA Supplicant interaction.
	Add support for chunk encoding to HTTP client.
	Add support for internal HTTP client for portal detection.
	Add support for internal DHCP server setup.
	Add support for internal NAT and IP forwarding setup.
	Add support for Bluetooth Tethering functionality.
	Remove deprecated device and network D-Bus interfaces.
	Remove support for dhclient plugin.

ver 0.63:
	Change to use nl80211/cfg80211 WiFi management by default.
	Fix various issues with new WPA Supplicant interface.
	Fix issue with not connecting failed networks at boot.
	Fix issue with properly tracking RFKILL blocked state.
	Fix issue with missing signals for IPv4/IPv6 gateway details.
	Add support for using RTNL for setting IPv4/IPv6 details.
	Add support for using PHONET_PIPE GPRS interfaces.
	Add support for setting manual proxy configurations.
	Add support for exporting proxy configurations to PACrunner.
	Add support for combined home and roaming statistics.
	Add support for OpenVPN connections.
	Remove dependency on udev.

ver 0.62:
	Fix crash with non-existent or extra DHCP result options.
	Fix crash when doing PEAP/TTLS authentication.
	Fix issue with handling multiple data counters.
	Fix issue with Bluetooth adapters without address.
	Fix issue with multiple scanning attempts after disconnects.
	Fix issue with VPN services when switching into offline mode.
	Add support for storing statistics information in separate files.
	Add support for verification of configuration file parameters.
	Add support for handling time server values from DHCP.
	Add support for allowing DNS over TCP within the DNS proxy.
	Add support for loading proxy configurations into PACrunner.
	Add support for WiFi plugin using new WPA Supplicant D-Bus API.
	Add support for requesting passphrases via agents.
	Remove default support for EDNS0 option.

ver 0.61:
	Add support for using the internal DHCP client by default.
	Add support for latest PolicyKit framework.
	Add support for new oFono D-Bus interfaces.

ver 0.60:
	Fix issue with missing reset of proxy settings.
	Fix issue with missing Ethernet property changed signal.
	Fix issue with offline operation on already blocked devices.
	Fix issue with offline mode and device powered changes.
	Fix issue with portal detection and DHCP renewals.
	Fix issue with connection attempts for removed networks.
	Fix issue with stale pointers of networks.

ver 0.59:
	Fix issue with D-Bus object paths of VPN providers.

ver 0.58:
	Fix various issues around offline mode.
	Fix various issues with VPN nameserver handling.
	Add support for home/roaming network statistics.
	Add support for EAP-TTLS WiFi configuration.
	Add support for creating backtraces.

ver 0.57:
	Fix missing default profile creation.
	Fix missing service integration of VPN providers.
	Fix missing export of PAC information retrieved from DHCP.
	Fix issue with detection of new Bluetooth devices.
	Fix issue with offline mode handling.
	Fix issue with device power handling.

ver 0.56:
	Fix issues with offline mode handling.
	Fix service integration with VPN providers.
	Add internal asynchronous resolver library.
	Add internal DHCP client library.
	Add support for using internal DHCP client.
	Add support for WPAD proxy auto-configuration.
	Add support for static IPv6 configuration.
	Add support for DHCP provided domain names.
	Add initial support for on-demand connections.
	Remove uDHCP and resolvconf plugins.

ver 0.55:
	Fix issue with 3G roaming status indication.
	Fix issue with using -H option with dhclient.
	Fix issue with loading WiFi SSID details for scanning.
	Add support for setting host routes for DNS servers.
	Add support for more detailed statistics counters.
	Add support for internal DHCP client library.

ver 0.54:
	Fix issue with root requests and EDNS0 OPT records.
	Fix issue with default gateway when route deletion fails.
	Fix issue with group identifiers for cellular networks.
	Fix issue with fixed IP settings from cellular networks.
	Fix issue with nameserver settings and manual configuration.
	Add support for cellular network name changes.
	Add support for cellular signal strength changes.
	Add support for actively scanning for hidden networks.
	Add support for ASCII based WEP keys.
	Add support for NTP timeserver updates.
	Add support for PPP default route settings.

ver 0.53:
	Fix issue with supplicant and device scanning state cleaning.
	Fix issue with Bluetooth PAN networks stay in connected state.
	Fix issue with reference counting and connected state.
	Fix issue with technology disabling on device removal.
	Fix issue with two default gateways when using VPN.
	Fix issue with static IPv4 configuration and signals.
	Add support for splitting DHCP provided nameserver results.
	Add support multiple nameservers in /etc/resolv.conf.
	Add support for setting manual DNS server configuration.
	Add support for exporting IPv4 gateway information.
	Add support for newer versions of oFono API.

ver 0.52:
	Fix issue with new "connected" states.
	Fix issue with hidden networks and PSK.
	Fix issue with DHCP and Bluetooth PAN.
	Fix issue when disconnecting PAN networks.
	Add support for application sessions.
	Add plugin for hh2serial GPS support.

ver 0.51:
	Fix issue with missing device power toggling.
	Fix issue with D-Bus object path on device removal.
	Add support for WiFi portal detection.
	Add support for configuring static gateways.
	Remove unneeded plugin for Option HSO support.
	Remove unneeded plugin for Ericsson MBM support.

ver 0.50:
	Fix configuration loading for unknown services.
	Fix IP method setting of Ethernet plugin.

ver 0.49:
	Fix issue with WiFi power changes.
	Fix issue with Bluetooth device startup.
	Fix issue with host route settings for VPN.
	Fix issue with processing of RFKILL events.
	Fix some WPA Enterprise privacy issues.
	Add support for basic Ethernet information.
	Add support for static IP settings.

ver 0.48:
	Fix signal strength calculation when quality is not provided.
	Fix issues with wpa_supplicant state tracking.
	Fix faulty removal of IP address from interface.
	Fix permissions of newly created /etc/resolv.conf file.
	Fix DNS proxy handling when in offline mode.
	Add support for EDNS0 resolver option.
	Add workaround for large EDNS0 queries.
	Add workaround for DHCP startup failures with WiFi networks.
	Add support for handling hostnames and domainnames.
	Add support for IPv4 configuration via service interface.
	Add support for fixed and manual IPv4 configuration.
	Add support for default service changed notifier.
	Add support for clearing failure state via service removal.
	Add support for OpenConnect VPN connections.
	Add support for IEEE 802.1x WiFi networks.
	Add support for roaming between WPA and WPA2 networks.
	Add various generic D-Bus helpers and use them.
	Remove special handling of Ethernet devices.

ver 0.47:
	Fix segmentation fault on resolver shutdown.
	Fix issue with adding nameserver that doesn't exist.
	Fix issue when no broadcast address is given.
	Fix issue with missing property changed signal.
	Add checks for invalid supplicant state transitions.
	Add initial version of oFono GPRS support.
	Add support for dynamic debug framework.

ver 0.46:
	Fix reconnect issue when power off or disabling the device.
	Remove problematic retry on failure code path.

ver 0.45:
	Fix crash with connect timeout and second connect attempt.
	Fix reconnect issues after suspend or roaming attempt.

ver 0.44:
	Fix command line options for device filtering.
	Fix issue with network reference in MBM support.
	Fix handling when losing network access in MBM plugin.
	Fix broken libiWmxSDK callback parameter handling.
	Add work around Intel WiMAX SDK API breakage.

ver 0.43:
	Fix issue with missing scanning after power up.
	Fix issue with udev versus /dev/rfkill event processing.
	Fix issue with powered down device on connection attempt.
	Add support for multiple connection attempts.
	Add support for tracking the operation state.
	Add full support for Ericsson MBM cellular devices.

ver 0.42:
	Fix issue with switching between hidden WiFi networks.
	Fix issue with missing scanning after disconnect.
	Fix issue with not triggering auto-connect in some cases.

ver 0.41:
	Fix race condition with WiFi devices and RFKILL.
	Fix issue with WiFi connect/disconnect and some drivers.
	Fix issue with WEP encryption and staging drivers.
	Fix issue with wrong setup of loopback interfaces.

ver 0.40:
	Fix issue with wrong setting of initial AutoConnect value.
	Fix issue with IP configuration and loopback devices.
	Fix issue with build system and include directory.
	Fix wrong variable for dhclient-script location.
	Fix disconnect race condition with Bluetooth service.
	Add support for ignoring bonding Ethernet interfaces.

ver 0.39:
	Fix file permissions for profile storage.
	Fix service resorting when they are in different states.
	Fix support for handling Bluetooth PAN devices.
	Add support for AutoConnect property of services.
	Add support for creating, modifying and removing profiles.
	Add support for fully flexible task handling framework.
	Add support for more generic RTNL handling and notifications.
	Add support for full non-recursive build.

ver 0.38:
	Fix broken check for security modes.
	Fix requirement of inotify when loopback support is disabled.

ver 0.37:
	Fix missing update of signal strength from scan results.
	Fix error handling in case when passphrase is required.
	Add support for PassphraseRequired property.
	Add missing check for WiFi security modes.

ver 0.36:
	Fix missing reset of network reference when disconnecting.
	Fix wrong variable reference when sending technology replies.
	Fix wrong identifiers of D-Bus error names.

ver 0.35:
	Fix missing auto-connect trigger on Ethernet device removal.
	Fix availability listing for devices without attached drivers.
	Fix signals for connected and default technologies.
	Fix notification to use service types instead of device types.
	Fix potential pending scan result reply messages after removal.
	Add support for blocking enable and disable technology changes.

ver 0.34:
	Fix setup of udev context before loading any plugins.
	Fix rearming the scan trigger if a device got disabled.
	Fix device power state changes tracking with RFKILL notifications.
	Fix wrong usage of device types instead of service types.
	Fix connect method to handle non-WiFi services.

ver 0.33:
	Add support for RFKILL changes of the WiFi subsystem.
	Fix state value of Network Manager compatibility support.

ver 0.32:
	Fix broken device unregistration on removal.
	Fix WiMAX device detection handling.

ver 0.31:
	Fix missing enforcement of offline mode for new devices.
	Add support for persistent storage of offline mode.
	Add support for persistent storage of device power state.
	Remove deprecated and unused network storage callbacks.

ver 0.30:
	Fix issue where hidden network could show up in service list.
	Fix issue with asynchronous notification of scan requests.
	Fix message reference leak when adding interface fails.
	Fix problem when removing network during inactive state.
	Remove broken and unused callback for joining networks.
	Remove deprecated device and network interface methods.
	Remove test scripts for deprecated interface methods.

ver 0.29:
	Fix missing signal emission for offline mode changes.
	Fix signal emission for changes in technology properties.
	Rename Technologies property to AvailableTechnologies.

ver 0.28:
	Fix another reference counting imbalance when adding networks.
	Revert supplicant change to always reset scanning after results.

ver 0.27:
	Fix missing disarming of the connection timeout.
	Fix handling of multiple supplicant disconnect attempts.
	Fix simultaneous connects from different technologies limitation.

ver 0.26:
	Fix broken handling of auto-connect logic.
	Fix handling of out-of-range access points.
	Fix support for connecting to hidden networks.
	Fix reference counting for networks with same SSID.
	Fix issue with WiFi interfaces not getting switched off.
	Fix problems with delayed service list updates.
	Fix disconnect/abort of connection attempts.

ver 0.25:
	Fix showing of WiFi networks with less than 25% signal strength.
	Fix potential segmentation fault with network passphrases.

ver 0.24:
	Fix handling of initial device powered state.
	Fix missing Powered property changed signals.
	Fix canceling of a network connection attempt.
	Fix stalled configuration issue with supplicant.
	Fix detection of association errors from supplicant.
	Fix issue with wrong scanning state information.
	Fix hidden SSID detection routines.
	Fix visible Ethernet services even without carrier.
	Add global method call to request scanning.
	Add support for global technologies list.
	Add support for delaying service list updates.
	Update the overall D-Bus API documentation.

ver 0.23:
	Fix dhclient probe/remove race condition.
	Fix handling of disconnected services during auto-connect.
	Add support for proper group name of hidden networks.
	Add support for storing SSID details of hidden networks.

ver 0.22:
	Fix wrong auto-connect procedure after user connection.
	Fix invalid update of already connected network.
	Fix idle state handling after disconnecting device.
	Fix disconnect race condition in WiFi supplicant.
	Fix WiFi signal strength reporting.

ver 0.21:
	Add udev based network device detection.
	Add support for global auto-connect feature.
	Add support for basic service drag and drop.
	Fix missing passphrase cleanup on service removal.
	Fix potential duplicate network creation.
	Fix handling of WEP shared keys.

ver 0.20:
	Add plugin for Intel WiMAX SDK support.
	Add special handling for default vendor SSIDs.
	Add support for default gateway in different network.
	Add support for automatic switching of default gateway.
	Add support for asynchronous handling of Powered property.
	Add support for connecting/disconnecting Ethernet services.
	Add support for more detailed error states of services.
	Add support for clearing error state via ClearProperty.
	Fix error code for invalid or unknown properties.
	Fix various timeout handling issues.
	Remove Policy and Priority device and network properties.

ver 0.19:
	Add hidden networks to the service list.
	Add support for storing the service name.
	Fix service list sorting for connected services.
	Fix missing cancel command when operation times out.
	Fix various issues with service favorite handling.
	Remove Available and Remember network properties.

ver 0.18:
	Add support for asynchronous service connect method.
	Fix broken storage of service favorite details.

ver 0.17:
	Add AT chat library implementation.
	Fix service lookup for WiFi and WiMAX devices.
	Fix service state signal emission and error handling.
	Fix storing and loading of configured passphrases for services.

ver 0.16:
	Update Intel OSPM support to latest specification.
	Add initial support for new service interface.
	Add support for builtin plugins.
	Add extra warning if no nameserver is defined.
	Add error reporting for state and storage directory creation.
	Add error message for network and device storing failures
	Fix stale entry in gateway list after connection changes.
	Fix handling of DHCP results with no nameserver.
	Fix infinite loop for service lookup.
	Fix various format string warnings.

ver 0.15:
	Detect VMware network interface and ignore them.
	Fix setting of scan_ssid for hidden networks.
	Fix empty network name property.

ver 0.14:
	Add support for detecting DHCP failures.
	Add support for joining hidden WiFi networks.
	Add support for device and network address property.
	Add support for default /etc/resolv.conf generation.
	Fix issue with wrong address setting for loopback.
	Fix detection of WiFi access point changes.
	Fix crash with blob properties.

ver 0.13:
	Add support for notification infrastructure.
	Add fully dynamic property storage capabilities.
	Fix broken loading of last network on bootup.
	Fix crash when unplugging WiFi devices.
	Rename OSPM plugin to Intel OSPM plugin.
	Rename WiMAX plugin to Intel WiMAX SDK plugin.

ver 0.12:
	Fix connection state change handling.
	Fix network list enumeration.
	Fix broken driver matching for devices.
	Fix issue with network identifier lookup.

ver 0.11:
	Add plugin priority handling.
	Add network type for WiMAX.
	Fix network protocol selection for Bluetooth PAN.
	Fix parameters for Bluetooth PAN disconnect method.

ver 0.10:
	Fix races with connection signals.
	Fix automatic switching of default connection.

ver 0.9:
	Rename FlightMode to OfflineMode.
	Add static IPv4 setting support for Ethernet devices.
	Add extra options to exclude devices and plugins.
	Add support for toggling debug output.
	Add support for ScanInterval property.
	Fix handling of disconnect commands from applications.
	Fix detection of networks that are out of range.
	Fix setting network remember status.
	Fix argument type checking of properties.

ver 0.8:
	Add Device and Network property to connection interface.
	Add option to disable installation of data files.
	Add command line option to show version number.
	Fix signal emission for network changes.

ver 0.7:
	Add basic support for flight mode.
	Add support for multiple storage drivers.
	Add support for RTNL newlink watch API.
	Add support for different security privileges.
	Add support for device and network priorities.
	Add functions for setting network properties.
	Fix issue with listing devices without a driver.
	Fix issue with WiFi scanning indication.
	Fix detection of WiFi security changes.
	Update WiFi driver to use new network helpers.
	Install different D-Bus configuration for PolicyKit.

ver 0.6:
	Add CONNMAN_API_SUBJECT_TO_CHANGE definition.
	Add detailed configuration options.
	Add various D-Bus helper functions.
	Add generic device driver infrastructure.
	Add generic network driver infrastructure.
	Add property for WiFi network mode.
	Add property for network interface name.
	Add property for global connection policy.
	Add support for verbose compiler warnings.
	Add support for device detection via udev.
	Add support for systems with udhcpc.
	Add support for Bluetooth PAN networks.
	Fix WiFi issue with DHCP restart after handshake.
	Fix exported symbols list creation.
	Remove deprecated and unused plugins.

ver 0.5:
	Add support for handling Bluetooth adapters.
	Add support for activating wpa_supplicant on demand.
	Add Device property to network objects.
	Add Scanning property to device objects.
	Fix Name property of device objects.
	Fix WiFi SSID to object path conversion.
	Fix duplicate wireless scan results.
	Fix built issue with libudev and uClibc.
	Fix issues with element registration failures.

ver 0.4:
	Add DNS proxy resolver plugin.
	Add support for default connections.
	Add support for gateway change notifications.
	Add signal strength property for connections.
	Add property for connection type.
	Fix issue with carrier detection.
	Fix broken resolvconf plugin.

ver 0.3:
	Add support for automatically connecting known networks.
	Add improved framework for handling resolver details.
	Add generic signal strength property.
	Fix bridge and WiMAX device detection.
	Fix network listing for Ethernet devices.

ver 0.2:
	Add support for indicating network changes.
	Add support for signal strength property.
	Add support for unique device names.
	Fix broken device enumeration.
	Fix issue with device removal callback.
	Fix issue with wpa_supplicant disconnecting.
	Fix D-Bus access policy configuration.

ver 0.1:
	Initial public release.
