This is personalDNSfilter version 1.50.59.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Changelog:
~~~~~~~~~~~~~~~

February, 25 2017 - version 1.50.0
--------------------------------------------
- first public release of version 1.5

March, 5 2017 - version 1.50.1
--------------------------------------------
- Changed Icon and UI colour in order to differenciate from personalHTTPproxy

March, 19 2017 - version 1.50.2
--------------------------------------------
- Improved more flexible parsing of Filter Host files
- Improved indexing of Filter Hosts
- Fixed a synchronization bug in the Android app 
   (issue when  buttons were pressed quiickly one after the other).  

March, 31 2017 - version 1.50.3
--------------------------------------------
- fixed issue with filter overule setting in dnsfilter.conf when terminated with 
  whitespace
- for Android 7 - excluded play store from VPN due to android 7 bug 
  (play store download fails with VPN enabled)

April, 5 2017 - version 1.50.3a
--------------------------------------------
- for Android 7 - excluded google drive from VPN due to android 7 bug 
  (google drive fails with VPN enabled)

April, 26 2017 - version 1.50.3b
--------------------------------------------
- for Android 7 - excluded google photos from VPN due to android 7 bug 
  (google photos fails with VPN enabled)

June, 19 2017 - version 1.50.4
--------------------------------------------
- Fixed Checksum Error
- Fixed Problem with wrongly counted DNS connections
- Fixed Problem with Exception logged when restarting
- Improved Autostart behaviour in combination with VPN Accept Dialog

July, 16 2017 - version 1.50.5
--------------------------------------------
- Fixed a bug in DNS response parsing when reading host names from the response
  => Issue might have caused that filtered hosts were actually not filtered
     for some DNS response formats  

July, 21 2017 - version 1.50.6
--------------------------------------------
- Fixed a problem for Android 6.01: When Network was changed, the DNS Servers 
  were not updated 
- Adopted to Android 7.0 Changes for Network Change Eventing

November, 4 2017 - version 1.50.7
--------------------------------------------
- Added version to Android Manifest in ordert o show version in Android App Settings
- introduced battery optimized Blocking read on VPN Interface for Android version >= 21 

November, 24 2017 - version 1.50.8
--------------------------------------------
- Added some built-in filters to dnsfilter.conf

December, 28 2017 - version 1.50.9
--------------------------------------------
- Added DNS Proxy option for Android (requires root!)


February, 11 2018 - version 1.50.10
--------------------------------------------
- Adopted Android version for IPv6 support (beta only!). in case you want to try it,
  add "IPV6BetaFeature = true" to dnsfilter.conf file. Feedback welcome!
- Whitelisted google translate app for Android SDK Version 24-27 (Android 7/8), 
  due to VPN issues (Google Translate fails with VPN enabled on these SDK versions)

February, 14 2018 - version 1.50.11
--------------------------------------------
- Enabled IPv6 Support and removed "IPV6BetaFeature" setting

February, 24 2018 - version 1.50.12
--------------------------------------------
- added android option to route additional IPs via the DNS Filter (e.g. in order to 
  prevent chrome to use own DNS servers and thus to bypass the DNS filter. See option
  "routeIPs" in dnsfilter.conf

March, 23 2018 - version 1.50.13
--------------------------------------------
- Moved to Github
- Restructured sources for Android Studio
- Fixed  WIFI Wakelock leak
- added and completed languages  
  (Thanks to @dogiex, @yshalsager, Lukas Novotny, @Taivotat2, @dugi9991, @Primokorn, 
   @gaich, phihungchrome

April, 22 2018 - version 1.50.14
--------------------------------------------
- Added additionalHosts.txt for configuring own host in addition to those downloaded 
  via the filter URLs
- Added additional hosts configuration to Android UI
- Filter URLs are now shown formatted within the Android UI
- Implicit restart when Add filtering is switched on or off

May, 1 2018 - version 1.50.15
--------------------------------------------
- only Android version chnages
- Added Hebrew translation for new Strings
- Added horizontal scroll for Filter and additional hosts configuration

May, 20 2018 - version 1.50.17
--------------------------------------------
- only Android version change
- log view now enabled for select and copy

June, 13 2018 - version 1.50.18
--------------------------------------------
- only Android version change
- improved problem with app restart after exit
- fixed app crash issue with Lollipop 5.0.2  

June, 23 2018 - version 1.50.19
--------------------------------------------
- affects only Android version
- Log Enties for filtered / allowed hosts are colored in red / green
- Finally fixed the issue that the app restarted after exit
- Fixed the log scroll issue where in some cases the log did not scroll to end
- Index rebuild in case of change in additional hosts now assynchronous in order 
  to allow the previous index to load first (otherwise nothing would be filtered
  during Index Rebuild)
- Allow to pause the log output (e.g. in order to allow copy and paste from log)

July, 13 2018 - version 1.50.20
--------------------------------------------
- Added Application whitelisting for Android (5.0 and newer)
- Showing version in Android App Header
- added host whitelisting within additionalHosts.txt (Use "!" as host prefix)
- fixed some smaller bugs

July, 15 2018 - version 1.50.21
--------------------------------------------
- Fixed Nullpointer Exception which could occur when whitelisting in additionalHosts
  but no filter overrule defined within dnsfilter.conf

August, 10 2018 - version 1.50.23
--------------------------------------------
- affects only Android version
- Adopted to Android P in order to avoid compatibility warning
- Added DNS Configuration Option from within App
- Prevent line wrap in App title header 

September, 9 2018 - version 1.50.24
--------------------------------------------
- fixed DNS Proxy Option on Android -  Now you can run the DNSFilter App on Android 
  also as DNS Proxy to be used from the entire Network for Ad Blocking

September, 16 2018 - version 1.50.25
--------------------------------------------
- New Filter configuration UI for Android
- Activate / Deactivate of Filters
- Filter short text added - could be used for categorizing filters

September, 19 2018 - version 1.50.25.1
--------------------------------------------
- No code change!
- Added www.hosts-file.net filters to Android App default config (Credits: hosts-file.net!)

September, 28 2018 - version 1.50.26
--------------------------------------------
- Changes only relevant for Android
- Added configuration backup & restore feature
- smaller fixes

October, 2 2018 - version 1.50.27
--------------------------------------------
- Fix: Do not delete index files when doing restore in order to keep filtering up until 
  new index is created.

December, 23 2018 - version 1.50.28
--------------------------------------------
- UI improvements (credits to t-ryder http://t-ryder.de)

February, 2 2019 - version 1.50.29
--------------------------------------------
- Categorized Filter Config
- Added EnergizedProtection Filters as option
- Removed Debug Logging by default
- Option to store Filter Hosts File without duplicates
- Added Donation Link

March, 2 2019 - version 1.50.30
--------------------------------------------
- Added Filter White and Blacklisting by selecting from Filter Log
- Added support for secure DNS via DNS Over TLS / HTTPS (DoT, DoH)
- Log Improvments
- Some smaller UI improvments and bug fixes

March, 23 2019 - version 1.50.31
--------------------------------------------
- service startForground in order to avoid kill of service
- introduced log message area 
- Logging optimizations
- Added possibility to specify DNS host for DOH for TLS SNI
- Hebrew translation fixed
- Show block rate and count of blocked hosts
- dnscrypt proxy integration 

April, 13 2019 - version 1.50.32
--------------------------------------------
- Support Always On VPN on Android
- Support for wildcard hosts in additionalHosts.txt
- Hosts file verification / only printable characters and length <= 253
- Indexing Optimizations
- Hebrew translation fixes
- removed setting "filterHostsFileRemoveDuplicates" (is always the case now!)

August, 17 2019 - version 1.50.33.05
--------------------------------------------
- Remote Control feature 
 -> With remote control you can manage a running pDNSf instance remotely from 
    the Android App
 -> usefull especially when running the non-Android version without UI
- Indexing Optimizations
- configurable DNS timeout
- some fixes and improvments

December, 1 2019 - version 1.50.34.03
--------------------------------------------
- Improvment: switch to new Android Target Version Pie.
- Feature: Support for multiple named config backups.
- Feature: Log View format is now configurable via dnsfilter.conf settings.
- Feature: Check resolved IP against filter in order to block access to resolved
  IP Adresses from the filter in case the host is not filtered.
- Fix: App Crash in case of "select all" from log View.
- Fix: synchronization issue when switching quickly between remote controlled
  and local instance (caused corrupted remote connection).
- Fix: ArrayIndexOutOfBounds during indexing for hostnames with Integer min value
  as hashcode (very special case).
- Fix: issue with to small buf size for dot and doh in some cases.

December, 4 2019 - version 1.50.34.04
--------------------------------------------
- Fix regression for DNS Detection issue on Android Oreo and higher

December, 29 2019 - version 1.50.35.00
--------------------------------------------
- Improvement: Handle case when network is off (no Error Logs, No DNS switch, etc.)
- Improvement: Filter Check against resolved IP is now configurable and disabled by default
- Fix: Filter Check against resolved IP was not working 
- Fix: "Disabled Blocking" was silently enabled again after update (Issue #55)
- Improvement: Limit connection count in case of slow / hanging network to avoid app crash
- Fix: Allow plain http filter URLs on Pie and newer (regression from switch to target version Pie)
- Fixes and improvments in remote control feature
- Fix: Prefer WiFi DNS in case WiFi is "ON"
- Improvement: configurable cache sizes for filter / allowed cache 
- Improvement: Added config "ipVersionSupport" for disabling IPv4 or 6


January, 3 2020 - version 1.50.36.00
--------------------------------------------
- CNAME Cloaking protection
- support for local filter files (file://<path>)


January, 22 2020 - version 1.50.37.00
--------------------------------------------
- Feature: Proxy mode on rooted Android without using VPN Interface and possible combination 
  with a real VPN
- Fix: Autostart on Android 10 was not working
- Fix: Take timeout config into account also for detected dns servers
- Some additional fixes and improvements

February, 10 2020 - version 1.50.38.00
--------------------------------------------
- New Options "DNS Proxy Mode" and "Root Mode" integrated in UI.
  With "DNS Proxy Mode" in combination with "OpenVPN for PDNSF" you can run together 
  with real remote VPN on none rooted devices. OpenVPN for PDNSF is a fork of "openVPN for 
  Android". See https://github.com/IngoZenz/ics-openvpn.
- Some UI rework on Advanced settings.
- Added Help button with link to https://www.zenz-solutions.de/personaldnsfilter/help/help.php.

April 4, 2020 - version 1.50.39.01
--------------------------------------------
- Improve: IP packet handling
- Fix: Performance issue when loading local filter file
- Fix: Autostart issue on some Android 9 devices
- Improve: Added dnsfilter.conf setting "vpnInAdditionToProxyMode"
- Fix: Scrollable advanced config to support small screens
- Fix: Show message when loading app list for whitelisting
- Fix: removed host-file.net filters and added StevenBlack

May 22, 2020 - version 1.50.40.00
--------------------------------------------
- Translations added / improved
- Updated filter urls for energized
- some minor improvments

July 18, 2020 - version 1.50.41.00
--------------------------------------------
- Enabling compressed filter download (thanks @j-moriarti)
- Configurable IP to be returned for filtered hosts (default now 0.0.0.0 /::1)
- Fix / Workarround for root mode with IPv6. IPv6 connections to port 53 are
  now dropped because they can't be forwarded on all devices
- configurabe DNS Proxy port for non Android devices (see dnsfilter.conf, dnsProxyPortNonAndroid)

September 24, 2020 - version 1.50.42.03
--------------------------------------------
- Added secure DNS server defaults from libredns.gr, uncensoreddns.org, nixnet.services, 
  and also adguard.com
- DNS Server selection based on response time
- Prevent repeating log entries, mainly repeating DNS requests (see dnsfilter.conf setting
  "repeatingLogSuppressTime")
- Change of android application label to "personalDNSfilter"
- Added retry for UDP requests
- Adding new dnsfilter.conf setting "routeUnderlyingDNS" (default false)  for routing all
  detected dns servers of the underlying network to the dummy VPN created on Android. Might
  fix issue with Google chrome bypassing the filter on android.
- Introduced very basic passcode protection in order to force a passcode on android based version
  before getting access (dnsfilter.conf setting "passcode"
- Some UI changes (square checkbox / added on focus color (support remote control usage,
  e.g. on Android TV)
- Fixing app crash on app start on Android 4.1

October 12, 2020 - version 1.50.42.04
--------------------------------------------
Only Android version affected.
- Fixing app build issue on F-Droid of version 1.50.42.3
- Block IPv6 packets when running in root mode in order to prevent DNS leak via IPv6
- Fix for IP Detection in root mode - check that network interface is up.

October 20, 2020 - version 1.50.43.00
--------------------------------------------
- No Function changes - only for F-Droid build

November 9, 2020 - version 1.50.44.00
--------------------------------------------
- Prepare for Playstore Release
- switch target version to SDK 29
- Darkmode support
- New Icons
- experimental scripts for windows added to full package

December 13, 2020 - version 1.50.45.00
--------------------------------------------
- Updated DNS servers
- Dutch, Vietnamese and Simplified Chinese translation fix
- Optimized resources
- updated icons
- support for tunneling DOT / DOH over http proxy


January 10, 2021 - version 1.50.46.00
--------------------------------------------
- Added possibility to map custom IPs via additional hosts configuration.
- Added possibility to pause / resume filter via android notification action.
- Added configuration for managing local access only restriction in proxy mode.
- Fixed root mode issue which caused that some devices could have been losing network when switched.
- Possibiity to restore default DNS configuration via android UI.
- Fixed several app crash issues on android when working with UI.
- Improved translations

February 26, 2021 - version 1.50.47.00
--------------------------------------------
- Fixing root mode issue "/forward_ip: open failed: EROFS (Read-only file system)"
- Fixing issue "VPN is considered a metered connection"
- Improved UI
- Hide UI for App whitelisting in non VPN mode

May 4, 2021 - version 1.50.48.00
--------------------------------------------
- Migrate Configuration to external App Storage (get rid of Storage permission request)  
- Fix for DOH in case response has no content-length set
- Fix for SSL Error when loading filters on Kitkat and before
- Update of Windows start scripts
- Translation Fixes
- minor UI fixes

July 25, 2021 - version 1.50.49.01
--------------------------------------------
- Remote connect UI added.
- Info popup at start.
- UI improvements.
- Fixing some rare crashes.


September 26, 2021 - version 1.50.50.00
--------------------------------------------
- wildcard based whitelisting / rework of additionalHosts.txt (PRIORITIES in case of conflicting entries).
- blacklisted hosts via additionalHosts.txt are not part of the index anymore (in case you want a local 
  host file beeing indexed, add it via file:\\<path> to the filter configuration instead of using
  additionalHosts.txt.
- discontinued filter overruling via dnsfilter.conf (use additionalHosts.txt instead).
- FIX: Handle truncated UDP response by falling back to TCP.
- Added UI for editing dnsfilter.conf directly (EXPERTS ONLY!).
- Added UI transitions for better UI experience.
- FIX: Handle corrupted DNS queries correctly.
- Several smaller corrections and improvements.

October 3, 2021 - version 1.50.50.01
--------------------------------------------
- Fix "Div by zero" issue when index is empty

December 11, 2021 - version 1.50.51.00
--------------------------------------------
- Support for GUI landscape mode
- GUI for App whitelist search
- Switch to android target version 30
- Added timestamps in live log
- Fixing EOF exception issues for DOH and DOT
- Bug fixes and improvements


April 25, 2022 - version 1.50.52.02
--------------------------------------------
- added experimental scripts for Linux (Thanks @Tommy He)
- Fix - blacklisting from log required restart
- Fix - timestamps not shown during remote control
- Added dnsfilter.conf setting 'dumpDNSPerfInfo' - when 'true" the dns perf info is dumped to the live log. 
- Some code refactoring to separate configuration from android main activity
- removed obsolete nixnet DNS servers as they are discontinued
- Improved dark mode colors
- Added dnsfilter.conf setting 'useActionMenuFallback' - for devices not supporting custom action menus (e.g. Xiaomi)

September 1, 2022 - version 1.50.53.05
--------------------------------------------
- various GUI improvements
- improve copy / paste filter from log
- fix for carriage return parsing in host files
- fix for issue with missing timestamp after reboot
- Updating default host files
- fix for hanging network after restore of backup or standard configuration
- enforce portrait mode only on smaller displays
- display message on playstore version regarding the issue that personalDNSfilter might be removed from playstore due to Google policies

March 5, 2023 - version 1.50.54.01
--------------------------------------------
- new UI for editing DNS Server settings
- filter support for message types different to 1 and 28
- improved traffic log
- dump logcat in debug mode
- added support for DNS Server deactivaton
- migration to android target 31
- various fixes and improvements

January 26, 2024 - version 1.50.55.01
--------------------------------------------
- change to Android target version 33
- added support for oisd wildcard filter
- added updated oisd filters
- improved config migration during update
- several smaller fixes and improvements

February 1, 2024 - version 1.50.55.02
--------------------------------------------
- fixing https://github.com/IngoZenz/personaldnsfilter/issues/286

February 27, 2024 - version 1.50.55.02
--------------------------------------------
- fix issue with filter being reloaded with each restart
- fix issue with passcode protection dialog is not shown
- fix crash when requesting Notification Permissions

August 23, 2024 - version 1.50.56.00
--------------------------------------------
- restore option for filter config
- fixes for password protection
- fixes issue that network got stuck when switching from WiFi to mobile
- several smaller fixes and improvments

May 9, 2025 - version 1.50.57.01
--------------------------------------------
- migrate to Android target 34
- fixing https://github.com/IngoZenz/personaldnsfilter/issues/327
- allow wildcards for custom IP mapping
- support custom DNS Proxy Port configuration on Android
- make DNS Server comments visible in DNS Server configuration
- add new filter defaults (OISD small and Steven Black ad & malware)

July 8, 2025 - version 1.50.58.00
--------------------------------------------
- added quick settings tile
- backup / restore from external folder
- several bug fixes and improvements

July 28, 2025 - version 1.50.58.01 (only Android Version)
---------------------------------------------------------
- fix issue on Android that app start via QS tile failed
- fix issue on Android that autostart failed

January 23, 2026 - version 1.50.59.00
--------------------------------------------
- migrate to Android target Version 36
- add DOH over HTTP/2
- stability fixes