Version 1.2.2:
  Bug fixes:
  - Fix typo in copy-assignment operator signature leading to an infinite
    recursion and segmentation fault.

Version 1.2.1:
  Bug fixes:
  - Fix incorrect computation of the number of endchars in a text_line when the
    end of the line truncated a double-width character. This would cause a
    segmentation fault in the t3window library.

Version 1.2.0:
    New features:
    - The attribute picker dialog distinguishes between explicitly unset and
      indeterminate settings. The latter will always fall back to the base
      attributes they are combined with. This requires libt3window version 0.4.0
      or later.

Version 1.1.1:
    Bug fixes:
    - Display of the indeterminate state of checkbox_t did not work.
    - Fix incorrect initialization of edit_window_t::behavior_parameters_t from
      edit_window_t::view_parameters_t.

Version 1.1.0:
    New features:
    - Ctrl+backspace erases the last word starting from the cursor.
    - Expander widgets also expand/collapse on +/- and right/left arrow.
    - Menus, including right-click menus, now close when clicking on the border.
    - edit_window_t::view_parameters_t is deprecated and replaced by
      edit_window_t::behavior_parameters_t. The reason for the replacement is to
      make the parameters extensible without breaking ABI compatibility.
    - checkbox_t can now operate in tri-state mode.

    Bug fixes
    - Handle errors in getcwd more gracefully (i.e. return "/" as current working
      directory).
    - Make force_redraw for frame_t call widget_t force_redraw as well, to ensure
      that the frame_t is redrawn as well. This was very visible when resizing
      the file dialogs.
    - Calling set_size on edit_window_t now correctly handles nullopt values in
      the parameters.

Version 1.0.6:
    Bug fixes
    - Search & replace handles zero-width search results from regular expressions
      allowing, for example, inserting a string at the start of the line by
      replacing the pattern ^ by some text.
    - Calling indent_selection and unindent_selection on an edit_window_t now
      correctly performs the same action as pressing tab and shift-tab.

Version 1.0.5:
    Fix the configure script such that it attempts to compile all tests using the
    correct CXXFLAGS.

Version 1.0.4:
    Introduce a PCRE2 compatibility layer using PCRE, to allow compilation on
    platforms which don't provide PCRE2.

Version 1.0.3:
    New features:
    - Migrate to using PCRE2 instead of PCRE.

    Bug fixes:
    - Unsplitting caused segmentation faults.
    - The connection to GPM remained open during suspend, making GPM useless for
      the duration of the suspend.
    - Prevent the mouse cursor from moving beyond the top of the screen while
      holding down the mouse button in GPM mode.
    - Ensure that the mouse cursor is visible when the holding down the mouse
      button in GPM mode.
    - Allow searching for empty strings using regular expressions.

Version 1.0.2:
    Fix hanging on exit in the X11 module.

Version 1.0.1:
    Fix compilation on some older compilers, that don't automatically apply
    moves.

Version 1.0.0:
    The API has been overhauled to use more of the features of the C++11
    standard. This release is both binary and API incompatible with previous
    releases.

Version 0.6.4:
    Bug fixes:
    - Bracketed paste mode was not handled correctly due to inadvertent setting
      of the EKEY_PROTECT bit.

Version 0.6.3:
    Bug fixes:
    - The indicator in list panes would disappear of screen when scrolling
      beyond the first page.
    - The cursor position after undoing an unindent operation was set
      incorrectly.

Version 0.6.2:
    Bug fixes:
    - Bracketed-paste mode would hang indefinitely and did not properly
      recognize line endings.

Version 0.6.1:
    Bug fixes:
    - Key bindings for split windows (F8 and Shift-F8) were broken.

Version 0.6.0:
    New features:
    - Allow replacing of menu items.
    - Make key bindings configurable.
    - Add select-all behavior to text fields.
    - Add delete-line capability to edit window.
    - Add support for the so-called SGR mouse protocol.
    - Allow disabling of claiming the primary selection.
    - Use bracketed-paste mode where available to improve pasting by the
      terminal itself.
    - Remove support for Xlib, leaving the XCB library as the only library for
      X11 support. The Xlib version was long untested and broken.
    - Remove support for libsigc++. This has been superseeded by C++11 support,
      which libsigc++ itself has required now for a long time, removing the
      value of the libsigc++ library for libt3widget.

    Bug fixes:
    - Improved handling of conjoining Jamo (Hangul).
    - Pressing enter while the color picker is selected in the
      attribute-selection dialog now activates the OK button as expected.
    - Fix joining an unstarted thread when initialization failed.
    - Correct reporting of libtranscript errors from initialization.

Version 0.5.4:
    - Removes pre-generated Doxygen documentation.
    - Minor updates to Makefile.in for compatibility with Debian packaging.

Version 0.5.3:
    Bug fixes:
    - Fix the returned error on initialization failures. The error was obscured
      sometimes, leading to the error string "OK" for failed initialization.
    - Fix cursor positioning after goto-line in the edit window, by using the
      screen position rather than the byte position.

Version 0.5.2:
    Bug fixes:
    - Searching for string in text with non-ASCII characters failed around the
      non-ASCII characters. Searching for non-ASCII characters did not yield
      any results. This problem only affected non-regular expression searches.

Version 0.5.1:
    Bug fixes:
    - Fix crash on exit when using GCC for compilation and the X11 module. This
      crash was caused by destructor/atexit ordering.

Version 0.5.0:
    New features:
    - When compiling with a C++11 compatible compiler, libsigc++ and pthread
      support is no longer required. This does require that all packages built
      against libt3widget are also built in C++11 mode. As recent versions
      libsigc++ also require this, depending on libsigc++ does not prevent this
      issue.
    - A new function for terminating the main loop from outside of the main
      loop is provided. It may even be safely called from signal handlers.

    Bug fixes:
    - Fix setting of visible part of the text in the text_field_t when changing
      the contents using set_text.
    - Fix re-activating an already active popup. Re-activating the currently
      active popup would cause the popup to be hidden.
    - Fix a segmentation fault when dragging the selection beyond the top of
      the text area.

Version 0.4.7:
    Bug fixes:
    - Fix crashes due to invisible widgets getting activated through hotkeys.
    - Fix read of uninitialized value.
    - Fix memory leaks in edit widget undo/redo.

Version 0.4.6:
    Bug fixes:
    - Fix movement of cursor after mouse positioning.
    - Fix crash when clicking below the entered text in wrap mode.
    - Fix sanitizing of directory names, which would start at a random point,
      instead of at the start of the string.

Version 0.4.5:
    Bug fixes:
    - Fix movement of cursor after inserting a tab.
    - Fix movement of cursor on pressing left or right when text is selected.
    - Don't allow pasting of values with filtered characters in text fields.

Version 0.4.4:
    Bug fixes:
    - Remove superfluous / characters from directory names in the file dialog,
      which prevented .. from working correctly.
    - Fix incorrect value types in return statements in widget_group::is_hotkey.
    - Correctly set the time member in the SelectionNotify events sent for
      X11 clipboard conversions. This fixes hangs when pasting in other clients.

Version 0.4.3:
    Bug fixes:
    - Don't erase the last line of wrapped text in the edit window.

Version 0.4.2:
    Bug fixes:
    - Allow scroll wheel to function on scrollbar again.
    - Do not (un)indent the bottom line of the selection if the selection starts
      below the end and on column 0.
    - Properly reset application-keypad mode.
    - Fix several memory leaks related to popups.

Version 0.4.1:
    Bug fixes:
    - Fix a segmentation fault on pressing enter in a text field without drop
      down list.

Version 0.4.0:
    New features:
    - Draggable menus.
    - Draggable scrollbars.

    Bug fixes:
    - Ensure correct cursor position after line unindent and undo of line
      unindent (#16).
    - Fix report window for mouse event.
    - Check bounds on arguments to text_buffer_t::calculate_line_pos in
      edit_window_t::xy_to_text_coordinate.

Version 0.3.0:
    New features:
    - Use libt3window's new functionality to retrieve modifiers.
    - GPM (General Purpose Mouse) support, to enable mouse on the linux console
      (#11).
    - Implemented search panel for the file pane, such that a user can type
      (part) of the file name to search (#9).

    Bug fixes:
    - Make single click work for list_pane_t (#3).
    - Update the edit_window_t contents on scrollbar click (#7).
    - Ungrab the mouse if there is a selection in a text-field drop-down list.
    - Hide the drop-down list on pressing enter in a text field.
    - Compile with Large File Support if such support is available on the
      platform.

Version 0.2.1:
    Bug fixes:
    - Fix a crash on summoning the Open File dialog when the current file is in
      a non-existent directory.
    - Fix scrollbar slider sizing for texts which do not span the entire
      screen.

Version 0.2.0:
    New features:
    - New dialog: attribute_selector_t
    - New widgets: expander_t, color_picker_t, color_pair_picker_t,
      widget_group_t
    - The text to find from a find dialog opened from the edit_window_t widget
      is now set from the current selection if applicable.

    Miscelaneous:
    - Changed the set_focus call in window_component_t to change the argument
      from bool to an enum indicating where the focus came from as well.
    - Renamed focus_set to set_child_focus in container_t
    - Added widget_container_t which serves better as a base class for widgets
      which group multiple widgets together.
    - Added a parameter to widget_t constructor to allow not registering a
      widget as a mouse target.

    Bug fixes:
    - Update the visual state of a checkbox on calling set_state.
    - Fix menu item drawing after removal of an item from a menu.
    - When file_dialog_t::set_file is called for an unreadable directory, it no
      longer crashes the program.

Version 0.1.14:
    Miscelaneous:
    - Changed the visibility of ensure_cursor_on_screen in edit_window_t from
      private to protected.

Version 0.1.13:
    Bug fixes:
    - Prevent unprintable zero-width characters at the start of a line from
      being printed separately.
    - Fix cursor positioning for zero-width characters at the start of a line.
    - Fix invalid memory access in X11 handling.

Version 0.1.12:
    New features:
    - Much improved mouse handling for text fields and autocomplete pop-ups.

    Bug fixes:
    - Detect broken X11 connections when using XCB, and disable the X11
      clipboard handling if the connection breaks.
    - Fix several innocuous possible data races.

Version 0.1.11:
    New features:
    - Text lines and edit windows now have options for showing tabs.
    - Changed the text_buffer_t API w.r.t. handling of the selection and find
      results.

    Bug fixes:
    - Tabs are now handled better when using line wrapping.
    - Stop propagating mouse events to dialogs that are no longer the active
      dialog.

Version 0.1.10:
    Bug fixes:
    - Fix double free in find operation.

Version 0.1.9:
    New features:
    - Follow libt3key 0.2.0 API change.

Version 0.1.8:
    Bug fixes:
    - Show the menu bar when in hidden mode and a menu is activated.
    - Added check for required XCB constants, to prevent build failures.

Version 0.1.7:
    New features:
    - Allow finalizing of the library, to allow release of all memory for
      debugging purposes.
    - Use dlopen/dlsym/dlclose directly if available, instead of using libltdl.
    - The text_window_t widget now also supports mouse actions.
    - Use XCB instead of Xlib if available.
    - Change many classes to use the private implementation idiom, to achieve a
      more stable ABI.

    Bug fixes:
    - Replace using regular expressions and \1 .. \9 references caused a buffer
      overrun.
    - Unindent selection would cause a crash if the selection started before
      the whitespace to be removed.
    - Unindent selection would move the cursor to the last line to be
      unindented.
    - Hickups in the X11 integration module have been solved.

Version 0.1.6:
    New features:
    - Support for the XTerm mouse protocol.
    - Integration with the X11 clipboard and primary selection.

    Miscelaneous changes:
    - Use libunistring instead of libt3unicode.
    - API changes for text_buffer_t.
    - Labels and hotkeys for find dialog changed.

    Bug fixes:
    - Scrollbar now only shows the slider at the end position if the end of the
      content is in range.

Version 0.1.5:
    New features:
    - Allow grouping of several undo items in text_buffer_t.
    - "Replace in selection" now working.
    - Autocompletion support in edit_window_t.

    Bug fixes:
    - "Replace all" now stops even if the search string occurs in the
      replacement string.
    - Fix the default colorscheme such that text remains readable when the
      cursor or selection are over a highlighted section.

Version 0.1.4:
    New features:
    - Allow coloring of text in edit_window_t through subclassing of
      edit_window_t and text_line_t (used for syntax highlighting in Tilde).

    Bug fixes:
    - Invisible scrollbar in list pane.

Version 0.1.3:
    Bug fixes:
    - Fix crash on unsetting wrap on buffer.
    - Fix handling of end key in wrap mode.
    - Show cursor when on the first character of the line if it is zero-width.

    New features:
    - Faster handling of large text buffers.

Version 0.1.2:
    Bug fixes:
    - Fixed Makefile.in such that it correctly uses CXXFLAGS in the build.

Version 0.1.1:
    Initial release
