Changes in 3.9.3:
- Bundle Java 21 with Windows and Mac builds
- Updated SWT for all platforms, improved loading of correct SWT library on Linux
- Add support for plugin jars containing their own messages.properties
- Add support for Pinger plugins #491
- Allow plugins to merge multiple ping results
- The UDP pinger now uses the same port as traceroute programs
- FileFeeder: recognition of FQDNs (with trailing dots and numbers in TLDs) in IP list files
- FileFeeder: recognition of IPv6 addresses in IP list files
- Time is now specified in 24-hour format in XML export
- Fix exporting of very long lines as .txt
- Strings up to 255 bytes in length can now be exported to SQL. Among other things, this enables the export of IPv6 scans to SQL
- Updated MAC vendors

Thanks to @marek22k for many fixes!

Changes in 3.9.2:
- Linux: specify Java 17 as minimum required version in .deb and .rpm packages
- Added Irish translation
- Updated SWT for all platforms
- Updated MAC vendors

Changes in 3.9.1:
- Mac: fix permissions in bundled JRE, so that MAC address scanning would work #384
- Linux startup fix if JAVA_HOME has spaces #391
- Update MAC vendors

Changes in 3.9.0:
- Mac: bundle Java 17 runtime, so that Java doesn't need to be installed separately
- Mac: change next alive host shortcut to Cmd+N (Cmd+H is conflicting with hide window)
- Windows installer: update bundled Java runtime to 17
- Linux XFCE: execute terminal properly #379
- Remember last window position #278
- Faster File Feeder when loading large files #347
- Update SWT for all platforms
- Update MAC vendors

Changes in 3.8.2:
- Allow building if .git is not present (e.g. from source zip) #319
- Windows installer now includes a stripped-down JRE to avoid downloading Java separately
- Windows 32-bit build has been removed
- Linux deb & rpm packages now correctly specify Java 11 dependency, not 8
- Mac: display a notification if java not in PATH #279
- If scanning a local network, then ARP will be used in addition to chosen Pinger to detect more hosts #280
- Improved storing/finding of MAC-based host comments. In LAN, they will always be MAC-based now #311
- Removed root-only ICMPPinger that worked using RawSockets, JavaPinger will use ICMP if has permissions to do so

Changes in 3.8.1:
- Make 32-bit Windows build still run under Oracle Java 8 - it seems to still be popular #324
- Make deb files install on older Debian without zst compression support #327
- Add "allow anonymous error reports" checkbox also to Preferences to make it more discoverable #326

Changes in 3.8.0:
- Support for Mac M1 (provided that it runs an arm64 build of Java) - thanks to @aplr #284
- SWT updated for all platforms
- Java 11 is now the minimum required (due to SWT), source can now be built with Java 17
- If real network netmask is known (e.g. LAN), then skipping of broadcast addresses will respect that instead of always skipping .0 and .255 #309
- Pressing IP^ button to prefill local network interfaces will now set netmask in Range Feeder
- LinuxMACFetcher will now read Kernel ARP table directly, not relying on the arp utility to be available #320
- Keywords added to Linux desktop file/launcher to make searching easier #321
- Introduce ARPPinger for pinging LAN hosts that don't respond to ICMP, etc #308
- Mac vendors updated

Changes in 3.7.6:
- Many rare bug/crash fixes reported to Google Analytics
- Translations updated
- Mac vendors updated

Changes in 3.7.5:
- Upgrade SWT for all platforms, some UI alignment improvements
- Fix resolving of MAC vendors and Comments if MAC separator is changed to non-standard
- Support for NetBIOS (NBSTAT) responses containing no names (often returned by Apple devices)
- Mac vendors updated

Changes in 3.7.4:
- Allow changing of MAC address separator (many tools use "-" instead of ":") #261
- Cleanup some GUI resource leaks
- Fix "ghost hosts" on macOS if using TCPPinger #269
- Comments for hosts on LAN (tied to MAC address) will now display even if MAC fetcher is not selected, or is after the Comments fetcher #124
- Preference added to opt-out of checking for new versions #270
- Calculate IPv6 range scanning percent correctly #267
- Mac vendors updated

Changes in 3.7.3:
- Local IP address popup will now list IPv6 addresses and support IPv6 netmasks
- Support for silent uninstall on Windows #263
- Improve detection of the default primary network interface on Windows #257
- Update Linux SWT for better support for KDE dark themes #247
- Support installing of .deb packages with Java 15 #266
- Do not show first run dialog nor check version updates if run with any command-line arguments (for automation)

Changes in 3.7.2:
- Fix choosing openers from main menu on macOS #243
- Install 64-bit binary by Windows installer if Java is not detected at all #245

Changes in 3.7.1:
- Enable ICMP Echo pinger for Linux x64 only, as it requires the corresponding native .so implementation that is not available for Mac and not needed for Windows
- Add a new Java Built-in pinger by default (InetAddress.isReachable()), which uses ICMP if enough privileges or falls back to TCP port 7
- Fix handling of escape sequences in HTTP Sender
- Fix macOS dark mode switching for some users
- Some fixes in Russian translation
- Internally, replaced Dagger with much simpler DI implementation. Plugins can now declare non-default constructors to benefit from Dependency Injection as well.
- Mac vendors updated

Changes in 3.7.0:
- Windows: use latest NSIS for installer generation, fixing DLL hijacking
- Mac: dark mode support
- Linux: add helpful error message when X Session is not available / running under full root in terminal
- Linux/Ubuntu: fix launching of terminal in openers for newer versions of Gnome
- Raspbian/ARM: New experimental builds without bundled SWT, using the one provided by system
- Updated SWT for all 64-bit platforms
- Updated Chinese translations
- Mac vendors updated

Changes in 3.6.2:
- New launcher for Windows that respects JAVA_HOME and PATH environment variables and thus works with AdoptOpenJDK
- Improve detection of 32/64-bit JVM in Windows installer. Assume 64-bit if detection fails (was 32-bit before)
- Checkbox allowing opt-out of crash reports to Google Analytics to Getting Started dialog
- Mac vendors updated

Changes in 3.6.1:
- Fix exporting for Mac
- Improve display of unexpected errors on Mac
- Mac vendors updated

Changes in 3.6.0:
- HTTP Proxy is now available
- Java 8 is now the minimum required
- Experimental (and incomplete yet) IPv6 support
- Try to select the real network interface by default on launch
- KDE launching support & other small fixes
- Windows Java detection has an improved error message
- Translation updates, added Chinese traditional and simplified
- Mac vendors updated

Changes in 3.5.5:
- Translation updates, added Brazilian Portuguese
- Small bugfixes
- Mac vendor updates
- JDK 11 support in Windows exe
- Linux version will now use GTK 3 by default, enabling touch screen support
- New build system using gradle and proguard
- This is the last release to support running under Java 7

Changes in 3.5.4:
- Was a broken release, replaced by 3.5.5

Changes in 3.5.3:
- Translation updates
- Ping Packet Loss fetcher
- Mac vendor updates
- Debian packages have updated licensing and Java 10 support

Changes in 3.5.2:
- Support for Java 9 in Windows installer and executable as well as deb packages
- Easier testing of new translations by putting the messages* file to the same directory as executable
- Support for lang_COUNTRY locales, e.g. pt_BR
- Some common error cases improved (using gathered data from GA)
- Increased maximum number of addresses generated by Random Feeder
- Added Russian translation, updated other languages

Changes in 3.5.1:
- Restore support for Java 7
- Allow editing of preferences even of deselected fetchers
- Improve detection of IPs/hostnames in file import and file feeder
- New HTTPProxyFetcher that checks for working HTTP proxies
- Remove scanning progress from Dock on MacOS X, as it reverts to an incorrect icon
- Improve fetchers prefs icon for MacOS X

Changes in 3.5:
- HiDPI/retina display support
- Flatter icons
- Select fetchers added to columns menu for easier discoverability
- Show scanning progress in the system taskbar (no Linux support due to SWT)
- Details window size is really persisted now
- Mac vendors updated and are no longer cut to 8 characters
- Smaller bugfixes
- Java 6 support dropped due to SWT update

Changes in 3.4.2:
- Launch4J upgraded to fix finding the 1.8.0b101 JRE on Windows
- Show version check dialog only if it was requested by the user
- Italian translation added
- Rename IP List file feeder to Text File for clarity
- Mac vendors updated

Changes in 3.4.1:
- Favorites saving bug fixed
- More forgiving importing of previously saved scanning results
- IP details and some other functions now work properly for imported results
- Mac vendors updated
- Other small stability improvements

Changes in 3.4:
- Openers can open several IPs at once
- More bugfixes in opener editor + OK/Cancel buttons
- File Feeder now supports extracting of hostnames in addition to IP addresses
- Loading of exported files will no longer try to rescan the last loaded IP
- User is asked whether to resume the loaded scan if it seems unfinished
- Fixed MAC address fetcher for Mac OS
- MAC vendors updated
- Check for new version automatically once per month
- Internal and plugins: Dagger is now used instead of PicoContainer for dependency injection
- New translations: Turkish, German

Changes in 3.3.3:
- Fixed a bug in opener editor when switching between openers could overwrite them
- Bind comments to MAC addresses if possible, making comments for local hosts persist even for dynamic IPs

Changes in 3.3.2:
- Much smarter HostnameFetcher, which queries mDNS and NetBIOS in case standart DNS reverse lookup doesn't provide results
- Packaging fix for Windows, which could prevent "display alive only" from working
- Fixed prepopulation of feeder from command-line
- Fixed dimensions on command-line usage dialog
- Updated MAC vendors

Changes in 3.3.1:
- Fix Linux 64-bit (and probably 32-bit as well) build - add missing swt native libraries
- Quicker hostname lookups
- Small optimizations in UDP/TCP pingers

Changes in 3.3:
- IP range now defaults to the current netmask on start to make it easier to start scanning the current network
- Can load previously saved .txt file with incomplete scanning results and resume the scan
- IP range can now be scanned in reverse
- Language can now be selected in preferences
- Hungarian translation added
- Fixed links in the Help menu
- SWT upgraded to 4.3
- Use 64-bit SWT on Mac, supporting Oracle Java 1.7+
- Use sheets instead of some dialogs on Mac

(thanks to contributors)
