Skip to content

v4.0.0

Compare
Choose a tag to compare
@hluk hluk released this 11 Apr 15:23
· 872 commits to master since this release
v4.0.0

Update 2021-04-12: Windows binaries have been updated to include following critical fixes:

  • Missing notifications in setup.exe (#1620)
  • Crash when changing themes (#1621)

Features

  • Synchronization plugin newly keeps order of new items consistent between
    multiple application instances (#1558). Newly added items in one instance
    will appear at the top of other instances.

  • Search now finds separate words if regular expressions are disabled (#1569).
    Searching for "foo bar" will find items containing both "foo" and "bar" and
    the relative position of words no longer matter.

  • System notification popups are now used instead of own implementation.

  • Item rows in main window and tray menu are now indexed from one instead of
    zero by default (#1085). This can be reverted to the old behavior using
    command copyq config row_index_from_one false.

  • A tag can be marked as "locked" in configuration. Items with such tags cannot
    be removed until the tag is removed or "unlocked".

  • Command line completion for bash (#1460). Thanks, Jordan!

  • History combo box is focused when Action dialog opens to easily recall recent
    commands. Note: Focusing combo boxes is not supported on macOS.

  • Web plugin has been completely dropped (unmaintained with performance and
    possible security problems). Simple HTTP rendering is still supported by Text
    plugin.

  • Advanced option window_paste_with_ctrl_v_regex to change default paste
    shortcut Shift+Insert to Ctrl+V for specific windows (only on Windows and
    Linux/X11). This is regular expression matching window titles.

  • New advanced options allow to set intervals and wait times for copying,
    pasting and window focus:

    • script_paste_delay_ms - delay after paste(), default is 250ms (#1577)
    • window_wait_before_raise_ms
    • window_wait_raised_ms
    • window_wait_after_raised_ms
    • window_key_press_time_ms
    • window_wait_for_modifiers_released_ms
  • Format "text/plain;charset=utf-8" is now preferred to "text/plain".

  • FakeVim: Auto-indents when adding new lines.

Scripting

  • New scripting engine. This adds some new functionality, better ECMAScript
    support, improved performance and would allow Qt 6 support in the future.

  • Argument --start-server to both starts the app if not yet running and runs
    a command (#1590). For example, copyq --start-server show would show main
    window even if the app was not started yet.

  • Accessing a missing plugin from script throws an human-readable error and
    show an popup if uncaught (for example, "plugins.itemtags" could throw
    "Plugin itemtags is not installed").

  • Script function setPointerPosition() throws an error if it fails to set the
    mouse pointer position.

  • Fixes for NetworkReply objects to properly fetch data when needed (#1603).
    Script functions networkGet() and networkPost() now wait for data to be
    fetched. New script functions networkGetAsync() and networkPostAsync()
    can be used to make asynchronous network request. Property
    NetworkReply.finished can be used to retrieved completion status of a
    request.

  • New script function styles() to list possible application styles and option
    style to override the default or current style.

Platforms

  • Wayland support, notably clipboard access and window size restoring.

  • Windows: Builds are now 64bit (built by Visual Studio tools).

  • Linux: Selecting the app icon in the desktop environment using the installed
    entry in the application menu or launcher, shows main window immediately.
    Previously, the app started silently in tray or minimized state.

  • Linux/X11: Fixes copying from VirtualBox (#1565).

  • macOS: Fix version information (#1552).

User Interface

  • The default theme is kept consistent with system theme (#1613). This also
    allows to use new special placeholders like default_bg and default_text
    in custom style sheet files.

  • Command dialog always shows the command type at top.

  • Updated icons (Font Awesome 5.15.3).

  • FakeVim: Command line not supports better text interaction (select, copy,
    cut, paste).

Fixes

  • Fix crashed with some custom system themes (#1521).

  • Fix importing old saved tabs/configuration (#1501).

  • Fix trailing spaces in copied commands.

  • Fix filtering shortcuts in preferences.

  • Fixes for window geometry restoring.

  • Tray menu items are updated only just before the menu is shown.

  • Avoid storing "text/richtext" by default since displaying of this format is
    not supported.

  • Better performance when updating synchronized items.

  • Various appearance and theme fixes (#1559).

Various

  • Code base now follows C++17 standard.

  • GitHub Actions now continuously build and test for Linux and macOS, and
    provide development builds for macOS.