BilderHerunterlader / Changelog

5.1.2:
- Version 5.1.2 is the same as 5.1.1, but with fixed BH.exe
- Updated IZPack to Version 5.2.0
- Updated NSIS to Version 3.09
- Cleaned up Installers generated with IZPack and NSIS
- Added BH.exe (Launch4j)
- Added options to disable reduction of filename and path lengths
- Bug Fixed: NullPointerException if table sort order setting is empty
5.1.1:
- Updated IZPack to Version 5.2.0
- Updated NSIS to Version 3.09
- Cleaned up Installers generated with IZPack and NSIS
- Added BH.exe (Launch4j)
- Added options to disable reduction of filename and path lengths
- Bug Fixed: NullPointerException if table sort order setting is empty
5.1.0:
- Changed settings format to JAXB. Old settings file settings.xml will be converted to BH-settings.xml.
- Removed NO_PROGRESSBAR_PERCENT and NO_PROGRESSBAR_SIZE options, because they are not needed anymore.
- Changed User-Agent behaviour: BH has now a hard coded default User-Agent, which will be used, when userAgent setting is empty. Parsing of websites should be more reliable this way, because the userAgent is the same for all users, except if the setting is changed. But the settings should only be changed if it is really necessary, it is preferred to set the User-Agent per rule.
- Added possibility to override userAgent per Rule
- Bug Fixed: Only apply window size and position settings if with and height are greater than zero. Otherwise there is a tiny window, when save window position is the default setting.
- Bug Fixed: Some components in File Rename Dialog were enabled in a state, when they should be disabled
- Bug Fixed: Abort of download was still not working correctly
- Improved performance when loading directory log
- Save main window position by default
- Moved CookieManager to new cookies package.
- Moved ProxyManager to downloader package.
- Use shared HttpFileDownloader and LocalFileDownloader instance instead of creating new instances for every download
- Added CookieStore to be used in downloader, which stores cookies in an sqlite database.
- Added setting to enable or disable usage of cookies database.
- Updated libaries
5.0.2:
- Bug Fixed: Abort was not working correctly
5.0.1:
- Removed HTTPMethod abort calls, because they are not needed and could cause exceptions, when httpclient is closing the response
5.0.0:
- Important: Java 11 is required!
- Self written Host Classes might not be compatible anymore, because of HttpClient upgrade and other changes. But they should be made compatible with minimal effort.
- In a rule it is now possible to store variables in a Regex Pipeline and use the variable in search patterns in following Regex definitions. This should be used only if it is really needed.
- Updated libraries (Most notably Apache httpclient 5.3 and SLF4J 2)
- Added new downloadContainerPage and downloadContainerPageEx methods in Hoster / Host to pass a HttpContext
- Added method to CookieManager to fill httpclient CookieStore
- Rules will now use HttpContext created by HTTPFileDownloader, so that cookies are preserved for all requests for determining download URL and the download itself
- Added constants for the most common info keys in URLParseObject
- Bug Fixed: HTTPFileDownloader did not respect "sendCookies" Flag. Note: Cookies, which were already stored in the cookie store of HttpContext will still be sent, even if "sendCookies" is false.
- Removed backward compatibility for Rule XML Files in old format
- Added new menu items to Help-Menu
- Lots of smaller Sonar / Bug Fixes
4.20.0:
- Bug Fixed: Download Complete Notification was displayed in wrong cases
- Bug Fixed: Wrong encoded filenames when they contain special characters
- Added possiblity for HostPlugins to set user agent used when downloading container page
- Bug Fixed: Condition for checking status code when downloading container page was wrong
- Updated libraries
4.19.0:
- Updated Log4j (Security Fix)
4.18.0:
- Added WebP to image file detection patterns
4.17.0:
- Bug Fixed: Coloring of disabled queue entries was not working anymore
4.16.0:
- Bug Fixed: Download-Selection Table could not be sorted anymore
- Added SQLite Database Defragmentation
- Fixed position of PopupMenu for Import/Export-Button for Queue (PopupMenu is displayed at mouse position if mouse is on the button, otherwise in the middle of the button)
- Moved Sort Files button from Import/Export-PopupMenu to the buttons in Queue, so it can be access directly
- Bug Fixed: Download-Complete Notification was displayed when exiting BH
4.15.0:
- Bug Fixed: Filename Pipeline was not working correctly in some modes
- Display rule trace information in the RuleTest-Dialog
- Upgraded to ehcache Version 3
- Updated dependencies
4.14.0:
- Bug Fixed: Exceptions when trying to restart after update was installed
- Bug Fixed: When a Pic is disabled, but the states is failed, the foreground color of the progress column must not be changed to red, because the brackground is already red
- Rule XML Files are now read and written with JAXB based on an XSD File
- Rule XML Files have a different format now. Rule files, which are still in the old format are automatically converted to the new format and a backup file of the old files is created (just in case something goes wrong).
- Refactored Rule Editor classes to only change JAXB classes, instead of runtime wrapper classes
- Removed duplicate code in Rule Editor classes
- Use folder name as title when sorting files
- Bug Fixed: Pic state maintained WAITING or DOWNLOADING state, when there was an exception on starting download instead of changing to FAILED state
- Bug Fixed: Sorting files was not working anymore, because in that case restriction domain is empty, which lead to an exception
4.13.0:
- Bug Fixed: Low performance because of synchronized blocks in HostManager. They are now replaced by read/write locks.
- Performance improvement and bug fixes in QueueManagerBase
- Performance improvement when adding, updating or deleting a lot of queue/keyword entries
4.12.2:
- Bug Fixed: Auto Retry Downloads was not working anymore
- Bug Fixed: Downloads Complete Notification was not working anymore
4.12.1:
- Bug Fixed: QueueScheduler was not executing tasks when maxConnectionCountPerHost is zero
4.12.0:
- Use JProgressBar in renderer, instead of placing progress bars into table data
- Bug Fixed: Restart was not working on Linux
- Removed all singletons
- QueueManager now manages the QueueTableModel, instead of Queue, to reduce locking overhead
- Separated status label in Queue into two labels, so that row count can be updated separately
- Replaced old implementation for managing download queue by new implementation, which uses QueueManagerBase
- Moved code away from Pic class, which should not have been there
- Fixed regex for nested class exclusion when loading Host Classes
- Updated dependencies
- Removed swingx dependency. Implemented new class for hiding columns. Hiding columns was to only reason for swingx, so now it is not needed anymore
- Bug Fixed: Image previews were not working on OpenJDK
4.11.0:
- Hide match type column in Keyword-Selection-Dialog, when not needed
- Allow filtering for keyword title and keywords in Keyword-Selection-Dialog
- Filter query String and fragment when extracting filename part from URL in Rule.java
- Added display of filename in download selection to RuleTest
- Improved help for Javascript Rule Pipelines
- Updated dependencies
4.9.8:
- Bug Fixed: IHosterURLAdder method was not called anymore, because of changed method signature.
- Removed unnecessary reflection code (Because Host- and Redirect-Classes are checked when loading the class, no checks are needed after that and interfaces can be used directly)
- Updated dependencies
4.9.7:
- Clipboard can be enabled/disabled in SystemTray Menu
- Bug Fixed: BH could hang in some cases, because not all Exceptions were catched
- Bug Fixed: LocalFileDownloader was used instead of HTTPFileDownloader for URL with special characters, because the check was done with unencoded URL
- Updated dependencies
4.9.6:
- Bug Fixed: target filename was changed to fixed, when the filename was set, which shouldn't be the case
- Fixed invalid cookie header log messages
- Updated dependencies
- Bug Fixed: Keywords were not saved to database on import (So keywords were gone after BH was closed)
4.9.5:
- Size and position of Download-Selection-Window can now also be saved
- Bug Fixed: Bitrate was calculated, even when no time has passed and therefore no calculation should be done
- Preview Size can now be configured in Settings (Note: Setting the size high will increase memory usage and decrease performance and potentially lead to errors)
- HostYoutube now also can download DASH files
- Rules are now sorted after edited or new rule added
- Added separate setting for download path for portable version (directories.properties)
- Added option for displaying Keyword-Selection-Dialog, when no keyword matches were found
- Moved download code from Pic to new classes HTTPFileDownloader, LocalFileDownloader, FileDownloaderBase. Separated code for downloading files and move local files.
- Lots of code improvements and fixes
- Moved redundant code from host classes to base class
- Added JAXB dependencies. Therefore "--add-modules java.xml.bind" or "--add-modules ALL-SYSTEM" should not be necessary anymore to start BH in Java9 or Java10
- Used IzPack 5.1.3 for creating the Jar-Setup (Platform independent setup), which should work with Java9 or Java10
4.9.4:
- Bug Fixed: Title-Refresh button was not disabled.
- Bug Fixed: Table column resize mouse icon was not displayed, because ScrollPane was disabled and never enabled again.
- Width of non-resizable columns are now calculated based on font, so that they have an appropriate size on high-DPI screens.
4.9.3:
- Bug Fixed: Filenames could not be renamed in Download-Selection
4.9.2:
- AdderKeywordSelectorTitle now always displays all keywords if no matches are found or if the checkbox is selected. This way also keywords can be selected, for which no match was found.
- Fixed nested class loading for HostClasses in Java9
- Bug Fixed: ParsePagesDialog was opened twice with one click
- Improved handling of always add title in Download-Selection
- Improved handling of path changes in Download-Selection
- Set BH Icon for Download-Selection
- Code optimizations and improvements
- Changed Update Format (BH.jar and libraries or other files are now downloaded as Zip-File and extracted, instead of downloading everything separately)
4.9.1:
- AdderKeywordSelectorTitle now always displays all keywords if no matches are found or if the checkbox is selected. This way also keywords can be selected, for which no match was found.
- Fixed nested class loading for HostClasses in Java9
- Bug Fixed: ParsePagesDialog was opened twice with one click
- Improved handling of always add title in Download-Selection
- Improved handling of path changes in Download-Selection
- Set BH Icon for Download-Selection
- Code optimizations and improvements
- Changed Update Format (BH.jar and libraries or other files are now downloaded as Zip-File and extracted, instead of downloading everything separately)
4.9.0:
- Changed implementation of ClipboardObserver to polling, because without polling there are problems with graphic programs (Content copied by them to the clipboard are not set back to clipboard exactly in the format as they were originally set)
- Optimized duplicate remove and search for already downloaded files
- Bug Fixed: Resources were not closed in error cases
- Improved filename detection from URLs
- HostDefaultFiles now also checks content type for Video and Audio and check for accepted files is improved
- Added option to pipelines and rule to enable / disable of cookie sending
- Moved downloadContainerPage method from Rule to Hoster
- Bug Fixed: PreviewDownload-Thread was running forever in some cases
- Removed duplicate code in some classes
- Several minor bug fixes
4.8.0:
- Bug Fixed: Search String was set to member, even if Pattern could not be compiled
- Fixed table row heights on high resolution displays with high DPI
- Fixed dialog sizes on high resolution displays with high DPI
- Bug Fixed: When cancel was pressed on EncodingSelectionDialog, the tasks which opened the dialog, were not cancelled
- Bug Fixed: Save and Load of Table Sort Orders was not working anymore
4.7.0:
- Bug Fixed: Title was added to download path again (even if it was already added) in some cases.
- Added missing translation for WebExtension Port
- Filters in Keywords table are now case insensitive and the textfield will indicate with background color an incorrect regex filter syntax and the tooltip will show the error message
4.6.0:
- Added HTTP Server for support web requests from Firefox WebExtension
4.5.0:
- Updated dependencies
4.4.0:
- Improved download rate display
4.3.9:
- Bug Fixed: HostSortImages was sorted before HostRules, which prevented from URL's to be handled by HostRules
- Added IPv6 URL Support in classes, where it was missing
4.3.8:
- Fixed URL encoding and decoding by using URI and URL class instead of URLCodec (which does application/x-www-form-urlencoded encoding and decoding)
- Added option to decode application/x-www-form-urlencoded results in Rules. Normal URL decoding is always done.
- Added an invisible parent frame for dialogs shown at startup (Errors or language selection), so that they appear on the taskbar
4.3.7:
- DB4O Databases are replaced by SQLite Databases. The databases are converted the first time BH is started after the update. If there are a lot of downloads or keywords this will take some time. There will be two windows showing the progress of the conversion.- Lots of small changes related to the new Database
- Display an error message in more cases when the databases can't be opened
- Changed grid color of tables
- Keyword table is sorted by title by default
- Filters in Keyword Table will not be reset when the table is reloaded
- Added menu item to open the log folder
- Display more information in about dialog
- Updated Libraries
4.3.6:
- Bug Fixed: Spaces where not correctly encoded in URL's
4.3.5:
- Added support for newer versions of Opera (Needs to be selected in the Settings). But only Windows is supported.
4.3.4:
- Bug Fixed: URL's could not be opened in Browser, because of missing configuration file in BrowserLauncher2-1.3.jar. BrowserLauncher2-all-1.3.jar needs to be used instead.
4.3.3:
- Updated Libraries
-BH is now a Maven Project
4.3.0:
- Use SLF4J API instead of log4j directly
- Switched from log4j1 to log4j2
- Configure log4j2 by xml instead of programmatically
- Use SLF4JUncaughtExceptionHandler as DefaultUncaughtExceptionHandler to log uncaught exception to the log file
- Added a different error message, for the case when the download URL can't be found by a rule, which requires a thumbnail-URL, but the thumbnail-URL is empty
- Bug Fixed: Width of "Add Path Combobox" is too big, when a long text is in the list of items of the combobox
4.2.3:
- Added support for Pale Moon Cookies
- Refactored Cookie Handling
4.2.1:
- Disable/Enable the Download-Selection table instead of Hide/Show it
- Bug Fixed: Already downloaded URL's were sometimes not correctly colored in the Download-Selection table
- HostCoppermineGalleries: Added option, which allows to enable meta albums. If the option is enabled, links to meta albums (like "top rated") are then also accepted.
4.2.0:
- Bug Fixed: NullPointerException when downloads stored with previous versions of BH were loaded in version 4.1.9
4.1.9:
- Bug Fixed: Deadlock when settings were saved while downloads were running
- Bug Fixed: Preview button in AdderPanel was not enabled/disabled
- Bug Fixed: CopyOnWriteArrayLists were accessed by index instead of for each or iterator
- Bug Fixed: Multiple possible deadlocks
4.1.6:
- Bug Fixed: BH was not accepting links from the browser extensions in Java8, if auto update check is enabled.
- Updated libraries
4.1.0:
- Added image preview support in Download-Selection (You should only enable this option, if you've enough memory, a fast computer (especially hard disk). And do not open many Download-Selections at the same time, if you enable it!)
- Bug Fixed: Blacklist Cell value was not indexed correctly in some cases
- Bug Fixed: reduceFilenameLength was used with only title by some hosts, which does not work correctly, if a dot is in the title. Replaced those usages by a new function which reduces only by a given limit, without treating the String as filename.
- Refactored Update code to be more flexible for further implementations
- Pic-Class now logs first stack trace of HostException and of the cause if available
- Copy-URL Menu Item will not add a newline at the end, if only 1 link is copied
- Updated libraries
4.0.9:
- FilenameChangeHistory list is displayed in reverse order
- Small bugfixes
- Bug Fixed: Clipboard data was replaced by the old data, after the link was read from it.
4.0.6:
- Increased performance by using unsynchronized Collections
- Usage of Interfaces for Collections instead of implementations
- Optimized search for already downloaded files
- Added generic recursive link/image extract functionality for use in HostClasses
- Renamed packages: This makes HostClasses and saved Queues and Keywords incompatible, but they will be loaded anyway and converted to the new version.
- Added HTML escape and unescape functionality
- Improved content-disposition filename extraction
- Removed Splashscreen
- Bug Fixed: ClipboardObverser now detects changes of the clipboard as it should
- DirectoryLog is read the first time the tab is selected and not at program start
- Rules and HostClasses can be enabled and disabled
- ThreadURL, DownloadURL and ThumbnailURL are now also saved in the download logfile
- Standard notification of TrayIcon instead of an own window
- GUI improvements
- Java 7 is required
- Lots of small bug fixes
- Added Javascript Rule Pipelines