2026-01-19 - DocFetcher 1.1.27
Bugfixes
- Text extraction:
- Fixed an ExceptionInInitializerError crash on certain Excel files.
- Fixed a crash when indexing corrupted ZIP-based files (Office 2007+, OpenDocument, EPUB). Bug #2188.
- Fixed a NoClassDefFoundError crash during PDF indexing when PDFBox font initialization runs out of memory. Bug #2292.
- Fixed a "Could not find referenced cmap stream Adobe-Japan1-7" error on certain PDF files. Bug #2368.
- Archive handling:
- Fixed an InvalidPathException crash when indexing archive entries with illegal filename characters (such as colons). Bugs #2315, #2376, #2390.
- Fixed an AssertionError crash when indexing 7z archives.
- Indexing:
- Fixed an indexing crash caused by extremely long file paths. Bug #2431.
- Fixed an InvalidPathException crash when indexing files in folders with colons in their names. Bug #2426.
- Fixed a crash on documents containing terms that exceed an internal 32,766-byte limit. Bug #2396.
- Fixed an ArrayIndexOutOfBoundsException crash on documents with extremely large token counts. Bug #2413.
- Fixed incorrect encoding detection for UTF-8 files containing emoji. Bug #2403.
- Fixed a NegativeArraySizeException crash when processing corrupted files during encoding detection. Bug #2422.
- Fixed an ArrayIndexOutOfBoundsException crash when indexing documents with Chinese word segmentation. Bug #2409.
- Fixed an AssertionError crash when trying to store an index on a filesystem that doesn't support directory fsync operations (e.g., CIFS network mounts). Bug #2333.
- Fixed a NoSuchFileException crash during index merge operations, caused by an out-of-memory error during a previous indexing attempt. Bug #2281.
- Fixed an AlreadyClosedException crash when external processes modify index files during indexing operations. Bug #2347.
- Fixed an IllegalArgumentException crash when trying to update indexes after they were relocated. Bug #2417.
- Indexing errors table:
- Fixed a NullPointerException crash when sorting by the Path column after files were deleted. Bug #2291.
- Fixed a NullPointerException crash when copying error information to the clipboard for files that were deleted or no longer accessible. Bug #2341.
- Fixed a NullPointerException crash when trying to open the parent folder of a file with an invalid file path. Bug #2385.
- Searching:
- Fixed a crash when searching with Unicode curly quotation marks. These are now auto-converted to straight quotation marks. Bug #2226.
- Fixed a TooComplexToDeterminizeException crash when entering overly complex wildcard queries. Bug #2425.
- Fixed a NegativeArraySizeException crash during searching. Bug #2402.
- Search results:
- On Linux, fixed an UnsatisfiedLinkError crash when trying to open a file and the app is run from a snap environment where GNOME libraries are missing. Bug #2361.
- Preview pane:
- Changed the default fonts used in the preview pane to reduce Unicode display issues: Segoe UI and Consolas on Windows, DejaVu Sans and Liberation Mono on Linux, and SF Pro Text and Menlo on macOS.
- Fixed an ArrayIndexOutOfBoundsException crash during preview-related encoding detection. Bug #2235.
- Fixed an ExceptionInInitializerError crash when previewing PDF files with corrupted ICC color profiles. Bug #2305.
- Fixed an ArrayIndexOutOfBoundsException crash when scrolling in the preview pane. Bug #2412.
- Fixed an IllegalArgumentException crash when jumping between matches in the preview pane. Bug #2415.
- Fixed a NoClassDefFoundError crash when previewing PDF files with insufficient memory. Bug #2423.
- Fixed a NullPointerException crash in the preview pane. Bug #2427.
- Fixed an SWTException crash in the HTML preview. Bug #2428.
- Startup:
- The Windows exe launchers were broken: On non-English locales, they couldn't find the UI translations.
- Portable DocFetcher crashed if it was run from a folder like "C:\Program Files" where it doesn't have write permissions. Bug #2432.
- Improved the handling of permission errors when regenerating configuration files, now showing an error message instead of a raw stacktrace. Bug #2344.
- On Windows, portable DocFetcher crashed if the conf folder was missing.
- Fixed an UnsatisfiedLinkError crash when starting DocFetcher from a network path. Bug #2419.
- Fixed an UnsatisfiedLinkError crash during startup caused by a DLL initialization failure. Bug #2404.
- Fixed an IllegalStateException crash related to saving settings during startup. Bug #2410.
- Fixed a StackOverflowError crash when trying to corrupted indexes. Bug #2307.
- Fixed a crash when detecting index corruption. Bug #2332.
- Shutdown:
- Fixed an UnsupportedOperationException crash on application shutdown. Bug #2421.
- Fixed an SWTException crash when the system tray menu was accessed during application shutdown. Bug #2255.
- On Linux, fixed an SWTException crash during application shutdown caused by a GTK library bug. Bug #2369.
- Miscellaneous:
- On Windows, fixed a crash that occurred after the app was left running for a very long time (possibly days). Bug #2242.
- Fixed an IllegalArgumentException crash during certain changes in the folder tree of the Search Scope pane. Bug #2248.
- Fixed an SWTError crash when copying files to the clipboard while the latter is locked by another application. Bug #2304.
- Fixed an SWTException crash related to accessibility features. Bug #2395.
- Fixed a "Widget is disposed" crash. Bug #2433.
2025-10-05 - DocFetcher 1.1.26
Features
- A Java runtime is now bundled with each release version, eliminating the need to install a Java runtime on the system. The Windows installer also no longer tries to download Java.
- On Windows, all .exe and .dll files are now signed. As a result, you will see either no SmartScreen popup, or just a SmartScreen confirmation popup rather than a warning.
- The macOS releases are now signed and notarized — no more Gatekeeper errors about an "unidentified developer".
Bugfixes
- The application failed to extract PDF annotations on empty pages, as well as PDF annotations without title.
- On the indexing dialog, there was a clash between the shortcuts of the two buttons "Restore Defaults" and "Run"; both used "Alt+R".
- Preview pane: The page and occurrence fields had no tooltip.
- Upgraded Log4J library to fix Log4Shell vulnerability.
Changes
- Previously, each DocFetcher release consisted of 1 non-portable Windows version, 1 non-portable macOS version and 1 portable version for Windows/Linux/macOS. Now the release consists of 6 versions in total, consisting of a non-portable and a portable version for each of the 3 platforms. This means there's no longer a version that can run on multiple platforms. The change was necessary to support Java runtime bundling. Use the misc/paths.txt file if you need to share indexes between different platforms.
- 32-bit systems are no longer supported.
- On Linux, GTK2 is no longer supported, due to an upgrade of the UI library (SWT 4.19 → 4.34).
- Increased the default sizes of the indexing dialog and preferences dialog.
- The preferences dialog now shows the app version number and memory limit (aka maximum heap size).
- Raised the default memory limit from 1 GB to 4 GB.
- On macOS, due to macOS signing and notarization locking down the app files, the paths.txt file of the app bundle is now under ~/.docfetcher. For the same reason, there's a new file memory-limit.txt under ~/.docfetcher to configure the app's memory limit.
2021-05-25 - DocFetcher 1.1.25
Bugfixes
- Major bugfix: The highlighting in the preview pane was broken. This was a side effect of the recently added line numbers feature. For each line of text in the preview pane, DocFetcher would only highlight the first match in the line, not any subsequent matches. (Bug #2157)
2021-05-10 - DocFetcher 1.1.24
Bugfixes
- Emergency bugfix: Index saving was broken because one of the index files, called "tree-index.ser", was not properly written to disk. As a result, the program would later fail to load newly created indexes and warn about index incompatibility. This release fixes the index saving issue. Note that you can manually repair indexes that fail to load by closing DocFetcher and then renaming all "tree-index.ser.temp" files on your computer to "tree-index.ser".
2021-05-07 - DocFetcher 1.1.23
Features
- The preview pane now displays line numbers for plain text file formats, such as source code.
- Improved MS PowerPoint text extraction: Now notes, comments and master text are extracted.
- Improved MS Excel support: Now cell comments are extracted.
- MS Office support: Added various file extensions. (Word 2007+: dotm; Excel 2007+: xltm; PowerPoint 2007+: ppsm, potx, potm; PowerPoint before 2007: pot; Visio before 2007: vss, vst, vsw.)
- Added GUI und manual translations for Chinese Simplified, Turkish and Ukrainian.
- Advanced setting "CheckSingleInstance" to suppress the warning message that DocFetcher displays when it detects after launch that another DocFetcher instance is running or was not cleanly terminated.
- Advanced setting "ShowPathsDuringIndexing" to display file paths instead of filenames during indexing. This is useful for locating files that cause DocFetcher to hang.
- Advanced setting "WriteIndexingLog" to write the paths of files being indexed to a log file. This helps with identifying problematic files DocFetcher chokes and crashes on during indexing.
- Advanced setting "PdfPreviewVisualOrder": If the preview pane shows the words in PDF files in a jumbled order, experimenting with this setting may help.
- Advanced setting "OpenLimit" to adjust the maximum number of files that can be opened all at once from the search results.
- Any changes you've previously made to the values in the advanced settings file (program-conf.txt) will now be preserved when upgrading to this DocFetcher version or a later version. In earlier versions, such changes were lost when the upgrade added new entries to the advanced settings file.
Bugfixes
- The global hotkey (by default Ctrl + F8) is now disabled by default due to known stability issues (e.g., bug #1514). You can enable the hotkey at your own risk via the new advanced setting "HotkeyEnabled".
- Upgraded the GUI library SWT for 64-bit systems (SWT 4.9 → 4.19). This fixes a NullPointerException crash on macOS that prevented the program from being started.
- Added an extra macOS launch script in portable DocFetcher, as a fallback in case of launch problems.
- On macOS, DocFetcher can now be run on the current Java runtimes from Oracle. The legacy Java 6 runtime from Apple is not required anymore.
- On Java 9 and later, the -Duser.home variable in the various launcher scripts was ignored.
- The startup message about launching another DocFetcher instance was opened under all other windows.
- On Windows, the taskbar pinning of the program did not work entirely correctly.
- Previously, it was possible to add new indexes via the indexing dialog despite index creation being disabled in the advanced settings.
- ClassCastException crash during indexing of PDF files.
- On Java 10, DocFetcher was unable to read certain EPUB files, displaying a "Use a Path constructor or method instead!" error (bug #1559).
- Fixed an issue with the indexing of old MS Word files.
- When writing the tree-index.ser file (a vital part of the index files) to disk, the program will now first write to a temporary file instead of overwriting the old file directly. This is a safeguard against potential corruption of the tree-index.ser file.
- Since DocFetcher 1.1.20, the wildcard '?' did not match numbers preceded by a dot anymore, due to changes in the underlying Lucene search engine. As a workaround, there's now a "Whitespace" word segmentation option in the preferences to somewhat restore the old behavior (bug #1558).
- On KDE-based Linux distributions such as Kubuntu, double-clicking files in the search results did not open them.
- The icon in the top right of the file size filter was always in the state "minimize" after program launch, even if the file size filter is already minimized.
- On macOS, the program erroneously showed the Ctrl+C keyboard shortcut instead of ⌘C in several places, e.g., in the context menu of the result pane.
Changes
- New DocFetcher*.exe launchers with 12 GB and 16 GB memory limit.
- Added documentation in the DocFetcher.bat file.
- Increased default memory limit from 512 MB to 1 GB.
- Upgraded PDFBox library for reading PDF files (PDFBox 2.0.9 → 2.0.13).
- Added default exclusion rules for .git and .svn folders on the indexing dialog.
- DocFetcher no longer considers the file extensions "php", "asp" and "jsp" as HTML file extensions.
- Indexing: The keep-discard dialog now takes the "platform dismissal alignment" into account, meaning the order of the dialog's buttons now follows the conventions of the platform.
- Slight design change with respect to the borders of the filter controls in the left part of the GUI.
- Added a link to the DocFetcher Pro website in the status bar, and an info message about DocFetcher Pro.
2018-07-30 - DocFetcher 1.1.22
Bugfixes
- DocFetcher could not be started on OS X with Java 9 or newer.
- Crash on Windows due to hotkey issues (bug #1466 and others).
- Crash on some PDF files (bug #1477 and others).
- MS Office files containing very large amounts of text could not be read.
- DocFetcher could not read the metadata of certain JPEG files (bug #1493).
2018-06-22 - DocFetcher 1.1.21
Bugfixes
- The previous version of DocFetcher could not be started on OS X when running Java 8 or older.
- Crash with "root cannot be null" message on certain malformed PDF files (bug #1443).
- Crash with "ClassCastException" error on certain PDF files (bug #1459).
- Crash on certain EPUB files (bug #1463).
- Crash when trying to set strings like "(zip jar" in the plain text or zip extension field on the indexing dialog (bug #1457).
2018-06-14 - DocFetcher 1.1.20
Features
- Type-ahead search: Typing in the search field starts the search without the user having to press Enter. This feature is disabled by default and can be enabled in the preferences.
- Chinese word segmentation: When enabling the Chinese word segmentation algorithm in the preferences, DocFetcher will search on whole Chinese words rather than on individual Hanzi.
- Python scripting API for programmatically launching searches and accessing the search results. See the explanation at the top of the file ''search.py'', which can be found in the DocFetcher program folder.
- Improved HTML processing: Now HTML files without body element (e.g., Chrome bookmark files) can be indexed.
- Italian translation of GUI, manual and website.
- Chinese translation of main manual page.
Bugfixes
- DocFetcher could not be run on Java 9 and newer.
- On certain machines, DocFetcher could not be started due to issues with the global hotkey or the embedded web browser.
- Crash on 7z archives containing unnamed entries (bug #1369).
- The indexing process was halted by a password prompt when encountering a password-protected zip archive. Now the latter is automatically skipped with an error message.
- DocFetcher failed to create an index if the folder to be indexed contained zip archives using an unsupported encryption scheme (bug #1309).
- DocFetcher failed to index plain text files with certain less common text encodings, such as HZ-GB-2312 (bug #1410).
- DocFetcher failed to index MS Office files with unusually high compression ratio. These were identified as "zip bombs".
- Crash on Abiword files with missing metadata element (bug #1358).
- On Windows, the HTML preview did not display files accessed through a UNC path. This caused portable DocFetcher to fail to find its program manual if it was run on a network location without drive mapping (bug #1351).
Changes
- On Windows, DocFetcher now uses Lucida Sans Unicode as the default font for non-monospace text in the preview pane. This is to ensure that Unicode characters can be properly displayed.
- Upgraded POI library for reading MS Office files (POI 3.13 → 3.17, fixes bug #1415).
- Upgraded PDFBox library for reading PDF files (PDFBox 1.8.7 → 2.0.9, fixes issues with encrypted PDF files among other things).
- Slight change in the behavior of the Regex test widget on the indexing dialog (paths are automatically normalized with "/" instead of "\" as path separator).
2017-01-10 - DocFetcher 1.1.19
Features
- Polish GUI translation.
- DocFetcher now ships with Windows launchers with up to 8 GB of memory. Note that more than 1 GB requires a 64-bit Java runtime.
- Advanced settings: Option for disabling the text preview. This is useful for searching the contents of very large text files.
- Advanced settings: New entry AllowIndexRenaming for hiding the "Rename Index" context menu entry in the Search Scope pane.
Bugfixes
- The Windows installer couldn't detect an installed 64-bit Java runtime.
- Crash during startup saying "invalid sash weights" (bug #1223 and others).
- The GUI translations were not loaded in the OS X application bundle.
- Fixed Outlook PST indexing issues.
- Crash on certain CHM files (bug #1232).
- Crash on RTF files containing images (bug #1230).
- IndexOutOfBoundsException crash (bug #1298 and others).
- NullPointerException crash during indexing (bug #1236).
- Folder paths as long as or longer than 260 characters were incorrectly identified as NTFS junctions, causing some folders to be ignored during indexing.
- Crash when trying to rename a folder beneath an index (i.e. a top-level folder). Now the renaming operation is only enabled for indexes.
- Crash under certain circumstances when clicking on the buttons in the toolbar above the preview pane (bug #1252).
Changes
- The Windows installer now downloads JRE 8 Update 111 32-bit if no Java runtime was found.
- The comments in the DocFetcher.bat file were printed in the command prompt.
Changelog for older versions
Changes for older versions are listed in a separate text file. Additionally, there is a wiki page detailing the changes from v1.0.3 to v1.1 beta 1, where the program was rewritten from scratch: [Changes in v1.1]