ver 1.32:
	Fix issue with DNS proxy response handling.
	Fix issue with nameservers after DHCP renewal.
	Fix issue with DHCP request and IP link local.
	Fix issue with DHCP timer removal handling.
	Fix issue with missing MTU option from DHCP.
	Fix issue with passphrases and space characters.
	Fix issue with passphrases after WPS provisioning.
	Fix issue with memory leak and wpa_supplicant.
	Fix issue with memory leak and service ordering.
	Add support for handling OpenVPN TAP devices.
	Remove support for BlueZ 4.x interfaces.

ver 1.31:
	Fix issue with DNS TTL and CLASS field length.
	Fix issue with handling of ClearProperty method.
	Fix issue with subnet assignment for tethering.
	Fix issue with search domain reconfiguration.
	Fix issue with Bluetooth adapter handling.
	Fix issue with DHCP handling and OFFER stage.
	Add support for handling multiple contexts.
	Add support for handling IPv6 timeservers.
	Add support for handling DSA interfaces.
	Add support for symlinking resolv.conf file.
	Add support for connman-wait-online service.

ver 1.30:
	Fix issue with pending DNS request during server change.
	Fix issue with empty strings in nameservers configuration.
	Fix issue with time servers during IP configuration change.
	Fix issue with 4-way handshake during roaming.
	Fix issue with open WiFi networks security.
	Fix issue with support for WiFi AnonymousIdentity.
	Fix issue with memory leak and DHCPv6 DUID handling.
	Fix issue with DHCP client and P2P interaction.
	Fix issue with handling provision file updates.
	Fix issue with VPN state updates.
	Disable 6to4 support by default.

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.
