Dooble Changelog

What's new in Dooble 2.1.9.3

Aug 6, 2018
  • Allow hiding of the location frame per tab page via tab context menu.
  • Allow removal of unchecked cookie domains.
  • Corrected words_to_bytes() in the Threefish implementation. Missing bitwise-and operation at the initial element.
  • Disable Language option in Settings if the system's default language is English. Thank you anchev.
  • New WebRTC option. Please see the Web panel of the Settings window. Qt 5.11 only.
  • Qt 5.11.1.
  • Reconnect QWebEngineCookieStore::cookieAdded() after count milliseconds upon initialization, where count is the number of processed cookies.

New in Dooble 2.1.2 (Dec 14, 2017)

  • Avoid updating titles of Favorites. Visited sites may issue new titles.
  • Corrected UTF-8 Favorites URL data. Icons were not properly initialized. URL processing lacked decoding logic.
  • Corrected parents of separated pages. Problem causes abnormal termination.
  • Corrected tab titles of pop-up windows.
  • Date-order address-widget model. Also eliminated repetitive use of expensive method.
  • Documentation corrections.
  • New Dark theme.
  • New Data/dooble_accepted_or_blocked_domains.txt.
  • New Default theme.
  • New option for allowing pop-ups from domain-based URLs.
  • Observe QWebEnginePage::windowCloseRequested().
  • Optional tool tips over hovered links.
  • Override QWebEnginePage::chooseFiles(). The new implementation sets the file dialog's current working directory to the user's home path.
  • Properly stack visited links in the address-widget model. Recent items must be placed onto the stack.
  • Set QMAKE_LFLAGS_RELEASE += -Wl,-rpath,/usr/local/dooble/Lib in dooble.pro for non-Mac and non-Windows.
  • Set Section in DEBIAN/control to net.
  • The Debian package was missing the Qt5Svg library. As a result, some icons in file dialogs were not drawn.

New in Dooble 1.56d (Jul 3, 2017)

  • Corrected the About dialog's argument sequence.
  • New libgcrypt 1.7.8 on OS X.
  • OpenSSL libraries at version 1.0.2l.
  • Prepare User-Agent headers on download requests. Thanks to MarkProDev for reporting the problem.
  • Removed install targets from non-FreeBSD and non-OS X project files.
  • SQLite at version 3.19.3.

New in Dooble 1.56c (Jan 25, 2017)

  • Child windows will be centered by default.
  • Custom per-widget style sheets on Dooble and Settings via context menus. Some widgets are ignored.
  • Do not resize the main window if the status bar's label is resized as a result of lengthy status text.
  • Fancy splash screen.
  • Initialize Blocked Hosts window icon.
  • Issue activateWindow() before issuing raise() as some desktop environments ignore raise().
  • New Tools menu, per warp9pnt9. The menu is a copy of the Windows menu.
  • Per warp9pnt9, allow access to the Settings window via the initial passphrase reminder prompt.
  • Purge cipher handle's contents in dcrypt::setCipherPassphrase() upon a failure.
  • Register special types with Qt.
  • Remind the user if the selected iteration count exceeds the default value during passphrase preparation.
  • Replaced dmisc::centerChildWithParent() with QDialog::adjustPosition().
  • Report gcrypt key-generation failures.
  • SHA-3 availability. libgcrypt 1.7.0, or newer, is required.
  • Upgraded OpenSSL libraries to version 1.0.2j on OS X and Windows.
  • Upgraded SQLite to version 3.15.2 on OS X and Windows.
  • Upgraded libgcrypt to version 1.7.5 on OS X; Homebrew.
  • Upgraded libgpg-error to version 1.2.6 on OS X; Homebrew.
  • libspoton at version 0.1.6.
  • removeFirst() over takeFirst() if the item is not required.

New in Dooble 1.56b (Sep 9, 2016)

  • Allow overriding of error code 299. Please see Settings:WebKit.
  • EXISTS() instead of COUNT(), if beneficial.
  • Highlight links whose text contents do not match their URLs. The status bar must be visible.
  • Removed static variables.
  • Upgraded libgcrypt to version 1.7.3 on OS X.
  • Upgraded libgpg-error to version 1.24 on OS X.

New in Dooble 1.56a (Jul 5, 2016)

  • Added a protocol widget to Allowed SSL Ciphers.
  • Allow use of all available ciphers.
  • Consider SSLv3 when populating Allowed SSL Ciphers.
  • Corrected tab order of Display Priority widget; Settings window.
  • Do not use QWebPage::triggerPageAction(QWebPage::Copy) as this requires JavaScript. Instead, use QWebPage::selectedText().
  • Do not assign parents to dialogs if the parents may vanish.
  • OS X project files used incorrect optimization level O3 instead of Os.
  • Qt 5.5 documentation recommends the use of QSslConfiguration::setCiphers() instead of QSslSocket::setDefaultCiphers(). Modified for Qt 5.x and newer.
  • Simplified the Allowed SSL Ciphers implementation, including corrections.
  • The database allowedsslciphers.db should have the (name, pair) tuple as the primary key. The database will be removed.
  • Upgraded OpenSSL to version 1.0.2h on Windows.
  • Upgraded SQLite to version 3.13.0 on Windows.
  • Upgraded libgcrypt to version 1.7.1 on OS X.
  • Upgraded libgpg-error to version 1.23 on OS X.

New in Dooble 1.55 (Nov 6, 2015)

  • Allow suspending of a page load via a tab's context menu.
  • Avoid accepting secure cookies from HTTP sites.
  • Avoid serving secure cookies over HTTP.
  • Enable cross-site-scripting auditing. New installations only.
  • New per-tab progress bars.

New in Dooble 1.53 (Jul 7, 2015)

  • Added Stribog-512.
  • Allow for automatic cancellation of stagnant JavaScript scripts.
  • Allow non-authenticated sessions to share plaintext information with Spot-On.
  • Allow removal of Spot-On shared links. Please see Clear Containers and the Edit menu.
  • Also retrieve keywords as part of a page's description.
  • Corrected QSsl enumeration usage for Qt 4.7.x. Thanks to Elbert for reporting.
  • Corrected Qt macro usage.
  • Corrected SSL widget states in the Settings panel.
  • Corrected Spot-On button state in the URL location widget.
  • Corrected retrieval of default iteration count.
  • Log libspoton errors.
  • Modified the favicon's context menu so that the available option references the site's host instead of the domain.
  • Per Mattias Andree, added support for the Gopher protocol. Lots of changes provided by Mattias. File downloads are supported. Pausing downloads is not supported.
  • Properly center exceptions windows that are activated from Settings.
  • Removed non-native full-screen support.
  • Removed translated log entries.
  • Set the SSL protocol for QNetworkRequest objects. Removed setting of the protocol in Allowed SSL Ciphers.
  • Set the location widget's text after a successful page load or an update of the URL if and only if the user has not modified the location widget's text.
  • The method dwebpage::slotFinished() must inspect the reply's "dooble-favicon" property as the method may be reached after a download of a favicon.
  • Updated Czech translation. Thanks to Pavel Fric.
  • Updated libspoton to 0.1.2.

New in Dooble 1.52 (Apr 2, 2015)

  • Ability to disable the main window's menu bar.
  • Remind the user if the SQLite database driver is missing.
  • Adjusted full-screen support.
  • Allow hiding of the Desktop and Home buttons.
  • The Dogpile search engine supports SSL/TLS.
  • Added the search engine wikibooks.org.
  • Corrected dooble::saveSettings() with respect to the full screen mode.
  • Removed hiding of the location tool bar.
  • Upgraded OpenSSL libraries to version 1.0.2a.
  • Ignore QX11EmbedContainer if Q_WS_X11 is not defined.
  • Display the JavaScript alert in dwebpage::javaScriptAlert() via QMessageBox::exec() instead of show().
  • The default SSL configuration's protocol must be set according to the available cipher protocols (SSLv3, TLSv1.0, TLSv1.1, TLSv1.2). Please see http://doc.qt.digia.com/qt-maemo/qsslconfiguration.html.
  • Issue std::nothrow in gcry_qmutex_init().
  • Upgraded libgcrypt to version 1.6.3 on Windows.
  • Upgraded libgpg-error to version 1.13 on Windows.

New in Dooble 1.49 (Sep 15, 2014)

  • Optional Speedy support. Please see the Security panel in Settings. Disabled by default.
  • Qt upgraded to version 5.3.1 on Linux 64-bit, OS X, and Windows.
  • Version 1.48's item #22 causes severe issues if a page is loading while the cache is being cleared. Corrected.
  • Replaced optimization Os with O3 in dooble.pro.
  • Newly-opened tabs may lack proper URLs for reload purposes. Use the provided URLs as a solution.
  • Ability to access tabs via the Alt + Key 0 through Alt + Key 9 key sequences.
  • Per user request. If Dooble encounters an HTTP status code of 400, 401, ..., 599, it will display the contents of the page that generated the error if instructed to do so. Otherwise, Dooble will display its custom error page if a critical error occurred. Please see the WebKit section of the Settings page.
  • Changed dnetworkaccessmanager::slotFinished(): increased timer's timeout to 60 seconds. The intent of the timer is to delay deletion of the provided network reply object.
  • Removed Vidalia as it has been abandoned by the Tor network.
  • Use GCRY_MD_FLAG_SECURE in gcry_md_open().
  • Removed sha224, sha256, sha384 from the list of supported hashes. Added whirlpool.
  • Support only ciphers having key sizes of 256 bits.
  • Implemented QNetworkCookieJar methods for Qt 5.x.
  • Per user request, allow finer control of cookies. Please see the Cookies Exceptions window.
  • Corrected default value in usage of settingsWindow/thirdPartyCookiesPolicy.
  • Deleting QBuffer objects in dnetworkcache::remove() causes problems. Corrected.
  • Added CSS/error-pages.css. Thanks to zodern.
  • Per request, Web inspectors.
  • Added updated Basque translation. Thanks to Xabier Aramendi.
  • Per request, ability to disable proxies for specified addresses.
  • Ability to disable private browsing in support of protonmail.ch. Please note that Dooble maintains its own favicon and history databases. Please see the Settings window's Security panel. Option may also be modified via a tab's context menu.
  • Corrected propagation of a tab's context menu's Web Plugins setting.
  • Per request, printing from a terminal. Only HTTP(S) schemes are supported. Please note that all user settings are ignored. Please also note that PDF documents are generated for successful loads only. (Dooble --print-url www.nasa.gov --print-url www.weather.gov) If at least one correct occurrence of this option is discovered, Dooble will process it and then terminate.
  • The argument option url has been renamed to load-url.
  • Updated OpenSSL libraries to version 1.0.1i on Windows.
  • Updated SQLite to version 3.8.6 on Windows.
  • Verify argv[] after incrementing the iterator.

New in Dooble 1.48 (Jun 21, 2014)

  • Register meta types in main().
  • Added Location Toolbar under View -> Toolbars. Setting is retained.
  • dcrypt::weakRandomBytes() should return an empty container if provided a negative or zero size parameter. See also item #.
  • Full screen mode on OS X is malfunctional. Instead of using QWidget::showFullScreen(), use QWidget::showMaximized(). Pre-Qt 5.3.0 only. Qt 5.3.0 is superb.
  • Removed SIGKILL handler.
  • Added QPainter::NonCosmeticDefaultPen as a render hint.
  • Improved reporting of SSL errors.
  • Instruct Qt/WebKit to not cache error pages that are generated by Dooble.
  • Modified the tab bar's style sheet. Removed the add button.
  • Relaxed definition of dmisc::isGnome(). Please expect window size changes.
  • Removed the Doc directory.
  • Removed fusion for OS X and Qt 5.
  • If enabled, new window processes will now start detached.
  • Use exec() in dooble.sh, per maandree.
  • Removed all support of DOOBLE_USE_QGRAPHICSWEBVIEW. This feature was introduced in version 1. to cope with Flash on Linux.
  • Corrected spelling in dcrypt::weekRandomBytes(). Must be weakRandomBytes().
  • Do not iterate through history items when deleting the entire history.
  • Removed -bit support from OS X. Dooble has very little usage on OS X.
  • Upgraded Qt products to version 5.3.0 on OS X and Windows.
  • Use the fusion style on FreeBSD and Linux. Please see dooble.sh.
  • Modified the reset process so that it removes all user items. User recommended.
  • Delete QBuffer objects when the network cache is cleared.
  • Dooble fails to set the variable s_homePath if the current working directory is not readable and is not writable. This error is restricted to Windows. Corrected.
  • The OS X build is optimized for performance instead of size.
  • Prevent division by zero in ddownloadwindowitem::updateProgress() and dtabbar::tabSizeHint().
  • Removed support for OS X .6. The minimum supported version is now .7. Use the clang compiler on OS X and Qt 5.x.
  • Ability to use native file dialogs or not. Please see the Windows section of the Settings window. Also set the QFileDialog::DontUseNativeDialog option whenever a file dialog is created.
  • Removed odd QMdiSubWindow object from the Desktop. This object does not appear to be required during the background-selection process. Also inspect the fileDialog object in ddesktopwidget::slotBackgroundDialogFinished().
  • Delete the tableModel and treeModel objects on process exit.
  • Version 1.'s item # causes the full screen mode of OS X on Qt 5.3 to raise a serious exception. Corrected.
  • Prevent an integer overflow resulting from multiplication during the display of download rates in bits.
  • Ability to disable encrypted database writes. Please see the Safe panel under the Settings window.
  • Replaced dsavehistorythread.
  • Review hash computation failures.
  • Added hash fields to various databases. This change will greatly improve database access performance as Dooble will not be required to iterate through items. Please export your bookmarks before upgrading. Databases upgraded: all exceptions databases, bookmarks.db, downloads.db, and history.db.
  • Prevent recursive calls to the signal handler. Exit with the provided signal number.
  • Added support for the SPDY protocol. Qt 5.3 is required. Please see https://en.wikipedia.org/wiki/SPDY.
  • Upgraded SQLite to version 3.8.5 on Windows.
  • Removed s_settingsMutex from the dooble class as this mutex is not used.
  • Improved thread-safety in the dcookies and dnetworkcache classes.
  • Corrected lrelease and lupdate project references.
  • Modified the minimum Web font sizes from 9 to 6.
  • Disable Web-related context menu items on the Desktop tab.
  • Upgraded OpenSSL libraries to version 1.0.1h on Windows.
  • Corrected a height error with the URL widget's completer view. Error apparent on Windows only.
  • Removed stylesheets from the passphrase dialog.
  • Corrected clearing of history items. One of the URL widget's private containers is not emptied during the cleaning process. Because of this, the completion mechanism fails to discover history items that have been added after the history has been cleared if those items exist in the private container.

New in Dooble 1.47 (Apr 22, 2014)

  • Inspect indexOf() results.
  • Corrected a syntax error in dcrypt::setCipherPassphrase() with respect to gcry_calloc_secure(). Error apparent with pre-1.5.0 libgcrypt.
  • Upgraded Qt products to version 5.2.1 on Linux, OS X, and Windows.
  • Replaced the count variable in dmisc::findUniqueFileName() with dcrypt::weekRandomBytes(8).
  • Inspect results of QDataStream::operator() in dcrypt.cc.
  • Review QDataStream operations.
  • Renamed Doc to Documentation.
  • Upgraded OpenSSL libraries to version 1.0.1g on Windows.
  • Upgraded SQLite libraries to version 3.8.3.1 on Windows.
  • Issue dcrypt::terminate() in sig_handler().
  • Corrected integer conversions. Increased integer variable sizes to accommodate large SQLite integers.
  • Important change. Authentication content will now be attached to encrypted data. Please note that this change will cause Dooble to be reset. Please export your bookmarks before updating.
  • Dooble shall now generate a separate hash key during the key derivation process. Version 1.5.0, or newer, of libgcrypt must be present otherwise the encryption and hash keys will be derived (loosely) from common data. For pre-1.5.0 versions of libgcrypt, the passphrase's hash is used for capturing encryption and hash keys. For example, for SHA-512, the computed hash is of length 64. The first 32 bytes will be used for an AES-256 cipher. The remaining 32 bytes are to be used for the hash key. Please note that Dooble stores a salted hash of the passphrase in the configuration file.
  • The method dmisc::hashedString() has been replaced by dcrypt::keyedHash().
  • dcrypt::dcrypt(dcrypt *) did not initialize several class variables. Corrected.
  • Removed the stylesheet from the passphrase reminder.
  • Inspect argv[] in main().
  • Optimize for size. Change applied to all project files.
  • The method dcookies::populate() does not need to remove artificial padding because the length of a plaintext is appended to the plaintext before the product is encrypted.
  • Inspect decryption and encryption results. Decryption failures will cause database items to be removed. Please note that this change will be covered by several releases.
  • qgetenv() returns a byte array.
  • Added SHA-1 functionality to Downloads.
  • Close file descriptor opened via creat() in sig_handler.
  • Many of the database writes are now synchronized.
  • Corrected dooble.sh, per maandree.
  • Verify that the decrypted value in dcrypt::decodedString() contains at least 4 bytes.
  • The method dbookmarkswindow::slotAddBookmark() did not close the database handle. Corrected.
  • If possible, terminate timers on termination.
  • Removed the run-time search path from the FreeBSD project files.
  • Removed the Plugins/libinterface-win.
  • 33. Removed the Packaging directory.

New in Dooble 1.46 (Jan 28, 2014)

  • QThread::idealThreadCount() may fail. Offer protection.
  • Removed claims of security from license sections.
  • Replaced gcry_strerror() with gpg_strerror_r() in methods that are accessed by multiple threads.
  • Corrected flawed SQL statement in dexceptionsmodel::allow().
  • Adjusted SQL statements so as to avoid SQL injections. Some statements in dexceptionsmodel.cc were not modified because of their relationships with database file names and database table names.
  • Ability to deny JavaScript confirmations and prompts.
  • Updated libgpg-error to version 1.12 and libgcrypt to version 1.5.3 on OS X 64-bit.
  • Allow or prohibit access of local URLs by local documents. Enabled by default.
  • Corrected position of gcry_control(GCRYCTL_ENABLE_M_GUARD). The guard may only be enabled before issuing gcry_check_version().
  • gcry_control(GCRYCTL_SET_THREAD_CBS) must be issued before gcry_check_version(GCRYPT_VERSION).
  • Issue gcry_control(GCRYCTL_TERM_SECMEM) during Dooble's termination.
  • The URL widget's bookmark icon's state was incorrectly set whenever the theme changed. Corrected.
  • Qt products have been upgraded to version 5.2.0 on Linux, OS X 64-bit, and Windows.
  • Corrected the OS X Qt 5 project file, missing Cocoa framework.
  • Enlarged some integer class variables.
  • Added fwrapv and Wstrict-overflow=4 to various project files.
  • Enable QLineEdit::NoEcho on OS X and for Qt 5.0.0 to Qt 5.1.1.
  • Removed most VACUUM SQLite statements as they caused performance issues on less elaborate systems during termination. The Clear Containers mechanism will vacuum various databases.
  • Introduced a basic byte-comparison function so as to lessen so-called timing attacks during password validation.
  • Changed default settings: Block Pop-ups (true), Block Third-Party Frame Content (true), Cookies (disable third-party), JavaScript (false). (http://howto.cnet.com/8301-11310_39-57616122-285/three-privacy-focused-browsers-compared)
  • Added a simple menu to the location widget's page icon. Option to view the current site's cookies also added. Please note that the displayed cookies are the cookies that Dooble has gathered for the respective site and may be different from the current private cookies.
  • Configurable SSL ciphers. Please see Windows -> Allowed SSL Ciphers.
  • Simplified 3rd-party block messages as they were causing performance issues.
  • Corrected parameter use in gcry_md_hash_buffer(), in dcrypt::setCipherPassphrase().

New in Dooble 1.45 (Sep 23, 2013)

  • Corrected integer overflows of download rates.
  • Sockets of paused downloads were not properly disconnected. Corrected.
  • Removed most blockSignals() instances. Use disconnect() instead.
  • Some sites contain unsupported content. As such, Dooble must set the current tab's title and URL accordingly.
  • Remove cache information of unsupported content.
  • Added DOOBLE_USE_PTHREADS to all project files.
  • Added dooble.powerpc.pro. Dooble on the PowerPC!
  • Corrected progress information of downloads.
  • Removed Dooble/Version from user agent strings.
  • Added the Startpage search engine, per request.
  • Added SSL Level to the Settings page's Security panel. Default: Strict.
  • Updated Qt to version 5.1.1 where applicable.
  • Removed v8 references from Qt 5.x project files. (Project ERROR: Module v8 has no public API.)
  • Modified navigation of FTP folders. Double-clicking items will now activate a page load.
  • Corrected definition of m_networkAccessManager in dwebpage.h. m_networkAccessManager is a dnetworkaccessmanager and not a QNetworkAccessManager.
  • Introduced an experimental change intended to prevent the third-party-blocking mechanism from purging valid network requests.
  • Updated dooble_pt. Thanks to Sergio Marques.
  • What's going on with fromHex() and toHex()? Why does Dooble need to store data in the INI file as hexadecimal values? Purged! Dooble will reset most important containers. Apologies. Export your bookmarks!
  • Corrected display units.
  • Corrected suppresshttreferrerexceptions.db. The database's name should be suppresshttpreferrerexceptions.db.
  • Display exceptions windows relative to the closest descendant. Only applies to newly-displayed windows.
  • Corrected state of the View menu's Stop option.
  • Align non-Dooble windows with nearest descendant. Only applies to newly-displayed windows.
  • Disconnect signals from tabs that have been assigned to new parents.

New in Dooble 1.43 (May 13, 2013)

  • Some sites malfunction if HTTP Referrer is disabled. Instead of forcing an exception, set the header to the requesting site's domain. Removed HTTP Referrer exceptions.
  • Updated libgcrypt to version 1.5.2 and libgpg-error to version 1.11 for OS X 64-bit.

New in Dooble 1.42 (May 7, 2013)

  • Modified the threadpool count to qCeil(1.5 * QThread::idealThreadCount()).
  • Improved gcry_calloc_secure() failure detection in dcrypt::dcrypt().
  • Corrected error messages.
  • Version 1.17 introduced tab-only cookies; many, many years ago.
  • The implementation was overly complex and yet quite primitive.
  • Re-implemented. Accessible via a tab's context menu.
  • Notifications of cookie exceptions were flawed. Corrected.
  • Added the WebGL option to the Settings window's Security panel. WebGL may not be available for all Qt versions.
  • Use separate QWebPage objects during the restoration process.
  • Upgraded Qt5 to version 5.0.2 on Linux and OS X distributions.
  • Updated the libspoton interface.
  • Modified the behavior of Always HTTPS such that manually-entered locations are not transformed. Also, raise an exception if a load of a secure page causes an error.

New in Dooble 1.40 (Mar 7, 2013)

  • The manual clearing of cache items shall now be performed by a thread.
  • Added architecture information to the About dialog.
  • Windows Web font sizes have been set to 10 for all new installations.
  • The cipherType was not properly saved to the INI file. Corrected.
  • Fixed the state of the Authenticate Passphrase menu action. The state was incorrectly enabled after a proper authentication.
  • Corrected casts in calls to gcry_cipher_decrypt() and gcry_cipher_encrypt().
  • Approved Portuguese translation provided by smarquespt.
  • Corrected shortcuts for generic search text widgets.
  • Qt products have been upgraded to version 5.0.1 on Linux 64-bit and OS X platforms.
  • FreeBSD support! A FreeBSD bundle of Dooble may be released with version 1.40 for x86_64 systems.
  • The QNetworkReply::ContentNotFoundError network error was incorrectly
  • managed in dwebpage::slotFinished().
  • Added _PTHREAD_H_ to dmisc.cc in support of FreeBSD.
  • The method dcrypt::decodedString() did not record positive results in
  • the indicator variable. Corrected.
  • dmisc::encodedString() will now recognize errors and report them via a new indicator variable.
  • Version 1.28's item #3 is an interesting artifact. An experimental solution is to defer the deletion of the QNetworkReply objects.
  • Included Galician translation files provided by Miguel Bouzada.
  • QNetworkReply objects should not be deleted in dview as they are already purged by dnetworkaccessmanager.
  • The Delete key is sometimes masked as the Backspace key. Corrected various
  • keyboard event handlers.
  • Allow users to save pages in the data URI scheme format. Very basic implementation.
  • Corrected download units (KB to KiB, etc.).
  • Modified the Downloads window such that download rates may be displayed in bits.
  • orrected dftp::get(). The order of commands should be: SIZE %1\r\nCOMMAND\r\n\RETR %1\r\n, where COMMAND is usually REST and %1 is the file name.
  • The method dcrypt::decodedString() incorrectly assumed that thesuccessfully-decrypted data contained valid size information.

New in Dooble 1.38 (Jan 7, 2013)

  • Removed version 1.37 source.
  • Enabled the Metal protocol on OS X systems. Removed the tab bar's corner widget on OS X systems only. Nice. (The Metal protocol is disabled for Qt 5.0.)
  • Version 1.37 item #18 contained incorrect information. The interval at which the cache is reviewed is ten seconds.
  • Corrected an odd re-encoding flaw. Dooble should not populate re-encoding containers if a passphrase has not been prepared by the user.
  • Added Include.osx32 and Libraries.osx32 for developers.
  • Corrected the OS X bundle and project file. The OS X executable included some incorrect loader paths.
  • Updated libspoton.dll, libspoton.dylib, and libspoton.so.
  • The file dooble.win.pro defined DOOBLE_GCRYPT_VERSION instead of DOOBLE_MINIMUM_GCRYPT_VERSION. Corrected.
  • Created the dcrypt class. The new class will eliminate much of the bitter source in dmisc.cc. Another benefit of the new class is the removal of temporary containers that are used during data re-encoding.
  • Please export your bookmarks before upgrading to version 1.38. Users should also expect data loss.
  • Allow clearing of bookmarks from the Clear Containers window.
  • Added the shortcut Control + Shift + Del to the Clear Containers window per ReactOS user request.
  • Set the url_hash as the primary key in the favicons table. Expect data loss.
  • Initialization vectors need not be stored in secure memory. Use gcry_calloc() instead of gcry_calloc_secure().
  • Introduced the Salt Length option to the Settings window's Safe page.
  • Updated Qt products to version 4.8.4 on 32-bit Linux, OS X, and Windows platforms. 64-bit Linux will feature Qt 5.0!
  • Force downloads to be aborted during the exit process. Please see ticket 3593151.
  • Qt 5.0 porting changes.
  • Cache JavaScript objects.
  • Added Include.osx64 and Libraries.osx64.
  • Added Qt 5.0-specific project files.
  • Increased the number of open files on OS X systems to OPEN_MAX.
  • The increase only applies to the soft limit.
  • The Accept third-party cookies checkbox (Settings window's Security panel) has been replaced by a pulldown in support of Qt 5.0. The new options are: always allowed, always blocked, and allowed with existing cookies.
  • The Q_WS macros are not available in Qt 5.0. As a result, all Q_WS macros have been modified accordingly.
  • Use non-native file dialogs on OS X. The QFileDialog::selectFile() is problematic.
  • Embedded terminals have been removed for Unix systems and Qt 5.0.
  • Allow disabling of the authentication dialog. Please see the Settings window's Safe panel.
  • Added tooltips to various widgets.
  • Inspect the status of data streams.
  • Some pages do not emit the QWebFrame::initialLayoutCompleted() signal. As a result, the favicon will not be aquired. By also capturing the QWebFrame::urlChanged() signal, our chances of fetching the favicon increase.
  • Replaced creat() with open() on Unix platforms.
  • dmisc::decodedString() will now recognize errors and report them via a new variable. The process of updating every use of the function will take several releases.
  • Fixed an incorrect if-statement in dreinstatedooble::dreinstatedooble() that had the potential of aborting Dooble during the restoration process.
  • QString::toAscii() is not available in Qt 5.0. Replaced with QString::toLatin1().
  • The minimum Web font size has been changed from 14 to 12. Only new installations will notice the change.
  • If possible, automatically add the Nuvola icon theme.
  • Do not inform the user of console events unless instructed to do so.

New in Dooble 1.37 (Oct 31, 2012)

  • Do not remove the iterationCount setting from Dooble.ini during
  • a reset.
  • A change to the iteration count must not be retained unless the
  • passphrase has also been modified.
  • Added the macro DOOBLE_URLFRAME_LAYOUT_SPACING. Developers should
  • use this macro to control the layout spacing of the URL frame. The
  • dooble.arm.pro project file currently prepares the macro with a value
  • of 1.
  • The favicons table's favicon field supports binary
  • data. Storing base64 representations of binary data is
  • inefficient. A similar approach has been applied to the
  • applications.db database.
  • The method dmisc::setActionForFileSuffix() created an incomplete
  • applications table. Corrected.
  • Added IF NOT EXISTS clauses to various CREATE TABLE instances.
  • Integrated the libspoton library. The library will allow users to
  • share links with Spot-On, a distributed search engine
  • that features anonymity and privacy. Although Spot-On is not yet
  • suitable for a production environment, the integration will
  • introduce users to the engine.
  • Renamed Include.win to Include.win32 and Libraries.win to
  • Libraries.win32. Dooble has not been officially released for
  • Windows 64-bit. A future release will provide additional support.
  • Updated pthreadGC2.dll to version 2.9.1. Also added new include
  • files specific to Pthreads-w32 to Include.win32.
  • If the About dialog is shown, the URL handler must be set to the
  • dialog's parent. Please note that since the About dialog is not modal and
  • exists for each Dooble window, the default URL handler will be set
  • to the most current About dialog's parent.
  • Added the IRC Channel widget to the Settings window's Home panel.
  • Now using gcry_randomize() instead of gcry_create_nonce() when creating
  • a temporary passphrase. The quality level is currently set to
  • GCRY_STRONG_RANDOM.
  • Salts will now be generated via the gcry_randomize() function instead
  • of gcry_create_nonce() with quality levels set to GCRY_STRONG_RANDOM.
  • Improved dmisc::hashedString() such that the method utilizes a
  • temporary 256-byte random key if s_passphraseHash is zero. The variable
  • s_passphraseHash will be zero if gcry_calloc_secure() was unable
  • to allocate the requested memory. Other issues will likely arise if
  • memory allocation fails.
  • All restoration files must be removed if the user purges the entire
  • history of an authenticated session.
  • Removed base64 conversions of icons from all databases. Some icon
  • loss should be expected.
  • The memory cache is a peculiar beast. Its existence places Dooble
  • in peril. Therefore, the cache implementation has been redesigned.
  • The memory cache has been replaced by a pure, and encoded, disk cache.
  • Periodic purging of cache files will occur every five seconds and
  • will continue until 20% of cached content has been removed. Files
  • are selected according to their modification times. The desire to
  • store cached data in a SQLite database proved difficult because
  • of the inherent locking and synchronization mechanisms.
  • The Cache filenames adhere to the following:
  • hex(keyed-hash(URL))(0, 2)/hex(keyed-hash(URL))_[data|meta_data]_[0|1],
  • where 0 implies that the file belongs to an authenticated session and
  • 1 implies that the file is temporary.
  • Button roles are quite annoying. Corrected, per the Schmidt.
  • Removed compression usage from the cache environment.
  • Removed the primary key constraint from the favicons.db database.
  • The keyed hashes should provide sufficient uniqueness. Apologies
  • for lost data.
  • Added SQL indices to the favicons table.
  • Use QSqlQuery::setForwardOnly() whenever applicable.
  • Modified the threadpool count to qMax(QThread::idealThreadCount(), 100).
  • Made many corrections to this file.
  • Dooble selected a rather weak hash algorithm (sha1) if the
  • settingsWindow/passphraseHashType's value was not recognized. Corrected.
  • Corrected dmisc::hashedString(). The buffer created by
  • gcry_md_read() has a size that's specific to the selected hash
  • algorithm. The size must be respected.
  • Guard portions of dmisc::hashedString() as the method may be accessed
  • by multiple threads.
  • Added a humongous ico file. Please thank the Schmidt.
  • Moved dooble.clang.pro to the Trash directory. The file does not
  • have a desire to remain current.
  • The function gcry_md_get_algo_dlen() may return zero. Do be careful.
  • Purged additional static variables.
  • Do not attempt to download a site's favicon unless instructed to do so.
  • Added database size information to the Settings window's Safe panel.
  • Dooble shall now display an informative message for each denied
  • 3rd-party connection.
  • The $HOME/.dooble/.crashed file should be removed after a successful
  • restoration and not before.
  • The custom load-error page should only be displayed if
  • the content-length header is 0.
  • Resolved a critical flaw. The encoding mechanism did not properly
  • record plaintext lengths exceeding 255. Please export existing
  • bookmarks before upgrading to version 1.37. Apologies.

New in Dooble 1.36 (Oct 3, 2012)

  • Added missing tr() statements (translations).
  • Modified dmisc::isGnome() so that it returns true if
  • DESKTOP_SESSION is set to ubuntu. You may experience initial
  • discomfort if you're using an Ubuntu desktop.
  • Added an experimental Always HTTPS feature. If set, Dooble
  • will attempt to transform links contained on a page from HTTP
  • to HTTPS.
  • Prepared source for Qt 5.0.
  • The user may close a plugin or restoration tab that may result
  • in Dooble exiting if the tab that's about to be closed is the sole tab.
  • This is not a problem, however, it may cause confusion.
  • Consistent icons.
  • Added the user-contributed nuvola icon set.
  • Qt products have been upgraded to version 4.8.3 on Linux, OS X, and
  • Windows platforms.
  • Dooble will now attempt to restrict network traffic from a data
  • scheme. Data schemes may be used to gain user credentials. If a user
  • navigates to a data URL, Dooble shall disable the particular tab's
  • network configuration. The user must manually navigate to a non-data
  • URL before the tab's network configuration is restored. Navigating
  • to links that may exist within the data page will also be prohibited.
  • Also, any external content will not be gathered.
  • The new feature is experimental and is intended to place a tab in
  • total network isolation. Opening restricted links in new tabs or
  • windows is the sole responsibility of the user.
  • Resolved null scaled pixmap warnings.
  • Updated project files so that they reference $$[QT_INSTALL_BINS] in
  • the install targets.
  • Removed 1.35-specific source.
  • Please note that disk cache data is first encrypted and then
  • compressed before being written to storage.
  • The WolframAlpha search will now be performed via SSL.
  • Added the MetaGer search engine.
  • Uniform tab heights for non-OS X systems.
  • If the Control key is depressed while a page initiates a load,
  • a new tab will be created containing the new page. Corrected.
  • Updated dwebpage::userAgentForUrl() in support of OS X 10.7 and 10.8.
  • Replaced Bing with Blekko.
  • Project files referenced qm files instead of ts files in translations
  • sections. Corrected.
  • Allow the user to select the cipher and hash types instead of
  • forcing selections based on perceived strengths.
  • The method dmisc::passphraseHash() incorrectly relied on a class
  • member (s_hashType) instead of a method parameter (hashType).
  • Eliminated dmisc::s_hashType.
  • Corrected source comments.
  • The Settings window's reset mechanism removed the cipher type
  • from the Dooble.ini file. Corrected.
  • Allow user to set the tool bar's icon size to 16.
  • Bernd Stramm provided updates in support of advanced GCC versions.
  • Integrated changes and suggestions provided by aapoaapo.
  • Replaced _exit() with _Exit().
  • Replaced std::cerr and std::cout calls with fprintf() and
  • dmisc::logError().
  • Removed static variables wherever possible.
  • The location widget's completer must be hidden whenever the
  • main window exits the full-screen mode while the location widget
  • has focus. If the widget's visibility state is not set to false
  • after exiting the full-screen mode, the widget's completer
  • will be temporarily separated from the location widget.
  • The dooble::s_settings container may be accessed from threads. The use
  • of a mutex should prevent container corruption.
  • The methods dnetworkcache::readCacheFromDisk() and
  • dnetworkcache::writeCacheToDisk() must be as thread-safe as possible.
  • Cache readers and writers must terminate if caches are disabled.
  • Modified the cache reader and writer such that they do not convert
  • data to base64. A similar approach may be adopted by other containers.

New in Dooble 1.35 (Sep 3, 2012)

  • Updated MacGPG2 software to version 2012.03.18.
  • Because of the new libraries, users will lose their bookmarks.
  • Qt products have been upgraded to version 4.8.2 for OS X.
  • Added export and import facilities to the Bookmarks window. Only
  • HTML files are supported. Folders are not exported because of
  • potential compatibility issues with other browsers.
  • Added the Applications panel to the Settings window. Dooble will
  • automatically add file suffixes as it discovers them. A context
  • menu available off of the Applications table allows for quick
  • removal of file suffixes.
  • An empty or invalid My Retrieved Files setting prevented Dooble from
  • saving downloaded items. Resolved.
  • Added more information to version 1.27's item #76.
  • Restored tabs may have incomplete titles. Dooble will now
  • correct such mishaps for display purposes.
  • Removed the --url command-line option. Dooble will now interpret
  • arguments as URLs. The --full-screen-mode continues to be supported.
  • Duplicate exceptions should not be reported.
  • Double-clicking on a downloaded item in the Downloads window will
  • provide the user with an application-selection prompt as long
  • as the item is downloaded.
  • Created $HOME/.dooble/applications.db. The contents of the database
  • are not encrypted.
  • Modified dmisc::findUniqueFileName() so that the method does not
  • introduce artificial file suffixes.
  • The dcookies container shall now use a thread for writing
  • contents to cookies.db.
  • Ability to set the location tool bar's icon size. Currently-supported
  • sizes are 24 and 32.

New in Dooble 1.31 (Apr 16, 2012)

  • The setting responsible for purging memory caches has been enabled
  • by default.
  • Protect various view containers against empty icons.
  • Protect against empty QUrl::host().
  • Open links in new tabs via the middle mouse button. This change only
  • applies to Web links.
  • Improved the update mechanism of the Cookies window.
  • Fixed incorrect use of dcookies::slotDeleteAndSaveCookies().
  • Qt products have been upgraded to version 4.8.1 for Linux and
  • Windows distributions.
  • Replaced the Qt Windows Style with the default Qt style.
  • Added the black and white icon set.
  • Added dates to items in the Downloads window.
  • Downloading several items may increase CPU usage. This increase is caused
  • by rapidly-updated progress bars. Improved.
  • Activating actions of JavaScript windows via shortcuts caused Dooble
  • to exit prematurely under some conditions (copying text followed
  • by creating a new tab). Fixed.

New in Dooble 1.29 (Mar 23, 2012)

  • Dooble ignored the Show Hidden Files setting during initialization.
  • QNetworkReply objects will not be deleted in
  • dnetworkaccessmanager::slotFinished() until it is safe to do so.
  • Dooble did not respect case sensitivity when searching for text
  • on a page. Fixed.
  • Adjusted offsets for textfield widgets.
  • Added libcrypto.so.1.0.0 and libssl.so.1.0.0 to the Linux 64-bit
  • binary distribution.
  • Corrected an incomplete load failure during a navigation from a file
  • manager to an SSL page.
  • JavaScript windows did not respect the location of the Favorites
  • toolbar. Fixed.
  • Purged old settings.
  • Removed extra libraries from the Linux distribution.

New in Dooble 1.28 (Mar 12, 2012)

  • Add-ons tabs now register actions with the Tabs menu.
  • Removed Windows-specific styles from the location and search widgets.
  • Issuing deleteLater() on QNetworkReply objects from dnetworkaccessmanager::slotFinished() may cause Dooble to exit if there is a pending JavaScript prompt. Qt issue. (https://bugreports.qt-project.org/browse/QTBUG-9657) (https://bugreports.qt-project.org/browse/QTBUG-15859)
  • dview::slotHandleUnsupportedContent() must delete the QNetworkReply object. Please refer to Qt documentation.
  • If parents of modal dialogs vanish, so do the modal dialogs. Dooble should not assume that objects are valid after exec() returns.
  • Added dwebpage::shouldInterruptJavaScript().
  • Improved use of resources in dreinstatedooble::dreinstatedooble(). Only one QWebPage object is required.

New in Dooble 1.26.1 (Jan 3, 2012)

  • Avoid closed tabs when searching for tabs that may contain modified
  • content.
  • Disable Web plugins when a tab is closed.
  • Corrected 1.25 grammar.
  • Fixed sizing issues with items in the Downloads window.
  • Downloads were missing HTTP Pipelining.
  • JavaScript exceptions.
  • Theme previews.
  • Removed inconsistent prompts.
  • Exceptions windows are now accessible via the Windows menu.
  • Corrected issues with JavaScript popups.
  • A significant modification was made to improve Flash
  • support for X11 systems. As a result, QWebView was
  • replaced by QGraphicsWebView. To eliminate the workaround,
  • simply remove the DOOBLE_X11_FLASH_BYPASS macro from the
  • appropriate project file before creating the application.
  • Prevent use of invalid geometries, especially when preparing
  • new JavaScript windows.
  • Increased the maximum number of characters of menu actions
  • from 50 to 100.
  • Removed obsolete values from the settings file.
  • Addons support. Thanks to Bernd Stramm.
  • Eliminated "QProcess: Destroyed while process is still running."
  • messages.
  • Reset the status bar's contents after a tab has been closed.
  • Corrected dooble::slotStatusBarMessage().
  • Added support for preventing HTTP redirects. The default is set
  • to enabled.
  • NetworkReply objects created by dnetworkaccessmanager::createRequest()
  • must be deleted.
  • Removed level 3 optimization flags. Removed dooble.linux-32.pro.
  • Removed dooble.ultrasparc.pro.
  • Modified the base class of dsettings from QDialog to QMainWindow.
  • Allow the user to choose the sets that will be re-encoded after a
  • passphrase change.
  • Corrected the Settings window's Home widgets. Implementation suffered
  • from inconsistent data (the Settings window is non-modal) and
  • incorrect ancestry. As a bonus, the actions may also contain icons.
  • Removed dview::slotFinished() as it causes infrequent segmentation
  • faults.
  • Removed dwebpage::handleUnsupportedContent() as it is obsolete.
  • Re-added dview's extra network access manager (m_faviconManager).
  • This will prevent contamination with dnetworkaccessmanager.
  • Modified various purge() methods for consistency.
  • Cookie, download, and exception information for session-based
  • processes will not be stored to their respective databases.
  • The dview::slotIconDownloadFinished() method will now attempt to
  • process HTTP redirects.
  • Resolved a segmentation fault caused by a deleted QNetworkReply
  • object that was being referenced during a download request.
  • Fixed widget state issues caused by aborted loads.
  • Removed "journal_mode = OFF" settings for database queries in order to
  • prevent database corruption that may be caused if Dooble
  • malfunctions.
  • The Downloads window did not properly manage deleted items. Fixed.
  • Removed workaround for URLs containing fragments.
  • Reimplemented the previously-closed tabs mechanism in order to
  • preserve massive amounts of resources.
  • Fixed inconsistent link icons with the URL widget's pulldown menu.
  • Extracted mechanism responsible for download favicons from dview
  • and deposited it into dwebview.
  • Removed dmisc::canEncode().

New in Dooble 1.25 (Nov 7, 2011)

  • Updated MacGPG2 software to version 2.0.17-9.
  • Previous content (cookies, etc.) may be lost as a result.
  • Allow the user to modify the default Dooble Search page (Settings window's Home tab).
  • Changed Dooble Search text (Settings window's Home tab) to Home.
  • Changed default Arial sizes from 12 to 10 for Windows platforms.
  • Removed redundant dview::load() calls during Dooble initialization.
  • Resolved ticket 3399328. (Was saving a session passphrase.)
  • Improved checking of settings (Dooble.ini) values.
  • Modified dhistory's timer interval from 1 second to 2.5 seconds.
  • Modified history purging so it only occurs during Dooble launch and termination. (Saving precious resources.)
  • Qt products have been upgraded to version 4.7.4
  • Decreased tab widths.
  • Improved Settings window sizing.
  • Ability to hide the HTTP referrer.
  • Ability to block third-party HTML frame content.
  • The tab bar did not respect visibility setting after exiting the full-screen mode. Fixed.
  • The file and FTP managers incorrectly displayed internal objects that were intended to be hidden.
  • Clicking an FTP link from an HTML document failed to load the link. Fixed.
  • Added the Wikinews search engine.
  • Viewing of HTML frame source now provided.
  • Prevent Dooble from deleting the user's input into the URL widget after the urlChanged() signal has been captured.
  • Removed application modality from the Settings window.
  • Removed references of obsolete settings (Dooble.ini).
  • Added the XSS Auditing option under the Security tab of the Settings window.
  • Improved dooble::slotFlashHack(). This slot is issued if Web plugins are enabled and the window system is X11. Its purpose is to correct potentially-distorted windows.
  • Corrected version 1.24's item #44.
  • Modified the tab-adding mechanism so that new tabs are added after the current tab. Option to simply append the tab is also provided.
  • Clarified "switching to new tabs" option under the Settings window's Tabs panel.
  • Dooble will, if permitted, display the current site's IP address in the window title. This feature may be a first in the browser world.
  • Added missing QDialog::Accepted checks to various if-statements.
  • Validate potentially-invalid (NULL) objects before use.
  • Created a wonderful, yet troublesome, workaround for an event-loop issue. The signals emitted from dview::slotHandleUnsupportedContent() are captured by a slot that calls a function that launches a modal file dialog. At times, Qt decides to terminate because of this. Fixed.
  • Downloads suffered from potential memory exhaustion. Fixed.
  • Improved ddownloadwindowitem::isDownloading(). The previous version was weak.
  • Beautified multiple aspects of the user experience.
  • Added an install target to dooble.osx.pro. (sudo make install)
  • At times, qmake does not properly create all required targets.
  • Added dooble.ultrasparc.pro for g++ on Sun Ultra machines.
  • Added support for providing credentials to proxies whenever they request such information.
  • Beautified passphrase dialog.
  • Wikinews and TheOpenGlobe RSS Ticker added to the default page (locale-based search.html).
  • dsettingshomelinewidget widgets were not capturing iconsChanged() signals. Fixed. These widgets are the textfield widgets under the Settings window's Home panel.
  • Changed QNetworkProxyQuery's query type from TcpSocket to UrlRequest. QNetworkProxyQuery is used for system-level proxies.
  • Prevent Dooble from opening the same URL in the current page as well as a new tab (window) after a link has been clicked. Links should either be displayed in the current page or a new frame, but not both.
  • Added toLower() to various QUrl::scheme() references.
  • Modified QWebView's context menu so that it differentiates between links and e-mail addresses.
  • Introduced the History sidebar. As a result of this new feature, the dhistorymodel class was implemented. The "one model, thousands of views" approach is quite powerful.
  • Dragging items from the sidebar and dropping them onto a page will activate one or more load requests. Unlike other browsers, Dooble allows for multiple selections to be dragged and dropped.
  • Introduced "PRAGMA journal_mode = OFF". Dooble does not explicitly use database transactions. Please note that cookies are not subjected to this setting.
  • dmisc::setCipherPassphrase() must reset variables upon setKey() failure. The set of variables being reset was incomplete. Fixed.
  • Renamed Bookmarks Toolbar to Favorites Toolbar. Dooble does not yet support bookmarks.
  • Added source information to the Downloads window.
  • Fixed a monumental memory problem in dooble::initializeHistoryMenu().
  • Optimized dooble constructors. New windows must inspect existing containers and use their contents whenever possible.
  • A view's text size multiplier needs to be set after a QWebPage object has been assigned to the view. Fixed. The Qt documentation does not make a note of this behavior.
  • Some containers have poor performance if iterators are not used to navigate their contents. Fixed.
  • Tab icons will now reflect load activity.
  • Downloads suffered from incorrect primary keys. The source URLs should not be designated as primary keys. Instead, the destination targets should be used. Since the downloads table required a redesign, existing information will be purged. Also corrected widget visibility states (the retry button should not be visible for HTML downloads).
  • Removed dview's extra network access manager (m_faviconManager).
  • Removed the mtune option from dooble.osx.pro.
  • Replaced QWebView::reload() with dview::load(). QwebView's reload() implementation may fail to emit the loadFinished() signal. This adjustment has been attempted before.
  • Created header and source files for the dwebview class.
  • The Cookies and History windows' search mechanisms have been modified to perform case-insensitive searches.
  • Added the History search to the search widget, per request.
  • Removed unnecessary blockSignals() calls.
  • Added dwebhistory.cc.
  • Two URLs may be different if the only difference is a trailing slash. Adjusted comparisons.
  • Qt does not emit urlChanged() signals for some pages. This is a known issue.
  • Improved the look-and-feel of the Downloads window: alternating row colors and the ability to remove individual non-active items.
  • Creating a new tab off of a JavaScript window enabled the search widget for that window. The search widget should not be available for such windows.
  • Enabled HTTP pipelining (dnetworkaccessmanager::createRequest()). According to documentation network performance should improve.
  • Now processing QWebPage::statusBarMessage() signals.
  • Modified the dftpbrowser so that it emits unsupportedContent() signals. This is an experimental feature.
  • QFtp produces some incorrect QUrlInfo containers. The dftpbrowser class has been modified to accommodate the discrepancies.
  • Clicking a link while the Control key is depressed will now open the link in a new tab.
  • Resolved a timing issue related to the "close other tabs" mechanism.
  • The location widget's completer's model's contents will now be date-ordered.
  • Replaced QWebView::setUrl() with QWebView::load(). The setUrl() method causes QWebFrame segmentation faults with the April 2011 release of Qt 4.7.4. The problem has been reported and may have been resolved.
  • If configured, Dooble will prompt the user before removing a modified tab.
  • Improved the look-and-feel of the location widget.
  • Dooble will now prompt the user before exiting if there are active downloads.
  • Resolved an incorrect use of QFtp::list() (m_ftp->list(m_url.path()) should have been m_ftp->list()).
  • Navigating to a parent directory within the FTP browser has been improved.
  • If configured, Dooble will prompt the user before navigating from a modified page.
  • Do not clear the History window's search field while navigating through the tree.
  • Added the File->Authenticate option. For the curious, this feature allows the user to provide the passphrase (if one had been previously set) without requiring to restart Dooble.
  • Added missing QObject() to dwebhistoryitem's default constructor.
  • Fixed an error in dcookiewindow::slotUpdateView(). When searching for potential items to remove, Dooble must inspect domains that match the url's host as well as domains that contain leading periods and that match the url's host.
  • Modified purging of information upon exit. It will now be the user's responsibility to purge existing information if certain settings (cookies, downloads, etc.) are disabled.
  • Added support for QTableWidget::itemActivated() within dftpbrowser(). Pressing the Enter key on an existing directory will now be processed as a nagivation request.
  • The File and FTP browsers must inspect the url's contents. For example, ftp://ftp.debian.org/debian/.. should be interpreted as ftp://ftp.debian.org. However, the dftpbrowser should not attempt two directory changes (for this example).
  • The dview class was incorrectly emitting urlChanged() and titleChanged() signals. This caused slots in the dooble class to populate containers with stale information.
  • Was incorrectly setting tabs' texts under certain page load (dooble::loadPage()) attempts.
  • Eliminated "data: invalid display value column" warning messages. The dfilesystemmodel::data() method was modified as a result.
  • Dooble will now attempt to position JavaScript windows within the screen housing their parents.
  • Improved creation of new windows, including JavaScript.
  • Modified the click behavior of the FTP browser. Single clicks on directories are now interpreted as navigation requests. Removed support for the itemActivated() signal. Added support for opening directories in new tabs via the Control key.
  • If available, a target's total size will now be displayed in the Downloads window.
  • Fixed command-line validation. Also improved url validation of new process windows.
  • Fixed incorrect processing of shortcuts.
  • Added search capabilities to the Downloads window.
  • Activated the Delete key for the Cookies window, Downloads window, History window, and the History sidebar.
  • Added the JavaScript Popups Exceptions window.
  • Added the Third-Party Blocking Exceptions window.
  • Added the Suppress HTTP Referrer Exceptions window.
  • Added missing QSqlDatabase::close() calls to dcookies's methods.
  • The status bar will now be visible in full-screen mode, unless it's explicitly hidden by the user.
  • Purged obsolete methods from the dcookies class.
  • Prevent JavaScript change-requests from modifying non-JavaScript windows.
  • Incorrect for-loops modified the History->Clear History action's icon.
  • Respect the style's attributes as much as possible.
  • Text alignment for various table and tree headers has been set to left-alignment.
  • Per feature request 3421816, added the ixquick search engine.
  • Dooble will now remember the nth recently-closed tabs. A minimum of 1 and a maximum of 15 are provided, if enabled. Please note that the tabs are only retained for a session.
  • Added the Cookies Exceptions window. Cookies from exempt sites will not be accepted.
  • Updated the Favorites toolbar's maximum to 15.
  • Movable Favorites and Location toolbars.

New in Dooble 1.23 (Jul 5, 2011)

  • A minor patch release.

New in Dooble 1.22 (Jul 1, 2011)

  • Resolved trouble ticket 3292506, latest History menu items
  • should be at the top while the oldest at the bottom.
  • Modified dsettings::slotSelectIconCfgFile() so that the
  • QFileDialog object's directory is initially set to the application's
  • current directory.
  • Fixed incorrect calls to setStyleSheet() in
  • download window::slotItemClicked().
  • The Downloads window will now display absolute file paths.
  • Fixed bugs with dview's back() and forward() methods:
  • if(prevIndex == currentIndex())'s false case should
  • issue a load() call with the item object's url.
  • Improved print previews.
  • If applicable, zoom all frames.
  • Qt products have been upgraded to version 4.7.3 on OS X and Windows
  • platforms.
  • Fixed title issues with the Tabs menu's actions.
  • Ability to copy selected URL in the History window.
  • Implemented the Safe. Dooble will automatically clear the following
  • containers:
  • Cookies
  • Downloads
  • History
  • Fixed distorted logic that prevented deleting of cookie favorites.
  • Fixed broken opening of new windows as processes.
  • Added backwards compatibility to Qt 4.6.x. Qt 4.7.3 is strongly
  • recommended.
  • Fixed flawed if-statement (if items.at(0)) in
  • dcookiewindow::slotUpdateView().
  • Fixed dhistory::slotDeletePage(). It now removes the
  • intended entry from the history database table.
  • Fixed print-previews so that they are now available for
  • both the filesystem browser and the FTP browser.
  • Fixed inconsistencies with the icons of the History menu's
  • actions.
  • Modified the behavior of dhistory::purge() so that it does not
  • consider time when determining which entries to remove. Instead,
  • it will simply function off of dates.
  • OS X (x86) users should now be able to play Flash.
  • Secure connections will be illustrated via green gradients.
  • Fixed a popup blocking bug that prevented printing in Gmail.
  • Integrated GNU's libgcrypt library for encoding personal
  • information.
  • Added missing icons to the Authentication Required dialog.
  • Added a P2P textfield widget to the Settings window's
  • Home panel.
  • Removed for-loop in dooble::slotQuit() as it was causing
  • segmentation faults. The for-loop is not necessary.
  • Corrected dview::view()'s return type,
  • changing it from QWebView to dwebview.
  • Added additional actions to dview's context menu.
  • Mr. R.'s modifications:
  • Default number of history days changed from 1 to 8.
  • Enabled default browsing and download history from false to true.

New in Dooble 1.21 (Apr 26, 2011)

  • Corrected RELEASE-NOTES version information.
  • Per Mr. R., corrected proxy configuration settings.
  • Issue QWebView::update() whenever a page has been loaded. This small
  • change improves font rendering.
  • Implemented basic command-line options:
  • full-screen-mode
  • url URL (multiple instances allowed)
  • Mr. R. updated Dooble's default page.
  • Implemented character encodings.
  • Fixed broken sensitivity states for the Back and Forward buttons.
  • Mr. R. introduced colorful tabs.
  • Per Mr. R., introduced a feature to inject URLs into the Settings window's
  • Home widgets.
  • Closing a last tab will now close its parent window.
  • New Settings option: close the Downloads window after the downloads
  • have completed.
  • Added an install target to Dooble's Unix project file (dooble.pro).
  • Mr. R. introducted the YaCy search engine.
  • Additional optimization.
  • Per Mr. R., restore and retain search choice.
  • Windows Qt libraries have been upgraded to version 4.7.3.

New in Dooble 1.20.1 (Apr 5, 2011)

  • A simple release to fix an important issue. Really!

New in Dooble 1.19 (Mar 7, 2011)

  • Removed QMAKE_CXX from dooble.pro. It appears that clang++ breaks findChildren() on some systems (Debian).
  • Made JavaScript confirmation prompts application modal.
  • Added item #38 to version 1.18.
  • Fixed broken shortcuts: ALT + ENTER (open in new tab), CTRL + ENTER (.com complete), CTRL + SHIFT + ENTER (.org complete), SHIFT + ENTER (.net complete)
  • Mr. R. added the nuvola theme.
  • If possible, set the main window's initial size to 85% of the user's screen size.
  • On Windows systems, set the initial font size to 16 for the Fixed Web font.
  • Fixed missing navigation menu items. Page anchors caused the issue.
  • The Cookie window was not capturing the iconsChanged() signal. Fixed.
  • The Clear History and Show History menu actions were avoiding iconsChanged() signals. Fixed.
  • The Page Source window's find frame would become invisible whenever iconsChanged() signals were captured. Fixed.
  • Added missing JavaScript-enabled checks to various JavaScript actions.
  • The Google search has been modified to use SSL.
  • Added a timer to vacuum cookie crumbs.
  • Removed findChild() and findChildren() wherever possible.
  • Fixed Download window file name discrepancy.
  • Added the everaldo theme. Thank you Mr. R.
  • Fixed the Cookie window's delete all implementation. Was incorrectly removing all cookies regardless of the current filter.

New in Dooble 1.14 (Oct 28, 2010)

  • Fixed bugs associated with page saving.
  • The history browser's Delete All function should only delete
  • entries relative to the selected date.
  • Improved the history browser with a search function.

New in Dooble 1.13 (Oct 23, 2010)

  • Ability to open new windows as new processes.
  • Eliminated custom dwebpage::userAgentForUrl() implementation.
  • Fixed a bug with cookies. Was returning an incorrect index in
  • dview::indexForUrl() and therefore the cookie for the page was being
  • misplaced.
  • Implemented a function that allows closing of all tabs except for
  • the current one.
  • Improved the history browser by adding a date filter.

New in Dooble 1.12 (Oct 2, 2010)

  • Bug fixes!
  • Implemented a history browser.
  • Improved cookies.
  • Improved history functionality.
  • Numerous bug fixes.
  • Plugins support.
  • SSL support for Windows.
  • Support for setting simple Web fonts.
  • New shortcuts:
  • ALT + ENTER (open in new tab)
  • CTRL + ENTER (.com complete)
  • CTRL + SHIFT + ENTER (.org complete)
  • SHIFT + ENTER (.net complete)

New in Dooble 0.09 (Jan 19, 2010)

  • Exciting new File Explorer added. Users can explore the hard disk within their browser. Soon more functionality like organizing your mp3 files.
  • Faster Dooble Search Engine: Update the Dooble Search Engine for a faster Web Search Experience with Dooble Web Search; New Interface for My Dooble Search.
  • Dooble Desktop Improvement with Windows and Background-Wallpapers.
  • My retrieved Files: Easy to find downloaded or retrieved files.
  • more than 40 translations: The operating system should set automatically your needed language translation.
  • Added two new search engines to the Search-Menu: Scroogle and Faroo.
  • Known Issues: Dooble Search (by www.yacy.net ) is not included in the release, maybe the next one.
  • Even more Iconsets for the browser.

New in Dooble 0.08 (Nov 14, 2009)

  • First Mac OS X Release.
  • Minor gui improvements
  • Kirghiz translation added.
  • Hide the Status Bar when the integrated Dooble-Desktop is in focus.