V1.3.1
---------
 * Fixed the printing thread (and removed warning messages).
 * Added a workaround for the "Raise/Hide" action in the tray context menu under Wayland.
 * Check the existence of "gio" before using it for opening URLs.
 * Fixed the text color of the side-pane after a style change with Qt ≥ 6.7.2.
 * Always paste the localized date and time.
 * Added a workaround for a regression in Qt 6.8 that makes borders of newly created tables invisible.
 * Replaced the deprecated method QMouseEvent::pos().

V1.3.0
---------
 * Fixed a nasty bug that could cause note overwriting in special cases.
 * Added a workaround for window deactivation on clicking the tray icon under Wayland.
 * Added a workaround for on-the-fly style change of Qt6.
 * Dropped using of "gio" for opening hyperlinks.

V1.2.0
---------
 * Removed Qt5 support.
 * Also remove the block format on clearing formats.
 * Added an icon for macOS (thanks to Iván Ávalos — ivan-avalos at GitHub).

V1.1.1
---------
 * Simplified the code for setting the editor font.
 * Enable/disable the Paste actions appropriately.
 * Separate the inserted URLs with newline.
 * Fixed the initial font of the node font dialog.
 * Recognize `text/plain;charset=…` as plain text when pasting (Qt doesn't).
 * Wait 60 sec for systray, but show the window after 20 sec if the tray isn't available.
 * Protect the file type filters of file dialogs from bad translations.
 * Don't insert garbage when an image can't be loaded.
 * Start searching in node names when Slash is pressed inside the side-pane.
 * Fixed a rare issue in the geometry of a warning bar animated during window resizing.
 * Changed "Qt5" to "Qt" in the meta-info file (the Qt5 support cannot last indefinitely).

V1.1.0
---------
 * Fixed crash on pasting with empty clipboard.
 * Fixed a bug in updating widget states after deleting a node.
 * Fixed text zooming for documents that are saved by the Qt6 version.
 * Corrected the tab stop distance.
 * Added a workaround for a Qt bug related to the current character format.
 * Added a real Unix signal handler.
 * Removed "Embed Image" from the toolbar to make it uncluttered.
 * Better window placement on tray activation without X11.
 * Simplified finding of Qt modules with cmake.
 * Added a workaround for a Qt6 bug that doesn't include newlines in the plain-text data of the copied text.
 * Prevented total node deselection with Qt6.
 * Silenced the compilation warnings with Qt 6.4.
 * Corrected the context menus and tooltips on Wayland, by specifying their parent widgets.
 * Better sizes for some dialogs.

V1.0.0
---------
 * Now FeatherNotes is a single-instance app, that doesn't open the same document twice when launched. Qt D-Bus is used for this purpose.
 * Removed the qmake compilation (have no time to maintain it, especially with Qt D-Bus).
 * Added a warning-bar for some messages.
 * Do printing in a separate thread, so that, if it takes a long time, the app could still be used.
 * Select the text between spaces with Ctrl + double click.
 * Added an option for remembering the expanded state of each node.
 * Require Qt5.15.
 * Enabled compilation against Qt6. With cmake, "ENABLE_QT5" should be set to "OFF" (as in `cmake .. -DENABLE_QT5=OFF`) — it's "ON" by default.
 * Fixed the problems in restoring of window size and position.
 * Keep the search string on node switching if the search is done in all nodes.
 * Added an option for saving on exiting without prompt.
 * When inserting a link, choose a blue color based on the background color.
 * Scroll to the clicked node without delay.
 * Fixed node renaming with transparent tree view.
 * Reduced the wait for systray to 20 sec. Also, show a warning if there's no tray.
 * Made toolbar icons small by default.
 * Removed the workaround for Enlightenment (it cluttered the code for no good reason).

V0.10.0
---------
 * Fixed compilation against Qt 5.12.
 * When the window isn't active under Wayland, hide and show it again if the tray icon is activated.
 * Better smooth scrolling from inside the view (especially with touchpad).
 * Scroll one page per wheel turn when the cursor is on the vertical scrollbar and half the page when Shift is also pressed.
 * Scroll the view up/down by a single step without moving text cursor with Ctrl+Up/Down. Also, scroll the view up/down by one page without moving text cursor with Ctrl+PageUp/PageDown.
 * Don't try to save or restore window position under Wayland because, otherwise, menus might appear at wrong positions.
 * Don't let QTextEdit's built-in undo/redo shortcuts cause a scroll jump when there's nothing to undo/redo.

V0.9.0
---------
 * Small fixes to smooth scrolling and link opening.
 * Require Qt5.12.
 * Prevented the transference of password or lack of it from one note to another in rare cases.
 * Prevented the transference of font settings from an opened note to a newly created one.
 * Added an item to the File menu for the recently opened files, whose number can be set in the Preferences dialog (and can be zero).
 * Added an option to open recent files separately (namely, in other instances of FeatherNotes).
 * Prevented Qt from giving rich text to the selection clipboard.
 * Removed a redundant shortcut and variable.
 * Fixed the bugs of searching and replacing in all nodes.
 * Go to the last active node when starting with the last opened note.
 * Save the final settings with SIGTERM signal too.
 * Prevent Qt from clearing format when the document font is changed.
 * Added cmake support (besides qmake).
 * Added a submenu to the table context menu for changing the horizontal alignment of tables.
 * Don't give styled text to the tray tooltip because KDE's Plasma has a tooltip bug.
 * Disable some node actions and also remove them from the tree context menu when they are impossible.
 * Instead of eliding texts, show the horizontal scrollbar in the side-pane when needed.
 * Fixed the states of direction and alignment actions with undo/redo when the text isn't changed.
 * Apply the background and foreground colors only to the stylesheets of text editors and not to the default stylesheets of documents. In this way, the custom bg/fg colors of the existing nodes, that are created by a recent version of FeatherNotes, will always be changed consistently.

V0.8.0
---------
 * Added support for customized background/foreground colors.
 * Updated the code for Qt 5.15.
 * Added overwrite prompt for HTML exporting.
 * Added a configurable date and time pasting.
 * Fixed an issue in changing the font of visited nodes.
 * Don't clear replacement highlights when the window is minimized or hidden.
 * Highlight only the first 1000 replacements if there are more.
 * Added an option for starting with the last opened file.
 * Removed the option for scroll jump workaround (because it wasn't FeatherNotes' job).
 * Prevent the editor font from changing when the application font changes.

V0.7.0
---------
 * Focus the visible unfocused search bar on activating its action.
 * Handle relative file paths correctly.
 * Overrode Qt's default behavior with the Home key.
 * Added optional spell checking with Hunspell, that can be enabled at compilation time.
 * Update the transparent side-pane's palette if the style changes in runtime.

V0.6.0
---------
 * Made some strings translatable.
 * Fixed a potential issue in translations.
 * Fixed a rare case of halted auto-saving.
 * Added a workaround for an old Qt bug, because of which, QTimer may not work after resuming from suspend or hibernation.
 * Give focus to text-edit/side-pane with Escape.
 * Don't let custom shortcuts be read from global config files.
 * Yet smarter Shift+Enter with alphabetical lists.

V0.5.1
---------
 * Considered the new behavior of horizontal wheel scrolling in Qt 5.14.0.
 * Added a workaround for the bug in horizontal scrollbars of Qt 5.14.0.

V0.5.0
---------
 * No need to elide the systray tooltip.
 * Added a shortcut editor to Preferences for customizing shortcuts.
 * Don't allow multiple custom shortcuts for one action. This is also a workaround for Qt's Meta key bug, that treats Meta like a non-modifier.
 * Added an info bar to Preferences. It shows up only when needed.
 * Always remember the Preferences dialog size.
 * Set the selected text and highlight colors if those of the app style aren't suitable.
 * Better placement of text context menu actions.
 * Replaced the Qt methods that were deprecated by Qt 5.13.
 * Basic Hurd support.
 * Don't let the current item change during a tree DND.
 * Drag a tree node only if there is a real mouse movement (and not when the view is scrolled by the wheel of a motionless mouse).
 * Smarter Shift+Enter, especially with numbered lists.
 * Added an option for auto-replacing (triple periods, double hyphens, etc.).
 * On triple clicking, select the current block without selecting its newline and start and end whitespaces.
 * Smooth wheel scrolling (touchpad scrolling is already smooth).
 * Fixed a problem in backward search and replacement.
 * Fixes for RTL, including a workaround for a Qt bug.

V0.4.6
---------
 * Removed an old workaround for KDE's clipboard.
 * Use C++11 raw string literals (thanks to shlyakpavel at GitHub).
 * Set the point size of the default document font to that of the widget font.
 * No focus for search buttons.
 * Many (similar) fixes in searching, replacing, printing and exporting.
 * Dropped QDesktopWidget.
 * Don't auto-save deleted files.
 * Allow compilation without X11.
 * macOS support by shlyakpavel at GitHub.
 * Fixed pasting of images into the doc.
 * Fixed DND with an image without extension.
 * Added an option for small toolbar icon size.
 * Separated the preferences code for adding new options more easily.
 * Update settings when the Preferences dialog is shown (because settings may have been changed in another FeatherNotes window).
 * Allow opening docs by DND.
 * Added a magic string to `text/feathernotes-fnx` but the extension has priority.

V0.4.5
---------
 * Added some text-editor shortcuts of FeatherPad.
 * Auto-bracketing support.
 * Better text tabulation.
 * Translation support.
 * Added SVG symbolic icons (that change color to have high contrast with their backgrounds) and removed system icon support because some important icons may not be found in system themes.
 * Support node icons.
 * First try "gio" for opening hyperlinks because Qt may resort to "xdg-open", which isn't a good choice sometimes.
 * Polish translation and a fix by Marcin Mikołajczak (m4sk1n at GitHub).
 * Added a workaround for a new bug in KDE's file dialog, which doesn't change directory with selectFile().
 * Wayland support.

V0.4.4
---------
 * Transformed signal-slot connections into the new syntax.
 * Removed saving of window states because although it works with well-behaved window managers like kwin and openbox, some WM's don't respect window states completely.
 * Added a preliminary help doc.
 * Don't respond to the tray icon when there's a dialog!
 * Put the real image scale in the scale dialog!
 * Implemented auto-scrolling to selected file in file dialogs.
 * Added the ability to save selected images.
 * Added support for text zooming with Ctrl+wheel.
 * An option to set a fixed start size (700x500 by default).
 * Set minimum widths of some message boxes.
 * Changed node moving shortcuts from Ctrl+ to Alt+ for all of them to work when the text edit has focus.
 * Don't let a selected node be deselected by Ctrl + left click!
 * Fixed text direction (for RTL).
 * A workaround for Qt's backward search bug.
 * Removed the translucency workaround.
 * A method for bypassing focus stealing prevention.
 * Options for hiding toolbar or menubar.
 * An option to choose between own and system icons.
 * An option for a transparent tree view.
 * Support Shift+Enter (useful e.g. to create lists).

V0.4.3
---------
 * Readded own icons because, first, not all icon themes have all the needed icons and, second, QTBUG-50829 exists.
 * Interpret relative URLs as local paths.
 * Removed the senseless stylesheet of search and replace buttons.
 * When activating the window by clicking on the tray icon, also consider the current viewport in addition to the current desktop. For example, Compiz has only one desktop, which may be divided into multiple viewports.
 * When closing a node, consider the possibility that it may be the last node.
 * Added a minimal support for Enlightenment.

V0.4.2
---------
 * At last, found a simple workaround for Qt5's scroll jump bug.
 * Also unminimize the window if the tray icon is clicked.
 * At startup, wait 1 min for the system tray.
 * Don't hide but minimize the window on closing if the tray icon couldn't be created.
 * Added a "Raise/Hide" item to the tray menu.
 * Removed the Enlightenment setting. (Why caring for Enlightenment when it wants to have its own world?).
 * Never use native dialogs (since KFileDialog can't be trusted).
 * Fixed an old bug in auto-indentation.
 * Explicitly delete the timer and tray icon on exiting.

V0.4.1
---------
 * Removed own icons.
 * Added a setting for Enlightenment.
 * Included the header of QDataStream in 'simplecrypt.cpp' for compilation against Qt 5.5.1.
 * Set the modification flag on the main window.

V0.4
---------
 * Exported to Qt5 because Qt 5.4.2 seems OK.
 * Workaround for a Qt5 bug, which prevents insertion of the non-breaking space (zero-width non-joiner, ZWNJ) with SHIFT+SPACE.

V0.3.1
---------
 * Made the systray icon optional and added a command line option for starting minimized.
 * Give the main window an ID when starting minimized to tray for translucency to work with Kvantum.

V0.3
---------
 * Use QStackedWidget instead of QTabWidget.

V0.2.5
---------
 * Reversed the last three changes made in V0.2.4 and used another method for hiding/showing window based on reparenting with a dummy widget.
 * Guarantee a fixed height for lineedits.
 * Don't increase the row height; leave it to the style in use.

V0.2.4
---------
 * Faster mouse wheel scrolling when the mouse cursor is on the vertical scrollbar.
 * Rehighlight found matches after zooming out or changing font.
 * Emit resized() for TextEdit from resizeEvent() and not from event() because "QEvent::Resize" doesn't cover all kinds of resizing.
 * For returning to the default size to be possible under all circumstances, hide the window before resizing and show it again afterward.
 * On quitting with the tray icon, show the window only if something is unsaved.
 * Use changeEvent() to get the window state because not all window managers trigger resizeEvent() when a window is unmaximized.
 * Minimize the window without taskbar icon instead of hiding it when its tray icon is clicked. Only in this way, its state info is correctly preserved.
 * Instead of moving to the current desktop, hide and show the window to preserve its state info correctly.
 * Don't use native open or save dialogs because they may cause problems when "Qt::WA_WState_Created" is reset after showing the window in trayActivated().

V0.2.3
---------
 * Put setGeometry() in showEvent() to make restoration of position possible with translucency.
 * Don't clear Qt::WA_WState_Created with translucency (-> BlurHelper() in oxygenblurhelper.cpp from oxygen-transparent).
 * Remove the settings for "max" and "fullscreen" when the window size isn't saved.
 * Under KDE, when text is selected for the first time after starting FeatherNotes, it isn't copied to the selection clipboard. Although I still don't know the cause (Klipper?), I found a workaround.
 * Activate auto-saving again if opening of another file is canceled.

V0.2.2
---------
 * Added text direction menu items and toolbar buttons because sometimes the direction isn't set automatically.
 * Keep tack of the window state and size even if they aren't supposed to be remembered because they're used when the tray icon is clicked.
 * By clearing the attribute "Qt::WA_WState_Created" before setGeometry() and setting it again after showing the window, the window positioning will be correct under all window managers on clicking the tray icon (see QWidget::setGeometry() in qwidget.cpp). So, there's no need to an extra option for position enforcing anymore.

V0.2.1
---------
 * Added '/usr/lib/x86_64-linux-gnu/libX11.so' as a system library to the project to fix the new error messages "x11.o: undefined reference to symbol...".
 * Don't use at() before checking the list size.
 * Made the background of the text area white with light themes.
 * Use tooltips in the Preferences dialog.
 * Also save the geometric settings on closing the Preferences dialog.
 * Always use restoreState() for the splitter.
 * Don't use setFixedSize() or resize() with dialogs because they may prevent them from being centered when shown.
 * Added an option for enforcing position when it's saved on exit because even by using the position of the client area, correct positioning isn't possible with all window managers or decorations.

V0.2
---------
 * Made FeatherNotes independent from any icon set.
 * Cleaned up auto-saving.
 * Added file path to the status bar info.
 * Change the status bar info when needed.
 * Always focus the text widget after raising the window with the tray icon.
 * Fixed bugs in searching for multiline strings.
 * When text is selected, use the left and right arrow keys to go to the start and end of the selection respectively.
 * Use the position of the client area for correct positioning under all desktop environments, including Gnome-Shell.

V0.1.9
---------
 * Set the text cursor at the position of right clicking if no text is selected.
 * When highlighting found matches, search for them only inside the visible part of the text.
 * Consider case-sensitivity when skipping nodes that don't contain the search string.
 * Use formatChanged() to set the pressed states of the format buttons after changing format.
 * If some text is selected and the cursor is put somewhere inside the selection with mouse, Qt may not emit currentCharFormatChanged() when it should. A workaround is added for this bug.
 * No need to enforce a central position for dialogs anymore.

V0.1.8
---------
 * Added keyboard shortcuts for text zooming (without changing the font size).

V0.1.7
---------
 * Don't write useless HTML code when there's nothing to see.
 * Added tree properties and menu based node renaming.
 * Close tag matches dialog when starting another type of search.
 * Added node name search.
 * Always use raise() after activateWindow().

V0.1.6
---------
 * Added support for encryption and password protection.
 * Added command-line option.
 * Always cancel search if the search bar is closed.

V0.1.5
---------
 * Printing is complete now.
 * Added HTML export.

V0.1.4
---------
 * Added support for text tables.
 * Fixes.

V0.1.3
---------
 * Added support for clickable links.
 * Custom context menus for TextEdits.

V0.1.2
---------
 * Consider returnPressed() in line-edits and spin-boxes as confirmation in most dialogs.
 * When FeatherNotes is started minimized to tray, bring it to the current desktop on clicking its tray icon.
 * Always expand the current node after adding a child to it.
 * Added a context menu to the tree-view.
 * Added a keyboard shortcut for toggling minimization to tray (useful when in fullscreen).
 * Care for window states when showing the window from the tray.
 * Added icons for GTK+ based environments.

V0.1.1
---------
 * Implemented the ability to add searchable tags to each node (something I missed since I stopped using NoteCase after it went closed-source).

V0.1
---------
 * FeatherNotes is reborn in Qt :) And it's far better than its GTK+ predecessor. It's quite usable but not finished yet.
