Path to this page:
Subject: CVS commit: pkgsrc/editors/xournalpp
From: Yorick Hardy
Date: 2023-08-06 13:59:42
Message id: 20230806115942.A98F8FBDB@cvs.NetBSD.org
Log Message:
editors/xournalpp: update to xournalpp-1.2.0
While here, fix patch-CMakeLists.txt to search the correct directory
for cmake modules (the patch was incorrect).
= Changelog
== 1.2.0
This is a new major version of Xournal++ with many new features, improvements,
and bug fixes thanks to contributions from the community.
* **Breaking Changes**:
* Linux: support for Ubuntu 18.04 has been dropped. Dependency versions are
now pinned to those used in Ubuntu 20.04.
* Linux: added an optional dependency on gtksourceview4
* Added PDF text selection tools (#1745, #3326, #4362)
* Two new tools have been introduced, "Select Linear PDF Text" and \
"Select PDF
Text In Rectangle", used for selecting text on background PDFs. The tools
support "linear" and "area" selection modes. \
Double/triple clicking enables
line and paragraph selection, respectively.
* The toolbox has buttons that allow a user to: 1) copy the selected text,
2) generate a highlight stroke over the selected text; 3) generate a stroke
to strike-through the text; 4) generate a stroke to underline the text;
and 5) toggle between linear and rectangle selection.
* Clicking on a link with one of the text selection tools will open a popup
that can be used to navigate to the corresponding PDF page (if it exists) or
display a clickable URL (#1027, #4412, #4673).
* Pressing `Ctrl+C` will copy the selected text to the clipboard (#4436,
#4784).
* Added Setsquare Tool and Compass Tool
* The Setsquare Tool toggles a virtual setsquare, which can be used for
measurements and as a guide for drawing straight lines (#3082, #3882,
#4211, #4532, #4422).
* The Compass Tool toggles a virtual compass, which can be used for drawing
circles, arcs, and radial line segments (#4443, #4422).
* Mouse, stylus, and touchscreen input can be used to interact with the
Setsquare and Compass Tools.
* See the website for more information.
* Colors
* Added new custom color palette support (#2379). A custom color palette can
be created in `.gpl` format in the Xournal++ config folder. See the website
guide for information on how to create a `.gpl` file.
* Changed the color picker so that it opens with the currently selected color
by default (#4569, #4575).
* Fixed the color picker dialog appearing on a different screen in
multi-screen setups (#4519, #4543).
* Image Tool
* Added support for loading any image format supported by GDK Pixbuf (#3782).
For backwards compatibility, images are still saved in PNG format.
* Fixed some bugs with copying and pasting images (#4466).
* Fixed image orientation data not being handled properly (#4577, #4583).
* Text Tool
* Added functionality to automatically select the currently editing text if
switching to a selection tool (#1169, #4315).
* Fixed some bugs when handling IM input, improving compatibility for some
IMEs such as `gcin` (#3841, #4937).
* Fixed text input remaining active after changing pages (#4027).
* Fixed bold toggle also removing italics (#4417).
* Fixed pasted text not using the color of the text tool (#4466).
* Fixed an issue where `Ctrl+Alt+Left` (or right) would cause the layer to
change instead of selecting the previous (or next) word (#977, #4797).
* Hand Tool
* Changed selections to hide the controls when the Hand Tool is selected (
#4419).
* Added capability to interact with links on the background PDF (#1027,
#4412, #4673)
* Stroke and eraser tools
* Added a system cursor option (#3540).
* Added stroke cap styles to the file format (#3326).
* Added a "double ended arrow" stroke style (#2362, #3946).
* Added a Preferences setting for setting the minimum size of the shape
recognizer (#4283).
* Added a toolbar item for changing fill opacity (#4263).
* Added each line style as a new, individual toolbar item that can be added
in toolbar customization (#4565).
* Added a Preferences setting to set the visibility of a stylus-activated
eraser (#4665).
* Improved minor graphical aspects of the fill opacity dialog (#3515).
* Improved performance by rendering strokes with integer coordinates (#4080).
* Improved the arrow stroke style by scaling the arrow head by line length
for small arrows (#4055).
* Rewrote the stroke rendering code to fix bugs and improve performance
(#3480, #3580, #4304).
* Rewrote the Eraser tool to be faster and more reliable (#3532, #997, #949,
#3537).
* Rewrote the ellipse stroke type to reduce the number of points while
(roughly) maintaining the same look (#4137, #4320).
* Fixed a bug where stroke stabilization could produce NaN pressure values,
causing them to become invisible when exported to PDF (#4381, #4401).
* Fixed issues involving documents that contain strokes with negative or NaN
pressure values (#4354, #4401). When such documents are now loaded, points
with NaN pressure values will automatically be removed.
* Fixed a bug in the stroke stabilizer where the stroke pressure value may
sometimes not be set on the last point (#4676).
* Toolbars
* Added new "Export as PDF" toolbar item (#3508). It and the \
"Print" toolbar
item have also been added to the default layouts.
* Added "Spacer" and "Separator" toolbar items for \
creating extra space in
toolbars (#4644, #4674).
* Fixed a crash that occurs if the application is closed while toolbar
customization is open (#4559).
* Updated the default `toolbar.ini` (#4670).
* Layers
* Added a context menu for the layer sidebar preview (#3204).
* Added a feature for merging layers down. This can be accessed via the
`Journal`menu or the new layer preview context menu (#2784, #3204).
* Added `Edit > Move Layer Up/Down` menu items for moving layers up/down
(#4352).
* Added a CLI flag to choose which layer(s) to export (#4143).
* Added two new tools, "Select Multi-Layer Rectangle" and \
"Select Multi-Layer
Region", which are like the existing rectangle/region select tools but can
be used to select objects on a different layer than the active one (#4413).
* Plugins
* Added new plugin APIs, including export options, getting page info, adding
strokes, adding images etc. (#3677, #3566, #3688, #4359, #4397, #4858).
* Added a new plugin "Export" used to export the current document to \
PDF, SVG,
or PNG format with `<Shift><Alt>p/s/n`, respectively (#3566).
* Added a new plugin "HighlightPosition" used to toggle the cursor \
highlight
(#3023).
* Added support for additional plugin loading paths (#1155, #2422). Notably,
plugins will also be searched for in the `plugins` folder contained in the
user's config directory (see the "File Locations" section of the
website/guide for where to find this folder).
* Added an `ACTION_TOGGLE_PAIRS_PARITY` used for programmatically changing
between single and paired page mode. This is currently only accessible
through the plugin API (#4424).
* Added a new feature to `app.registerUI` to register custom toolbar items
(#2431, #2936, #4669, #4671).
* QuickScreenshot plugin: added `maim` and `xclip` program support (#3718).
* Improved error handling so that the plugin API returns actual Lua errors
(#4652).
* Fixed several issues with plugin-disabled builds (#4726, #4728, #4746).
* Audio recordings
* All elements without audio now become faded when the Play Object tool is
used (#2874).
* Windows: fixed issues with saving/loading audio files with unicode
characters in their names (#3783).
* Vertical Spacing Tool
* Added capability to move elements above the line by holding Ctrl (#3334).
* Improved performance (#3334, #4306).
* TeX Tool
* Reimplemented the LaTeX editor using the gtksourceview library (#2809),
enabling multiline input, syntax highlighting, undo/redo, word wrap, and a
resizable code editor.
* Added a tab for viewing the output of the TeX command (#2809).
* Added Preferences settings for changing the syntax highlighting theme, word
wrap settings, font, default formula, and other settings (#2809, #4264).
* Changed the TeX background color to become dark when a light font color is
selected (#2809).
* Fixed a bug where editing existing TeX will cause its position to change
(#4415, #4430).
* Fixed a memory leak (#4088)
* PDF support
* Added "Xournal++" as the "Creator" in exported PDF \
metadata (#3523).
* Added button to propose replacement background PDF if it is missing and a
file with a similar name is found in the same folder as the `.xopp` file
(#4165)
* Added a "default PDF export name" setting that is used when \
exporting PDFs
to support wildcards/placeholders for name, date, and time (#2897, #4599,
#4854).
* Minor performance improvements (#4004, #4704).
* Fixed a crash that occurs when exporting to PDF from the command line, but
the background PDF does not exist (#4584, #4681).
* Floating toolbox
* Added capability to open the floating toolbox with a secondary button
(#3270).
* View modes (#4514)
* The individual default, fullscreen, and presentation modes have been
reorganized into a "View Modes" setting in Preferences.
* The "Hide menu bar" and "Hide sidebar" settings now work \
correctly
with these view modes (#2773).
* Changed the `F5` shortcut so that it can also be used to leave presentation
mode. Removed the `ESC` shortcut to leave presentation mode, which
conflicts with cancelling a selection (#4480).
* Optimizations
* Refactored the rendering system, leading to performance improvements, bug
fixes, and code that is easier to extend with new features (#1795, #4051,
#3480, #3503, #3969, #3985, #3990, #4304, #4137, #4417, #4158, #4159,
#4687, #4442, #4271).
* Improved rendering performance by eliminating unnecessary redrawing
(#4502, #4493, #4659, #4611, #4637, #4672).
* macOS: significantly improved performance due to GTK version upgrade to
3.24.38.
* Packaging
* Added build flags to force or disable X11 linking (#4146).
* AppImage: added support for AppImageUpdate (#1915, #4265, #4781, #4793).
* Windows: the installer will now record the installed version in the
Windows registry (#4548).
macOS: added a script to build a .dmg for Xournal++ (#4371).
* Miscellaneous
* Improved file size of documents with large amounts of stroke data by up to
15% (#4065).
* Improved the page range validation UX in the export menu (#3390).
* Added a `Journal > Duplicate Page` menu item (#3831, #4313).
* Added code to detect and fix documents with pages that have the corrupt page
type "Copy" (#4139).
* Added built-in support for the existing Lucide Light and Lucide Dark icon
themes (#4039, #4063).
* Added an action for toggling the cursor highlight (#3023).
* Added a Preferences setting for choosing whether to show the file path in
the titlebar (#3921, #3934).
* Added an `Edit > Select All` menu option for selecting all elements on the
current layer (#1917, #4024).
* Added margin width and line spacing parameters to be used for
`pagetemplates.ini`, allowing the vertical margin lines to be moved and the
line spacing to change (#1713, #3542, #3969).
* Added a keyboard shortcut `Ctrl+Shift+Z` for redo (#1323, #4292).
* Added a menu item to the bottom of the recent files list for clearing the
recent files list (#4410, #4440).
* Added keybindings for switching to the first 10 colors in the palette to
keys 0-9 (#2007, #4416).
* Added vim keybindings `Shift+j` and `Shift+k` for page scrolling (#4573).
* Refactored key event handling such that key-press and key-release events
are first propogated to the focus window and up the focus chain container,
thus allowing for plugins using keyboard shortcuts that would otherwise
conflict with the text tool (#4797, #4811).
* Added a new setting for automatically appending a new page to the document
when scrolling to the last page (#1343, #4311).
* Added page numbers to the sidebar page previews, which can be configured
in the Preferences (#4624, #4693).
* Changed version numbers in About window to be selectable text (#4152).
* Changed the About dialog to hide the Git commit info if it is not found
(#4537).
* Changed the autosave directory from the user config folder to the user cache
folder (#3587).
* Changed the "Apply to current page" button so that it is disabled \
in the
page type dropdown menu when "Copy current page" is selected \
(#4142, #4255).
This helps to ensure that the corrupt "Copy" page background type \
cannot
actually be produced in a document (see #4127).
* Fixed the cursor highlight clipping when the sum of the radius and border
width exceed 60 pixels (#3023).
* Fixed the cursor highlight not showing with "None" cursor type (#3023).
* Fixed the cursor not immediately changing when activating the vertical space
tool (#4851, #4864).
* Fixed a scrolling bug when undoing page insertion (#2757, #4875).
* Linux: fixed Hand Recognition not working on X11 (#4043).
* Fixed a bug where floating point values would not be parsed correctly in
`pagetemplates.ini` (#3655, #3676).
* Fixed several memory leaks and other issues (#3748, #4554, #4679, #4680).
* Fixed a bug where grid backgrounds with borders would not be rendered
correctly (#3969).
* Fixed the line style toolbar item not being updated correctly when selecting
existing stroke elements (#3793, #4089).
* Fixed a crash that occurs when using Annotate PDF to open a non-PDF file
(#3368, #4526).
* Fixed potential race conditions (#4533).
* Fixed a potential crash that can occur when adding a color selection
toolbar item to a side toolbar (#4505, #4535).
* Fixed an issue where failing to create a backup during saving would silently
abort saving instead of informing the user (#4675, #4715).
* Fixed a bug where undo/redo would not deselect the current selection (#4609,
#4725).
* Added undo/redo for selections moved via keyboard (#4835, #4842).
* Fixed a bug with changing linestyle via toolbar or plugins not working
properly (#4831, #4827, #4823).
* Fixed a "File Bug Report" dialog that has never been shown but \
should now be
shown when an error log is detected on startup (#4808).
* Improved the CrashLog by adding the Xournal++ and Gtk versions as well as
every log message issued via g_message, g_critical, g_debug and so on (#4848).
* Fixed a mismatch between the app id the window sets and the name of the desktop
file, leading to the Wayland icon being shown instead of the Xournal++ icon.
The program name and StarupWMClass were therefore changed from xournalpp to
com.github.xournalpp.xournalpp (#4870, #4887).
* Replaced deprecated icons, which are missing on newer versions of GNOME as
well as Windows and macOS builds (#3945, #4544).
* macOS: fixed clipboard image paste not working (#3455, #4489).
* macOS: fixed audio recording by compiling libsndfile with external libraries
(#4656, #4371).
* Removed old MIME types from XDG desktop metadata files (#4130).
* Fixed header includes for compiling with GCC 13 (#4912).
* Define MAX_PATH if undefined to address Hurd build failure (#4962).
* Other minor code cleanup and improvements.
* Initial preparatory work to migrate to GTK4 (#4441, #4448).
* Updated translations.
Files: