Difference between revisions of "Release notes/1.3"

From Inkscape Wiki
Jump to navigation Jump to search
(14 intermediate revisions by the same user not shown)
Line 16: Line 16:
}}
}}


== Release highlights ==


<!--'''Released on May xx, 2023 '''-->
'''Definitely not released yet.'''


The highlights of this major Inkscape version are:


== Release highlights ==
<!--'''Released on May xx, 2023 '''-->
<!--'''Definitely not released yet.'''-->


* Pattern editor, pattern canvas controls, and pattern performance.
* [[#Shape_Builder_Tool|Shape builder]] - a new tool for building complex shapes (Boolean tool)
*Shape builder - New tool for building complex shapes from simple shapes. (Live Boolean tool)
* [[#On-Canvas_Pattern_Editing|On-Canvas Pattern Editing]]
*Live path effects dialog - Totally new and improved
* [[#Pattern_Editor|Pattern Editor]]
*Filter editor - New redesign
* [[#Page_Tool|Page margins & bleed]]
*'''And so much more!'''
* [[#Document_Resources_Dialog|Document Resources Dialog]]
* Return of [[#Layers_and_Objects_Dialog|Search, opacity & blend modes in Layers & Objects dialog]] and of an optional [[#Snap_toolbar|persistent snap bar]]
* [[#Font_Collections|Font Collections]]
* [[#Syntax_Highlighting|Syntax highlighting in XML Editor]]
* [[#LPE_Dialog|LPE dialog user interface redesign]]
* '''And so much more!'''


==Performance==
== Performance ==


A lot of effort has gone into improving the performance and speed of all aspects in Inkscape. This involved the refactoring of inefficient code, rewriting how Inkscape works with patterns, moving bitmap tracing into a separate thread and so much more!
A lot of effort has gone into improving the performance and speed of all aspects in Inkscape. This involved the refactoring of inefficient code, rewriting how Inkscape works with patterns, moving bitmap tracing into a separate thread and so much more!
Line 40: Line 45:
You can set the number of processor cores Inkscape should use for rendering in <code>Edit > Preferences > Rendering > Number of Threads</code>. By default, Inkscape tries to be as fast as possible by using as many cores as possible ([https://gitlab.com/inkscape/inkscape/-/merge_requests?scope=all&state=merged&label_name&#x5B;&#x5D;=Project%3A%3AMultithreading Multithreading MRs], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4760 MR #4760]).
You can set the number of processor cores Inkscape should use for rendering in <code>Edit > Preferences > Rendering > Number of Threads</code>. By default, Inkscape tries to be as fast as possible by using as many cores as possible ([https://gitlab.com/inkscape/inkscape/-/merge_requests?scope=all&state=merged&label_name&#x5B;&#x5D;=Project%3A%3AMultithreading Multithreading MRs], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4760 MR #4760]).


==General user interface ==
== General user interface ==


=== Color Palette ===
=== Color Palette ===
Line 54: Line 59:


[[File:Inkscape BHd0t2kzml.gif]]
[[File:Inkscape BHd0t2kzml.gif]]




Line 69: Line 72:
* selecting the page with the page tool
* selecting the page with the page tool
* changing the current page using the buttons in the status bar
* changing the current page using the buttons in the status bar


=== Snap toolbar ===
=== Snap toolbar ===
Line 74: Line 78:
An option was added in <code>Edit → Preferences → Interface → Toolbars</code> to show snapping options permanently in a dedicated toolbar, similar to Inkscape version 1.1 and earlier.
An option was added in <code>Edit → Preferences → Interface → Toolbars</code> to show snapping options permanently in a dedicated toolbar, similar to Inkscape version 1.1 and earlier.


===Keyboard shortcuts===
 
=== Keyboard shortcuts ===


The keyboard shortcuts for aligning objects vertically and horizontally have been moved to the numeric keypad, where the other alignment shortcuts are, too:  
The keyboard shortcuts for aligning objects vertically and horizontally have been moved to the numeric keypad, where the other alignment shortcuts are, too:  
Line 82: Line 87:
[[File:OKLAB.png|thumb|474x474px]]
[[File:OKLAB.png|thumb|474x474px]]
If you find yourself unable to reach the new shortcuts (for example, because your laptop does not have a keypad, or because the shortcuts do not work - may be the case on Linux with Xfce), you can set them to something else by changing '''both''' the alignment shortcut '''and''' the function that now uses that shortcut (if any). Use the search in <code>Edit > Preferences > Interface > Keyboard</code>. It also allows searching for shortcuts, not only for their name (e.g. search for 'ctrl+alt+t' to find the new default action that is executed when that combo is pressed).
If you find yourself unable to reach the new shortcuts (for example, because your laptop does not have a keypad, or because the shortcuts do not work - may be the case on Linux with Xfce), you can set them to something else by changing '''both''' the alignment shortcut '''and''' the function that now uses that shortcut (if any). Use the search in <code>Edit > Preferences > Interface > Keyboard</code>. It also allows searching for shortcuts, not only for their name (e.g. search for 'ctrl+alt+t' to find the new default action that is executed when that combo is pressed).


=== Color Pickers ===
=== Color Pickers ===
Line 88: Line 94:


This additional option is disabled by default. It can be enabled in <code>Edit → Preferences → Interface → Color Selector</code> as "OKHSL", and will then be available in any color picker's dropdown. Note that color values will still be written as RGB hex codes in the SVG source, and Inkscape also does not support reading colors that are defined in that color space. This change is purely adding a new convenient option for choosing colors.
This additional option is disabled by default. It can be enabled in <code>Edit → Preferences → Interface → Color Selector</code> as "OKHSL", and will then be available in any color picker's dropdown. Note that color values will still be written as RGB hex codes in the SVG source, and Inkscape also does not support reading colors that are defined in that color space. This change is purely adding a new convenient option for choosing colors.


=== Rulers ===
=== Rulers ===
Line 99: Line 106:


[needs screenshot of current default]
[needs screenshot of current default]


=== Commands Palette ===
=== Commands Palette ===
Line 106: Line 114:
[Needs new screenshot with more up-to-date ruler or entirely without]
[Needs new screenshot with more up-to-date ruler or entirely without]


==Canvas==
 
== Canvas ==


Pressing '''<code>F</code>''' temporarily hides on-canvas overlays (transformation handles, grids, guides...). This allows quick preview of final artwork without any distractions.
Pressing '''<code>F</code>''' temporarily hides on-canvas overlays (transformation handles, grids, guides...). This allows quick preview of final artwork without any distractions.
Line 116: Line 125:
[[File:Ezgif.com-resizeasd.gif|400x400px]]
[[File:Ezgif.com-resizeasd.gif|400x400px]]


===OpenGL (GPU) accelerated canvas===
 
=== OpenGL (GPU) accelerated canvas ===
An OpenGL-accelerated display mode was added to the canvas to speed up panning, zooming and rotating.
An OpenGL-accelerated display mode was added to the canvas to speed up panning, zooming and rotating.


Line 134: Line 144:
For these reasons, it is not expected to be useful until we migrate to GTK4, where we hope that at least some of these bugs have been fixed.
For these reasons, it is not expected to be useful until we migrate to GTK4, where we hope that at least some of these bugs have been fixed.


===Smooth auto-scrolling===
 
=== Smooth auto-scrolling ===
Auto-scrolling happens when you drag an object off the edge of the canvas. We improved smoothness of this action.
Auto-scrolling happens when you drag an object off the edge of the canvas. We improved smoothness of this action.


https://gitlab.com/inkscape/inkscape/-/merge_requests/5027
https://gitlab.com/inkscape/inkscape/-/merge_requests/5027


== Tools ==
== Tools ==
Line 146: Line 158:


https://gitlab.com/inkscape/inkscape/-/merge_requests/4982
https://gitlab.com/inkscape/inkscape/-/merge_requests/4982


=== Gradient Tool ===
=== Gradient Tool ===
Line 155: Line 168:


https://gitlab.com/inkscape/inkscape/-/merge_requests/4339
https://gitlab.com/inkscape/inkscape/-/merge_requests/4339


=== Node Tool ===
=== Node Tool ===


[[File:Inkscape xfsvsc2oY9.gif|thumb|editing pattern on canvas]]
[[File:Inkscape xfsvsc2oY9.gif|thumb|editing pattern on canvas]]


==== On-Canvas Pattern Editing ====
==== On-Canvas Pattern Editing ====
Line 165: Line 180:


We also fixed performance problems with patterns, so now you can have smaller patterns in project and zoom in on them without worrying about Inkscape eating up all your RAM.
We also fixed performance problems with patterns, so now you can have smaller patterns in project and zoom in on them without worrying about Inkscape eating up all your RAM.


==== Draw around Selection ====
==== Draw around Selection ====


We added a new (lasso) selection mode for nodes. Hold <kbd>Alt</kbd> and draw with the Node tool around the nodes that you want to select. This saves a lot of time that was needed before, where you needed to add new nodes to the selection by dragging small rectangles while holding <kbd>Shift</kbd>, whenever nodes were not located together in a convenient rectangular area ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4747 MR #4747]).
We added a new (lasso) selection mode for nodes. Hold <kbd>Alt</kbd> and draw with the Node tool around the nodes that you want to select. This saves a lot of time that was needed before, where you needed to add new nodes to the selection by dragging small rectangles while holding <kbd>Shift</kbd>, whenever nodes were not located together in a convenient rectangular area ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4747 MR #4747]).


==== Better shape preservation when deleting nodes ====
==== Better shape preservation when deleting nodes ====
Line 184: Line 201:


https://gitlab.com/inkscape/inkscape/-/merge_requests/5082
https://gitlab.com/inkscape/inkscape/-/merge_requests/5082


==== Edit Blur on Canvas ====
==== Edit Blur on Canvas ====
Line 192: Line 210:


https://gitlab.com/inkscape/inkscape/-/merge_requests/4867
https://gitlab.com/inkscape/inkscape/-/merge_requests/4867


=== Page Tool ===
=== Page Tool ===
The Page tool now has controls for margins (guides):
The Page tool now has controls for margins and bleed:


* An attribute on the page element to record the margin
* An attribute on the page element to record the margin
Line 204: Line 223:


https://gitlab.com/inkscape/inkscape/-/merge_requests/4523
https://gitlab.com/inkscape/inkscape/-/merge_requests/4523


=== Selector Tool ===
=== Selector Tool ===
New commands:
New commands:


Line 213: Line 234:
*'''Clone while dragging:''' drag object + C - Drag and object and press C to clone it in the current position. https://gitlab.com/inkscape/inkscape/-/merge_requests/4752
*'''Clone while dragging:''' drag object + C - Drag and object and press C to clone it in the current position. https://gitlab.com/inkscape/inkscape/-/merge_requests/4752


=== New Shape Builder Tool ===
=== Shape Builder Tool ===
 
New tool for fast shape building and Boolean operations. Shortcut: <code>'''X'''</code>.
New tool for fast shape building and Boolean operations. Shortcut: <code>'''X'''</code>.


Line 221: Line 243:


https://gitlab.com/inkscape/inkscape/-/merge_requests/4709
https://gitlab.com/inkscape/inkscape/-/merge_requests/4709
== Path Operations ==
== Path Operations ==


Line 226: Line 250:


<code>Path → Fracture</code> - every overlapping path will be split into separate object.
<code>Path → Fracture</code> - every overlapping path will be split into separate object.


=== Flatten Paths ===  
=== Flatten Paths ===  


<code>Path → Flatten</code> - overlapping objects will be flattened visually (it will delete paths that are hidden behind a top path). Useful for separating colors for Screen printing and offset printing as well as for doing any kind of plotting.
<code>Path → Flatten</code> - overlapping objects will be flattened visually (it will delete paths that are hidden behind a top path). Useful for separating colors for Screen printing and offset printing as well as for doing any kind of plotting.


== Masking / Clipping==
== Masking / Clipping==


*A new option to '''preserve clips / masks when ungrouping''' objects has been added (<code>Edit → Preferences → Behavior → Clippaths and masks: When ungroup, clip/mask is preserved in children</code>). The option is active by default. This means that when you now ungroup a group that has been clipped, the elements inside it will inherit the clip. Previously, the clip was removed and everything became un-clipped. To go back to previous default behavior, deactivate this new option. ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3564 MR #3564])
*A new option to '''preserve clips / masks when ungrouping''' objects has been added (<code>Edit → Preferences → Behavior → Clippaths and masks: When ungroup, clip/mask is preserved in children</code>). The option is active by default. This means that when you now ungroup a group that has been clipped, the elements inside it will inherit the clip. Previously, the clip was removed and everything became un-clipped. To go back to previous default behavior, deactivate this new option. ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3564 MR #3564])
== Dialogs ==
== Dialogs ==
=== New Document Resources Dialog ===
=== Document Resources Dialog ===
 
[[File:Document resources dialog.gif|thumb|The Document Resources dialog]]
 
Added a new dialog that shows you an overview of what assets are currently inside your document. You can edit names and export some of the resources from this dialog.
Added a new dialog that shows you an overview of what assets are currently inside your document. You can edit names and export some of the resources from this dialog.


Line 253: Line 284:


https://gitlab.com/inkscape/inkscape/-/merge_requests/5003
https://gitlab.com/inkscape/inkscape/-/merge_requests/5003


=== Export Dialog ===
=== Export Dialog ===
Line 260: Line 290:


https://gitlab.com/inkscape/inkscape/-/merge_requests/5002
https://gitlab.com/inkscape/inkscape/-/merge_requests/5002


=== Fill and Stroke Dialog ===
=== Fill and Stroke Dialog ===
[[File:Pattern editor1.gif|alt=Pattern editor|right|Pattern editor]]
[[File:Pattern editor1.gif|alt=Pattern editor|right|Pattern editor]]


==== New pattern editor ====
 
==== Pattern Editor ====


Added in to UI. You can preview patterns, change Name, Size, Rotation, Offset, Gaps and Colors for some specific patterns. We also added collections of patterns in  <code>~paint/</code>  so it's easier to be organized. Since this allows having many more patterns preinstalled, we also added a search function and a few new default patterns.
Added in to UI. You can preview patterns, change Name, Size, Rotation, Offset, Gaps and Colors for some specific patterns. We also added collections of patterns in  <code>~paint/</code>  so it's easier to be organized. Since this allows having many more patterns preinstalled, we also added a search function and a few new default patterns.
Line 271: Line 303:


[[File:Inkscape 9yhQG7s68v.gif]]
[[File:Inkscape 9yhQG7s68v.gif]]


=== Filter Editor ===
=== Filter Editor ===
Line 307: Line 340:
* Shift up down to move in Z order
* Shift up down to move in Z order
[[File:VirtualBoxVM I675gipqe1.gif|thumb|1017x1017px|Place holder  demo of new LPE dialog]]
[[File:VirtualBoxVM I675gipqe1.gif|thumb|1017x1017px|Place holder  demo of new LPE dialog]]


=== Live Path Effects (LPE) ===
=== Live Path Effects (LPE) ===


==== New redesigned LPE dialog ====
==== LPE Dialog ====
The compact new design merges organization and controls into one unit. You can reorder LPE by dragging and dropping the whole effect. It adds a fast search box, and a fast dropdown for adding effects.
The compact new design merges organization and controls into one unit. You can reorder LPE by dragging and dropping the whole effect. It adds a fast search box, and a fast dropdown for adding effects.


Line 332: Line 366:
Since we needed a more compact way to show all LPEs, we decided on a list that is organized into 6 categories:
Since we needed a more compact way to show all LPEs, we decided on a list that is organized into 6 categories:
Tools, Distort, Generate, Convert, Experimental + Favorite
Tools, Distort, Generate, Convert, Experimental + Favorite


==== Changes ====
==== Changes ====
Line 346: Line 381:


https://gitlab.com/inkscape/inkscape/-/merge_requests/4677
https://gitlab.com/inkscape/inkscape/-/merge_requests/4677


=== Swatches Dialog ===
=== Swatches Dialog ===
Line 352: Line 388:


Enable it by clicking on the Hamburger menu, choosing 'Configure' and selecting the option 'Show color labels' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4957 MR #4957]).[[File:Ezgif.com-optimizeasda.gif|right]]
Enable it by clicking on the Hamburger menu, choosing 'Configure' and selecting the option 'Show color labels' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4957 MR #4957]).[[File:Ezgif.com-optimizeasda.gif|right]]


=== Symbols Dialog ===
=== Symbols Dialog ===
Line 367: Line 404:
* Symbol rendering is done on-demand, to limit memory use and time needed to switch sets.
* Symbol rendering is done on-demand, to limit memory use and time needed to switch sets.
* Stats: total number of symbols / how many are visible.
* Stats: total number of symbols / how many are visible.


==== New features ====
==== New features ====
Line 382: Line 420:
https://gitlab.com/inkscape/inkscape/-/merge_requests/4793
https://gitlab.com/inkscape/inkscape/-/merge_requests/4793
https://gitlab.com/inkscape/inkscape/-/merge_requests/4784
https://gitlab.com/inkscape/inkscape/-/merge_requests/4784


=== Text and Font Dialog ===
=== Text and Font Dialog ===


==== Font Collections ====
==== Font Collections ====
[[File:Font collections opt.gif|thumb|Font collections]]


[todo: document features and how to use them ]
[todo: document features and how to use them ]
https://gitlab.com/inkscape/inkscape/-/merge_requests/4694
https://gitlab.com/inkscape/inkscape/-/merge_requests/4694


=== Trace Bitmap Dialog ===
=== Trace Bitmap Dialog ===
Line 394: Line 436:
Got significant performance boost and a progress bar. Now it runs in the background, allowing you to cancel it if it's taking too long.  
Got significant performance boost and a progress bar. Now it runs in the background, allowing you to cancel it if it's taking too long.  
https://gitlab.com/inkscape/inkscape/-/merge_requests/4702
https://gitlab.com/inkscape/inkscape/-/merge_requests/4702


=== Welcome Dialog ===
=== Welcome Dialog ===
Line 399: Line 442:


https://gitlab.com/inkscape/inkscape/-/merge_requests/5058
https://gitlab.com/inkscape/inkscape/-/merge_requests/5058


=== XML Editor ===
=== XML Editor ===


[[File:Syntax highlighting.png|thumb|392x392px]]
[[File:Syntax highlighting.png|thumb|Syntax highlighting in XML Editor]]
We did small cosmetic changes to UI of this dialog:  
We did small cosmetic changes to UI of this dialog:  


Line 408: Line 452:
* removed text tool tips.
* removed text tool tips.
* Added responsive layout and moved layout controls to the top in a dropdown (auto layout is the default option).
* Added responsive layout and moved layout controls to the top in a dropdown (auto layout is the default option).
* syntaxt color coding
 


==== Syntax Highlighting ====
==== Syntax Highlighting ====
For improving readability we added syntax highlighting and auto line-breaking. This works for CSS style tag, inline styling, d <path data>. You can change change highlighting themes in <code>Preferences > Interface > Theming</code>
 
For improving readability we added syntax highlighting and auto line-breaking. This works for CSS style tag, inline styling, d <path data>. You can change highlighting themes in <code>Preferences > Interface > Theming</code>
 


==== Rounding path data ====
==== Rounding path data ====
Line 419: Line 465:


https://gitlab.com/inkscape/inkscape/-/merge_requests/4885
https://gitlab.com/inkscape/inkscape/-/merge_requests/4885
==Filters==


==Live path effects==
 
== Filters ==
 
 
== Live path effects ==
Performance of most of the effects was improved. LPE Dialog was completely redesign see  [[New redesigned LPE dialog]]  for more details
Performance of most of the effects was improved. LPE Dialog was completely redesign see  [[New redesigned LPE dialog]]  for more details


===Roughen===
 
=== Roughen ===
UI clean-up and reordering of the controls.
UI clean-up and reordering of the controls.


https://gitlab.com/inkscape/inkscape/-/merge_requests/4872
https://gitlab.com/inkscape/inkscape/-/merge_requests/4872


=== Taper Stroke===
 
=== Taper Stroke ===
Added support for sub-paths.
Added support for sub-paths.


https://gitlab.com/inkscape/inkscape/-/merge_requests/4906
https://gitlab.com/inkscape/inkscape/-/merge_requests/4906


=== Power Stroke===
 
=== Power Stroke ===
Added support for sub-paths.
Added support for sub-paths.


https://gitlab.com/inkscape/inkscape/-/merge_requests/4880
https://gitlab.com/inkscape/inkscape/-/merge_requests/4880


==Import / Export ==
 
== Import / Export ==


=== Refactoring of PDF and AI import ===
=== Refactoring of PDF and AI import ===
Line 456: Line 509:
https://gitlab.com/inkscape/inkscape/-/merge_requests/4757
https://gitlab.com/inkscape/inkscape/-/merge_requests/4757


==Templates==
 
== Templates ==


All template dialogs (Welcome screen, New from Template, Page tool default sizes) now use the same template sizes ([https://gitlab.com/inkscape/extensions/-/merge_requests/479] MR #479)
All template dialogs (Welcome screen, New from Template, Page tool default sizes) now use the same template sizes ([https://gitlab.com/inkscape/extensions/-/merge_requests/479] MR #479)


==Customization / Theming==
 
== Customization / Theming ==
Added user.css to UI folder to allow tweaking UI without interfering with or fully overriding other css files. https://gitlab.com/inkscape/inkscape/-/merge_requests/5004
Added user.css to UI folder to allow tweaking UI without interfering with or fully overriding other css files. https://gitlab.com/inkscape/inkscape/-/merge_requests/5004


Fixed hidden icons on menus: https://gitlab.com/inkscape/inkscape/-/merge_requests/4686
Fixed hidden icons on menus: https://gitlab.com/inkscape/inkscape/-/merge_requests/4686


==Other==
 
== Other ==
Added support for <code>href</code> and <code>xlink:href</code> in SVG header. This makes Inkscape more compatible with SVG 2.
Added support for <code>href</code> and <code>xlink:href</code> in SVG header. This makes Inkscape more compatible with SVG 2.


https://gitlab.com/inkscape/inkscape/-/merge_requests/4596
https://gitlab.com/inkscape/inkscape/-/merge_requests/4596


==MacOS-specific Changes==


== Windows-specific Changes==
== MacOS-specific Changes ==
 
 
== Windows-specific Changes ==
 


== Extensions==
== Extensions ==


===Features===
=== Features ===
Speed up processing especially on complex documents: https://gitlab.com/inkscape/inkscape/-/merge_requests/4996
Speed up processing especially on complex documents: https://gitlab.com/inkscape/inkscape/-/merge_requests/4996


====General Extension Changes====


====New Extensions====
==== General Extension Changes ====
 
 
==== New Extensions ====
 


==== Particular extensions====
==== Particular extensions ====


===Bugs fixed===


====All extensions====
=== Bugs fixed ===
==== All extensions ====


====Particular extensions====


===Extension Development ===
==== Particular extensions ====


====API Changes for Third-Party Extension Developers ====


====Extension Development Documentation====
=== Extension Development ===
 
 
==== API Changes for Third-Party Extension Developers ====
 
 
==== Extension Development Documentation ====
 


==== Under the hood ====
==== Under the hood ====


==Command line==
 
== Command line ==
 
Added a new parameter --actions-file. You specify a list like in --actions but in a file to allow bypassing Windows comandline length limit, and also to allow reuse of action lists.
Added a new parameter --actions-file. You specify a list like in --actions but in a file to allow bypassing Windows comandline length limit, and also to allow reuse of action lists.


Added a new parameter --active-window / -q that runs all commands on the active window of an already-running instance of Inkscape.
Added a new parameter --active-window / -q that runs all commands on the active window of an already-running instance of Inkscape.


==Behind the curtains==


==Notable bugfixes==
== Behind the curtains ==
===Crash fixes===
 
 
== Notable bugfixes ==
=== Crash fixes ===


Fixed a crash that occurred…
Fixed a crash that occurred…
Line 513: Line 586:
* When…
* When…


===Other bug fixes===
 
=== Other bug fixes ===


* LPE related undo bugs: https://gitlab.com/inkscape/inkscape/-/merge_requests/4520
* LPE related undo bugs: https://gitlab.com/inkscape/inkscape/-/merge_requests/4520
*Fixed bspline LPE with cusp nodes when initially using with node tool. https://gitlab.com/inkscape/inkscape/-/merge_requests/5016
* Fixed bspline LPE with cusp nodes when initially using with node tool. https://gitlab.com/inkscape/inkscape/-/merge_requests/5016
*<use>s retain their LPE correctly when unlinked or converted to paths. The old convert to paths behaviour is still available in the Preferences. https://gitlab.com/inkscape/inkscape/-/merge_requests/5016
* <use>s retain their LPE correctly when unlinked or converted to paths. The old convert to paths behaviour is still available in the Preferences. https://gitlab.com/inkscape/inkscape/-/merge_requests/5016


===Even more bug fixes===
=== Even more bug fixes ===


There were even more issues fixed than those listed above, but these probably only affect a small proportion of users, or are relevant for development and packaging only.
There were even more issues fixed than those listed above, but these probably only affect a small proportion of users, or are relevant for development and packaging only.
Line 525: Line 599:
For a complete list, visit [https://gitlab.com/inkscape/inkscape/-/issues?milestone_title=Inkscape+1.3 our GitLab issue tracker] and see the [https://gitlab.com/inkscape/inkscape/-/commits/1.3.x commit history].
For a complete list, visit [https://gitlab.com/inkscape/inkscape/-/issues?milestone_title=Inkscape+1.3 our GitLab issue tracker] and see the [https://gitlab.com/inkscape/inkscape/-/commits/1.3.x commit history].


==Translations==
 
== Translations ==


The following UI translations received updates:
The following UI translations received updates:
Line 539: Line 614:
*…
*…


===Contributing to interface translations===
 
=== Contributing to interface translations ===


Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]
Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]


==Documentation==


===Contributing to documentation and documentation translation===
== Documentation ==
 
=== Contributing to documentation and documentation translation ===
Contributions to the documentation translations, as well as improvements to its contents, are welcome at [https://gitlab.com/inkscape/inkscape-docs/documentation the inkscape-docs repository].
Contributions to the documentation translations, as well as improvements to its contents, are welcome at [https://gitlab.com/inkscape/inkscape-docs/documentation the inkscape-docs repository].


==Website==


==Important changes for packagers==
== Website ==
 
 
== Important changes for packagers ==
 
 
== Known issues ==


==Known issues==


==Other releases==
== Other releases ==


{{:Release notes}}
{{:Release notes}}

Revision as of 22:53, 27 March 2023


Warning symbol.png These Release Notes are in Draft Status.

Note: Not all animations work, due to Wiki bugs with resizing images. Release notes will be transferred to website, there animations will be working.

Important Links:



Warning symbol.png Pending questions:


Release highlights

Definitely not released yet.

The highlights of this major Inkscape version are:


Performance

A lot of effort has gone into improving the performance and speed of all aspects in Inkscape. This involved the refactoring of inefficient code, rewriting how Inkscape works with patterns, moving bitmap tracing into a separate thread and so much more!

Canvas rendering is now both multithreaded and done outside of Inkscape's main process thread. This should significantly improve performance while zooming/panning/transforming objects if your computer's processor has more than one core (which it most likely does).

In some cases, this results in a 2- to 4-fold speedup.

You can set the number of processor cores Inkscape should use for rendering in Edit > Preferences > Rendering > Number of Threads. By default, Inkscape tries to be as fast as possible by using as many cores as possible (Multithreading MRs, MR #4760).

General user interface

Color Palette

Indicators for used colors
  • Color palette fields now have little indicators that show which color is used for the stroke and fill of a selected object.
  • Color pinning (MR #4957):
    • You can select colors from the palette that you are using and 'pin' them to the start of the palette, for faster access. By default, these 4 colors are 'Unset', black, grey and white, but you can choose any other color, too. These fields can be made larger, so they can be easily clicked on.
    • To add a color to the pinned colors array, right-click on its palette field and select 'Pin color'. The color will then be moved away from its original location in the palette to the palette start.
    • To 'unpin' a color, right-click on the pinned color's field and select 'Unpin color'.
    • To choose the pinned colors' size, click on the palette bar's hamburger menu icon and select to 'Configure' it, and check / uncheck the option 'Enlarge pinned colors'.
    • Note: Pinned colors only show up if the current palette contains them. So when you switch the palette, some colors may be dropped, and when you switch back to a palette that contains them, they will show again.

Inkscape BHd0t2kzml.gif


Pasting Options Renamed, and Paste on Page

The Paste size entry in the Edit menu has been renamed to Paste…, to hold all 'special' pasting operations that you may need.

A new pasting feature On Page has been added to this renamed menu to paste the copied object(s) into the same position on a different page (MR #4695).

For this to work correctly, you must first select the page to paste on by either:

  • selecting an object on that page before pasting
  • selecting the page with the page tool
  • changing the current page using the buttons in the status bar


Snap toolbar

An option was added in Edit → Preferences → Interface → Toolbars to show snapping options permanently in a dedicated toolbar, similar to Inkscape version 1.1 and earlier.


Keyboard shortcuts

The keyboard shortcuts for aligning objects vertically and horizontally have been moved to the numeric keypad, where the other alignment shortcuts are, too:

  • Vertical alignment was moved from Ctrl+Alt+T to Ctrl+Alt+Numpad 1
  • Horizontal alignment was moved from Ctrl+Alt+H to Ctrl+Alt+Numpad 7
OKLAB.png

If you find yourself unable to reach the new shortcuts (for example, because your laptop does not have a keypad, or because the shortcuts do not work - may be the case on Linux with Xfce), you can set them to something else by changing both the alignment shortcut and the function that now uses that shortcut (if any). Use the search in Edit > Preferences > Interface > Keyboard. It also allows searching for shortcuts, not only for their name (e.g. search for 'ctrl+alt+t' to find the new default action that is executed when that combo is pressed).


Color Pickers

Color pickers in Inkscape now support choosing colors in the OKLch color space, which has just been adopted into the CSS Color Module Level 4 draft recommendation. For those who would like to learn more, OKLch and OKLab are described in detail by its creator in a blog post.

This additional option is disabled by default. It can be enabled in Edit → Preferences → Interface → Color Selector as "OKHSL", and will then be available in any color picker's dropdown. Note that color values will still be written as RGB hex codes in the SVG source, and Inkscape also does not support reading colors that are defined in that color space. This change is purely adding a new convenient option for choosing colors.


Rulers

Inkscape's rulers at the canvas boundaries got two new indicator areas:

  • Page: the part of the ruler that corresponds to the current page's location is now colored in a different tone, so you can always see where your page ends.
  • Selection: a thin blue line indicates and follows the current selection. This line can be turned off in Edit > Preferences > Interface: Show selection in ruler.

Ruler performance has been improved along with these changes.

[needs screenshot of current default]


Commands Palette

It is no longer necessary to scroll horizontally in the Commands palette (shortcut: ?), as entries are now nicely arranged and formatted and make use of linebreaks. Now all the info for an entry is directly visible (MR #4988)

[Needs new screenshot with more up-to-date ruler or entirely without]


Canvas

Pressing F temporarily hides on-canvas overlays (transformation handles, grids, guides...). This allows quick preview of final artwork without any distractions.

https://gitlab.com/inkscape/inkscape/-/merge_requests/4395

Added display overlay controls in top right corners. You need to have scrollbars enabled to see it (CTRL+B).

Ezgif.com-resizeasd.gif


OpenGL (GPU) accelerated canvas

An OpenGL-accelerated display mode was added to the canvas to speed up panning, zooming and rotating.

https://gitlab.com/inkscape/inkscape/-/merge_requests/4133

This is NOT a fully GPU-based renderer; content is still rendered on the CPU in exactly the same way as before, so large performance improvements are not to be expected. It does however result in a smoother display and lower CPU usage, especially on HiDPI screens.

OpenGL mode is highly experimental and is turned off by default. It can be turned on at

Preferences -> Rendering -> Enable OpenGL

Note however the following caveats:

  • Due to packaging problems, when using the Linux AppImage, OpenGL support either does not work (on X11) or crashes (on Wayland).
  • Due to GTK3 bugs, OpenGL mode crashes on Windows, blacks out the screen on MacOS, is slower than software rendering on Linux X11, and is only really usable on Wayland.

For these reasons, it is not expected to be useful until we migrate to GTK4, where we hope that at least some of these bugs have been fixed.


Smooth auto-scrolling

Auto-scrolling happens when you drag an object off the edge of the canvas. We improved smoothness of this action.

https://gitlab.com/inkscape/inkscape/-/merge_requests/5027


Tools

General

You can right click on any tool icon in toolbox to see tool preferences.

https://gitlab.com/inkscape/inkscape/-/merge_requests/4982


Gradient Tool

  • Allow changing the repeat setting when multiple gradients are selected.
  • Show 'Multiple gradients' in the stop list when multiple gradients are selected (instead of a random stop).
  • Allow editing of the offset of the start/end stops.
  • Keep the stop selected after the offset is changed in the toolbar (instead of selecting the first stop of the gradient).

https://gitlab.com/inkscape/inkscape/-/merge_requests/4339


Node Tool

editing pattern on canvas


On-Canvas Pattern Editing

Pattern editing on canvas is now easier; you can click on any part of a pattern and it will show you controls at that position. We also added an outline that shows you the edges of the pattern. The first square controls position, the circle controls rotation, and the second square controls size. Hold shift to constrain proportions.

We also fixed performance problems with patterns, so now you can have smaller patterns in project and zoom in on them without worrying about Inkscape eating up all your RAM.


Draw around Selection

We added a new (lasso) selection mode for nodes. Hold Alt and draw with the Node tool around the nodes that you want to select. This saves a lot of time that was needed before, where you needed to add new nodes to the selection by dragging small rectangles while holding Shift, whenever nodes were not located together in a convenient rectangular area (MR #4747).


Better shape preservation when deleting nodes

New, improved curve fitting algorithm from FontForge used when deleting nodes on a "smooth" path (rather than corners)

Spline-fit-1.gif

Attempt to apply "preserve shape" only if selected nodes define relatively smooth path. Trying to preserve shape when deleting corners is rarely what's desirable:

Spline-fit-2.gif

With "preserve shape" option ON, algorithm may still decide to insert line segments if it detects what it thinks are corners. Holding Ctrl key while deleting inverts this decision:

Curve-fit-inverted.gif

https://gitlab.com/inkscape/inkscape/-/merge_requests/5082


Edit Blur on Canvas

New canvas controls for blurring is showed on canvas, if you add blur in fill and stroke panel or add filter that has Blur. Controls are not linked by default so you can control horizontal and vertical blurring separately. If you hold CTRL you can control both Axiies linked. You can control arbitrary angle of blurring if you rotate your object after you set your blur.

Inkscape fCXLNVIQp7.gif

Ezgif.com-gif-maker (12).gif

https://gitlab.com/inkscape/inkscape/-/merge_requests/4867


Page Tool

The Page tool now has controls for margins and bleed:

  • An attribute on the page element to record the margin
  • A new html/css style box model with tests
  • New UI to set margins in the toolbar
  • New on-canvas controls for moving margins (with ctrl/shift)
  • New display of margins in the same canvas group as the page border
  • Snapping for page margins

https://gitlab.com/inkscape/inkscape/-/merge_requests/4523


Selector Tool

New commands:

  • Reapply transform: Ctrl+Alt+T - This allows a user to perform a transformation multiple times and works from the canvas edits or from transform dialog or the select toolbar. Shortcut needs to change, it opens a terminal on Linux.
  • Duplicate and transform: Ctrl+Alt+D -This performs a duplication and then reapplies the previous transform to the duplicate. Shortcut needs to change, it minimizes the window on Linux.

https://gitlab.com/inkscape/inkscape/-/merge_requests/4506

Shape Builder Tool

New tool for fast shape building and Boolean operations. Shortcut: X.

Use: Select multiple overlapping shapes and select the Shape Builder tool. The selection will be fragmented on overlapping areas, while everything else will be hidden until you leave the shape builder. Now you Click and drag to combine segments together or hold Shift + Click and drag to subtract, and Single click on segments to split. Adding is represented by a blue color, removing by pink.

Shape builder.gif

https://gitlab.com/inkscape/inkscape/-/merge_requests/4709


Path Operations

Fracture Paths

Path → Fracture - every overlapping path will be split into separate object.


Flatten Paths

Path → Flatten - overlapping objects will be flattened visually (it will delete paths that are hidden behind a top path). Useful for separating colors for Screen printing and offset printing as well as for doing any kind of plotting.


Masking / Clipping

  • A new option to preserve clips / masks when ungrouping objects has been added (Edit → Preferences → Behavior → Clippaths and masks: When ungroup, clip/mask is preserved in children). The option is active by default. This means that when you now ungroup a group that has been clipped, the elements inside it will inherit the clip. Previously, the clip was removed and everything became un-clipped. To go back to previous default behavior, deactivate this new option. (MR #3564)


Dialogs

Document Resources Dialog

The Document Resources dialog

Added a new dialog that shows you an overview of what assets are currently inside your document. You can edit names and export some of the resources from this dialog.

It presents the following document assets:

  • fonts
  • styles
  • colors
  • swatches
  • gradients
  • filters
  • patterns
  • symbols
  • markers
  • images
  • external references

https://gitlab.com/inkscape/inkscape/-/merge_requests/5003

Export Dialog

We added new options for how to export multipage in PDF and SVG formats.

https://gitlab.com/inkscape/inkscape/-/merge_requests/5002


Fill and Stroke Dialog

Pattern editor


Pattern Editor

Added in to UI. You can preview patterns, change Name, Size, Rotation, Offset, Gaps and Colors for some specific patterns. We also added collections of patterns in ~paint/ so it's easier to be organized. Since this allows having many more patterns preinstalled, we also added a search function and a few new default patterns.

https://gitlab.com/inkscape/inkscape/-/merge_requests/4938

Inkscape 9yhQG7s68v.gif


Filter Editor

Filter-resize

Redesign of this dialog:

  • Filter selection moved to a popover
  • Effects are listed in a popup menu and can be selected by searching (by name)
  • Adjusted connector sizes to make them more compact
  • Fixed an issue where all parameters would initially be visible in a docked filter dialog
  • Fixed min size of parameters panel to make it fit in a narrow docked dialog
  • Reactive layout to accommodate wide dialog
  • Added primitive filter attributes to fe-image and fe-tile (#1417)
  • Replaced GTK color picker with Inkscape color picker


Layers and Objects Dialog

UX improvements:

  • You can click and drag to change visibility of multiple objects
  • Selecting on group does not auto expand
  • Selecting multiple objects and and changing visibility/locking applies to all selected
  • We added a search feature; it's a limited implementation - it does not auto-apply search and you need to search for more than 3 characters.
  • We added a hover indicator for rows and layer colors
  • Added controls for opacity and blending mode

We added shortcuts for layers navigation and actions:

  • Arrows to navigate
  • Space bar confirms (select, apply, open)
  • Shift -> <- open close group
  • Shift up down to move in Z order
Place holder demo of new LPE dialog


Live Path Effects (LPE)

LPE Dialog

The compact new design merges organization and controls into one unit. You can reorder LPE by dragging and dropping the whole effect. It adds a fast search box, and a fast dropdown for adding effects.

Each LPE has 5 controls:

  • Show/hide controls
  • Visibility of effect
  • Delete effect
  • Context menu
    • Re-order
    • Duplicate
    • Set as default
    • Flatten
LPE organization.png

[TODO: gif file needs to be edited!]

Reorganization of LPEs

Since we needed a more compact way to show all LPEs, we decided on a list that is organized into 6 categories: Tools, Distort, Generate, Convert, Experimental + Favorite


Changes

  • Setting presets for LPE was moved into contextual menu
  • Setting Favorite LPE was moved into contextual menu
  • Added new feature: flatten - This will apply effect to geometry. It will apply all effects in the stack.
  • We removed LPE gallery (you can still enable it in preferences if you wish: Preferences > Behavior > LPE)
  • To see experimental LPEs you need to enable it in Preferences: Preferences > Behavior > LPE
  • Added an indicator showing which object is selected
  • Added conversion commands when you select text objects - since text does not support LPEs yet we added a workaround that converts text to paths or clones the text.
  • If you select an object that is associated with an LPE (Clone, Boolean operations, Bend, Fill between many, etc...) you will see a button in the dialog that will take you to the linked geometry/controls.
  • Labels inside effects are aligned nicely

https://gitlab.com/inkscape/inkscape/-/merge_requests/4677


Swatches Dialog

In the Swatches dialog, the option to display colors together with their names (from the .gpl palette file), in a vertical list, is back again.

Enable it by clicking on the Hamburger menu, choosing 'Configure' and selecting the option 'Show color labels' (MR #4957).

Ezgif.com-optimizeasda.gif


Symbols Dialog

This dialog got a new redesign:

  • Migrated dialog settings to a popover.
  • Saving dialog UI state in preferences (current symbol set and settings are remembered).
  • Larger range for scaling (tile size) and symbol zooming.
  • Fixed symbol selection color for dark themes.
  • Added option to show symbols names.
  • Rendering symbols at screen resolution - sharp (high-dpi aware).
  • List of symbol sets is searchable and can be filtered.
  • Symbol search is live (no need to press enter).
  • Symbol rendering is done on-demand, to limit memory use and time needed to switch sets.
  • Stats: total number of symbols / how many are visible.


New features

  • You can drag and drop symbols on canvas and they are going to be placed exactly where you dropped them.
  • A new icon - the "peace" symbol.
  • Improved performance.
  • Add visio modern formats vssx and vsdx. Symbols are loaded once, not in each window.
  • We added new stock symbols SJJB map icons.

https://gitlab.com/inkscape/inkscape/-/merge_requests/4975 https://gitlab.com/inkscape/inkscape/-/merge_requests/4994 https://gitlab.com/inkscape/inkscape/-/merge_requests/4666 https://gitlab.com/inkscape/inkscape/-/merge_requests/4883 https://gitlab.com/inkscape/inkscape/-/merge_requests/4793 https://gitlab.com/inkscape/inkscape/-/merge_requests/4784


Text and Font Dialog

Font Collections

Font collections

[todo: document features and how to use them ] https://gitlab.com/inkscape/inkscape/-/merge_requests/4694


Trace Bitmap Dialog

Got significant performance boost and a progress bar. Now it runs in the background, allowing you to cancel it if it's taking too long. https://gitlab.com/inkscape/inkscape/-/merge_requests/4702


Welcome Dialog

Files are sorted by their last modified date. We Added recovery for files in this list after crash. You can see then by text Emergency save next to file.

https://gitlab.com/inkscape/inkscape/-/merge_requests/5058


XML Editor

Syntax highlighting in XML Editor

We did small cosmetic changes to UI of this dialog:

  • smaller icons (16x16px),
  • removed text tool tips.
  • Added responsive layout and moved layout controls to the top in a dropdown (auto layout is the default option).


Syntax Highlighting

For improving readability we added syntax highlighting and auto line-breaking. This works for CSS style tag, inline styling, d <path data>. You can change highlighting themes in Preferences > Interface > Theming


Rounding path data

We added a feature to round path data. You can also set how many decimal points you want to round to. This gives you granular control over optimizing size of svgs

Inkscape GAlKvNTcCm.gif

https://gitlab.com/inkscape/inkscape/-/merge_requests/4885


Filters

Live path effects

Performance of most of the effects was improved. LPE Dialog was completely redesign see New redesigned LPE dialog for more details


Roughen

UI clean-up and reordering of the controls.

https://gitlab.com/inkscape/inkscape/-/merge_requests/4872


Taper Stroke

Added support for sub-paths.

https://gitlab.com/inkscape/inkscape/-/merge_requests/4906


Power Stroke

Added support for sub-paths.

https://gitlab.com/inkscape/inkscape/-/merge_requests/4880


Import / Export

Refactoring of PDF and AI import

The PDF importer was using the svg group as a way of tracking the GfxState matrix, but this actually causes a lot of problems. Using the Sfx CTM matrix state directly provides dependable positions and transformations for creating objects.

  • New import PDF dialog GUI using glade
  • Added PDF layer support
  • Merging of similar path stroke/fill objects
  • Removal of state groups
  • Rendering text methods, to glyphs and to text
  • Embedded font handling for rendering methods
  • Much better font-name detection
  • ICC Color Profile support
  • Margins, bleeds and page sizes retained.

https://gitlab.com/inkscape/inkscape/-/merge_requests/4757


Templates

All template dialogs (Welcome screen, New from Template, Page tool default sizes) now use the same template sizes ([1] MR #479)


Customization / Theming

Added user.css to UI folder to allow tweaking UI without interfering with or fully overriding other css files. https://gitlab.com/inkscape/inkscape/-/merge_requests/5004

Fixed hidden icons on menus: https://gitlab.com/inkscape/inkscape/-/merge_requests/4686


Other

Added support for href and xlink:href in SVG header. This makes Inkscape more compatible with SVG 2.

https://gitlab.com/inkscape/inkscape/-/merge_requests/4596


MacOS-specific Changes

Windows-specific Changes

Extensions

Features

Speed up processing especially on complex documents: https://gitlab.com/inkscape/inkscape/-/merge_requests/4996


General Extension Changes

New Extensions

Particular extensions

Bugs fixed

All extensions

Particular extensions

Extension Development

API Changes for Third-Party Extension Developers

Extension Development Documentation

Under the hood

Command line

Added a new parameter --actions-file. You specify a list like in --actions but in a file to allow bypassing Windows comandline length limit, and also to allow reuse of action lists.

Added a new parameter --active-window / -q that runs all commands on the active window of an already-running instance of Inkscape.


Behind the curtains

Notable bugfixes

Crash fixes

Fixed a crash that occurred…

  • When…


Other bug fixes

Even more bug fixes

There were even more issues fixed than those listed above, but these probably only affect a small proportion of users, or are relevant for development and packaging only.

For a complete list, visit our GitLab issue tracker and see the commit history.


Translations

The following UI translations received updates:

The Windows installer translation was updated for:

The following documentation translations received updates:


Contributing to interface translations

Want to help with translations? Learn how to help!


Documentation

Contributing to documentation and documentation translation

Contributions to the documentation translations, as well as improvements to its contents, are welcome at the inkscape-docs repository.


Website

Important changes for packagers

Known issues

Other releases