RoboJournal Changelog

What's new in RoboJournal 0.5

Oct 13, 2014
  • Rebranded all references to MySQL to include MariaDB as well (MySQL/MariaDB). As of version 0.5, RoboJournal offers full support for MariaDB databases in addition to its legacy MySQL support (12/1/13).
  • Deprecated original MySQL icon in favor of the MariaDB icon.
  • Added MariaDB "seal" icon to the connection notification on the main window's status bar (Connected to MySQL/Maria database foo on bar).
  • Changed reference to "MySQL Settings" on Preferences window to "MySQL/MariaDB Settings".
  • Changed "MySQL" reference in the Preferences window's General page to "MySQL/MariaDB".
  • Changed all MySQL references on Journal Creator, Journal Selector, and Entry Exporter to "MySQL/MariaDB".
  • Vastly improved the Editor window:
  • Added tagging support to the Editor. This allows you to write or modify an entry and apply tags to it using the same interface.
  • Moved the Save this Entry and Discard Entry buttons to the upper toolbar to make more room for planned formatting buttons on the lower toolbar.
  • Added new Journal Creator. The new class is very similar to the Newconfig class added in version 0.4; the new class is designed to be highly modular with support for several different databases. Each database is represented by a "page".
  • Deprecated old Journal Creator class and removed its files (journalcreator.cpp, journalcreator.h, and journalcreator.ui) from the codebase since they are no longer needed.
  • Converted existing MySQL settings into a page for the new Journal Creator.
  • Added password strength meter to MySQL/MariaDB page.
  • Improved the layout efficiency on the Mainwindow by removing unneeded padding space around various objects.
  • Added sunken borders to splitter elements (Timeline and Output pane) on the main window and flatttened all toolbars in the application.
  • Gave the original tag manager window (Tagger class) a complete overhaul to make it resemble the Editor's built-in tag interface in order to improve consistency.
  • Consolidated many tagging-related functions into their own TaggingShared class. This is a better design because common tagging functions are now shared; the same code can be used in the various tagging-related functions throughout the entire program (thereby eliminating redundancy).
  • Text labels on toobar buttons are now in smaller font and are below the icons as a more efficient use of space.
  • Added an option to restore the default splitter position to the main window/Window drop-down menu. This option overrides the current saved position.
  • Updated the Journal Selector window with new features:
  • Added the Assign Permissions extension to the Journal Selector to simplify the creation of user accounts and the association of user accounts with journal databases.
  • Added a Browse button to allow the user to select a SQLite database from disk.
  • Tightened up the user interface by removing extra window padding on Tagger, NewConfig, EntryExporter, and JournalSelector classes.
  • Bugfix: All MySQL transactions now use the same connection (9/11/13).
  • Added description/explanation of new features to RoboJournal Documentation.
  • Added an auto-tagging feature that allows the user to quickly tag entries by matching words in the body text with existing tags (10/10/13).
  • Added connection progress bar on main window (1/12/14).
  • Bugfix: The entry exporter no longer allows database dumps from remote hosts because it is impossible to dump remote files (1/12/14).
  • Bugfix: The editor now displays a warning message if you try to save a new entry without any tags (3/9/14).
  • The help system is now its own class (instead of being part of MainWindow) to simplify code re-use (6/21/14).
  • Added a shortcut to documentation on the Welcome to RoboJournal window (6/21/14).
  • Added a link to the GitHub repository to the About RoboJournal window (6/21/14).
  • Bugfix: Improper tab order between various UI widgets in all GUI classes is now fixed (6/21/14).
  • Added a new SQLite-based "favorite journals" system, with integration throughout the entire codebase.
  • Added a list of MySQL journals in the favorites system to MySQL configuration.
  • All databases in your favorites are now listed in the New Connection window for easy access. Converted the New Connection window to a drop-down list interface to simplify working with multiple databases/hosts.
  • Added a shortcut to documentation on the Welcome to RoboJournal window (6/21/14) to solve the problem of documentation being unavailable until after configuration/setup has finished.
  • Deprecated old Qt Assistant-based help system in favor of a pure HTML solution because the QT Assistant module was unreliable on some systems; it would not always launch correctly. The new help system is basically a stripped-down web browser class (HelpViewer) that simply displays the documentation (stored as loose HTML files) in the program directory (6/22/14).
  • Removed all references to/dependencies on QCollectionGenerator from the source package. RoboJournal no longer requires Qt Assistant/QCollectionGenerator to be installed in order to build.

New in RoboJournal 0.4.2 (Sep 18, 2013)

  • Split documentation into a separate robojournal-doc package on Debian-based Linux (including Ubuntu, Linux Mint, et al) because including documentation in each architecture-specific package is redundant when the documentation itself is platform-agnostic.
  • Fixed typos and minor corrections to documentation (9/2/13)
  • Added "pkg" folder for Linux package mangement files.
  • Removed Fedora build patch since it is no longer needed (6/1/13).2.Added SPEC file for creating Fedora =18 packages
  • Added control file and everything else required to build Debian/Ubuntu packages (9/2/13).
  • Temporarily disabled spellcheck on Linux-based systems to prevent a common crashing bug from occurring.
  • Removed Fedora patch question/logic from Linux compile script (6/1/13).
  • Removed caps-lock detection code from the DBLogin class (6/1/13).
  • Bugfix: Fixed "ugly 16x16 icon" bug on Windows
  • This bug caused an overstretched icon to be used on the ALT+TAB window list and similar places. Backported from RoboJournal 0.5 source (9/11/13).
  • Bugfix: RoboJournal no longer displays redundant error messages if the documentation files are missing or installed incorrectly (9/11/13)
  • Bugfix: Replaced the documentation build script with a far more robust Perl-based solution. If the documentation fails to build correctly on the first attempt, the new build script tries several different executables until it finds one that works. This fix is necessary because Qmake often tries to use Qt5 tools on systems that have both Qt4 and Qt5 installed.
  • Bugfix: The vertical splitter bar on the MainWindow now remembers its position between program sessions. The splitter only reverts to its default 50/50 position if the saved position data is unavailable.
  • Added description/explanation of new features to RoboJournal Documentation.
  • Bugfix: Documentation version numbers are no longer hardcoded in the help project file and collection file.
  • Bugfix: The Tagging system no longer omits the first tag in the list

New in RoboJournal 0.4 (Dec 18, 2012)

  • The background image function for the entry pane does NOT work on Windows XP. A fix is planned for version 0.5 (very likely the whole entry pane will be re-done).
  • The back and forward toolbar buttons can go out of range if the user has a specific date range set. A fix is planned for version 0.5.
  • The whitespace removal post-processing function occasionally adds lots of unnecessary linebreaks to new entries. This bug frequently occurs with copy-and-pasted text. A reliable fix is to edit/modify the affected entry and save it again.
  • The whitespace removal post-processing feature sometimes causes the program to hang while processing very large entries. (> 1000 words) Because of this, whitespace removal is not applied to long entries. However, the current 1000 word limit is arbitrary and was determined through trial and error. The actual limit is likely somewhere between 800-1000 words, so you should temporarily disable whitespace removal before you write a large entry > 800 words.
  • Bugs 5-6 are unpredicatable and hard to replicate (or they would have been fixed by now). Please send a bug report to Will Kraft if you find a reliable way to trigger these bugs:
  • The Editor sometimes "forgets" its previous window size after the user has made changes to the configuration.
  • Occasionally the program will crash if the user disconnects after making changes to the configuration.

New in RoboJournal 0.3 (Aug 28, 2012)

  • Changed RoboJournal logo image in FirstRun and AboutRJ classes.
  • Fixed bugs in JournalCreator class:
  • Bugfix: System username is now displayed on Linux/Unix systems.
  • Bugfix: Added more padding below the "Passwords [do not] match" text. This keeps the text from being too close to the bottom of the frame.
  • Added tooltips to the Journal Name, Journal Host, and Username fields.
  • Simplified and changed text on FirstRun class UI file. This solves a bug where the intro paragraph text size changed depending on system font size.
  • Added Build Helper Script (for Windows only).
  • Bugfix: Fixed a bug that prevented the current color in use from being autoselected in the Config class color chooser dialog.
  • Bugfix: Fixed incorrect error reporting when journal creation process fails due to a missing Qt MySQL driver.
  • Bugfix: Added an error message that is triggered if you try to create a journal where journal@host already exists.
  • Bugfix: Changed project file to ensure that builds are compiled in release mode by default on Windows systems.
  • Added a shortcut/menu icon (F11) to expand/collapse entry tree.
  • Added a check for Caps Lock to DBLogin class.
  • Changed exit warnings in Editor class.
  • Bugfix: Removed extra padding on MainWindow::Toolbar when buttons are set to image-only.
  • Modified DBLogin Class:
  • Removed root login warning label and replaced it with QMessageBox warnings/errors. This helps reduce crowding/sizing problems on large-text systems.
  • TextBoxes are set to QLineEdit::ReadOnly instead of QLineEdit::SetDisabled when UseDefaults==true.
  • Changed text for error (critical) QMessageBoxes in Editor class.
  • Fixed program icon for Linux systems (previous versions used the too-small Windows icon that looked bad when stretched).
  • Added journal export system to export database entries (or the whole database) to HTML or plain text:
  • Added Save button to toolbar.
  • Added Save entry and CRTL+S shortcut to File menu.
  • Removed expand/collapse widget on root node (journal name) in entry tree.
  • Changed MainWindow::Statusbar text:
  • Reworded the welcome message (Click Connect (or press F2) to begin working with a journal database.) and the New Journal message (Welcome to your new journal! Click Write in Journal (or press F4) to get started.).
  • Separated Username text into its own pane.
  • Added images to Username and Entry Count panes.
  • Config class changes:
  • Enlarged Config window to reduce crowding in some GNOME setups.
  • Added Apply button to Config::QDialogButtonBox.
  • Made auto-load feature a config menu option. This lets the user decide if he/she wants the most recent entry to load automatically after login.
  • Added tagging system (Tagger class):
  • Modified MySQLCore::Update() to prevent NULL data from being written to the tags column in database entries table.
  • Added JournalSelector class:
  • FirstRun class now calls JournalSelector if user decides to use existing journal during config.
  • Added a private function that executes a SHOW DATABASES tranaction to MySQLCore class.
  • Changed window icon to database_add.png in JournalCreator class.
  • Rewrote changelog.html from scratch to be XHTML 1.0 compliant.
  • Replaced original compile/installation documentation (INSTALL-GUIDE-r3.htm) with an XHTML 1.0 compliant document (compile-instructions.xhtml).

New in RoboJournal 0.2.1 (Aug 28, 2012)

  • Added "make install" and "make uninstall" support for Linux/OS X (RoboJournal gets installed to /usr/local/bin).
  • Added Linux/OS X installation instructions to
  • INSTALL-GUIDE-r3.htm.
  • Reformatted Changelog.htm to pass HTML 4.01/STRICT.
  • Removed MySQL header dependencies in source to ensure full GPL3 compliance.
  • Removed unnecessary source and header references to QtSql/QMYSQLDriver and QtSql/QPSQLDriver. At this moment, QtSql/QSqlDatabase is all that is needed.
  • Removed unnecessary reference to CONFIG += qsqlmysql from robojournal.pro.
  • Removed unused/legacy code (headers, cpp, and ui) from source package.

New in RoboJournal 0.2 (Aug 28, 2012)

  • Added Time support:
  • Added 24-hour clock support.
  • Added database upgrade tool (MainWindow::UpgradeJournal() function).
  • Added tool to modify journal databases by adding additional column for time.
  • Added upgrade check when journals are loaded.
  • Added document theming support.
  • Font and font size:
  • Font color.
  • Background image support on viewer and entry tree panes.
  • Tile background image.
  • Improved date formatting:
  • Added the ability to format date according to USA, European, or ISO-8601 format.
  • Added date format example.
  • Modified Config class:
  • Added Journal and Appearance tabs.
  • Moved Journal-related features to Journal tab.
  • Placed theme-related options on Appearance tab.
  • Removed icons from original General and Database tabs.
  • Added an option to disable alternate row colors.
  • Added the ability to toggle text on toolbar icons.
  • Changed wording on toolbar docking default option label.
  • Moved Entry Range group to Journal tab from
  • General tab.
  • Added placeholder checkbox for rich text format (Disabled, not yet implemented).
  • Sort by day is no longer default behavior.
  • Fixed window parent bug (that caused centering issues) on DBLogin, Config, AboutRJ, and Editor classes.
  • Added exit confirmation dialogs for Editor and MainWindow classes.
  • Added print support for journal entries.
  • Changed previous/next shortcut keys to left arrow/ right arrow.