Difference between revisions of "Release notes/1.2"

From Inkscape Wiki
Jump to navigation Jump to search
Line 163: Line 163:
== Path Operations ==
== Path Operations ==

'''Split path''', split non-intersecting path functionality. <code>'''Path → Split path'''</code>
* New '''Split path''' operation, available from <code>'''Path → Split path'''</code>:<br/>The function separates a path object that consists of multiple subpaths into a set of path objects that 'belong together'. This means that parts of a path that have holes in them are kept as whole objects. The function works by splitting up a path into non-intersecting bits, keeping intersecting bits together.
Useful for splitting Letter or other objects made from multiple paths(usually holes) in to single object ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3738 MR #3738])
Example: A path that consists of a word, like 'Inkscape' will be split into 8 parts, one for each letter. With the familiar 'Break apart' function, there would be 12 parts, because of the holes in the letters that would be split off as their own objects, too  ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3738 MR #3738]).[TODO: add animation]
* On-Canvas Boolean operations [TODO: fill in if merged, seems to have low probability, lots of work to be done] https://gitlab.com/inkscape/inkscape/-/merge_requests/3357 Osama Ahmad with mentors Thomas Holder, Marc Jeanmougin, Martin Owens
On-Canvas Boolean operations [TODO: fill in if merged, seems to have low probability, lots of work to be done]
Osama Ahmad with mentors Thomas Holder, Marc Jeanmougin, Martin Owens  

== Dialogs ==
== Dialogs ==

Revision as of 17:33, 24 January 2022

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

Important Links:

Warning symbol.png Pending questions:

Release highlights

Definitely not released yet.

General user interface

Color palette

The overall look and options of the color palette and the Swatches dialog got a massive overhaul (MR #2881):

  • Color palettes now have a preview
  • Improved settings for size and padding
  • New setting for number of rows
  • Scroll vertically through palette rows, or use the arrow buttons
Color palette layout options

Status Bar

  • The layer selection dropdown has been replaced by a layer indicator. Clicking on the indicator opens the new Layers and object dialog. This change improves Inkscape's performance for documents with many layers (MR #3629).


[TODO: collect information, also add info to packager section]




Snap bar is now Snap popover

New snap settings layout

The snap bar has been replaced with a new 'popover'-type dialog, which will unfold when you click on the little arrow symbol in the top right corner, next to the snap symbol. Snap options now have always-visible descriptions, to make them easier to understand (MR #3323).

To activate / deactivate snapping globally, click on the snap symbol in the top right corner or press %.

The popover dialog has two different modes:

  • Simple: Only 3 options: snap bounding boxes and paths, activate / deactivate the new alignment snapping). This provides a simple preset for many use cases.
  • Advanced: Gives the familiar granular control over every snapping option. Switching from 'Advanced' back to 'Simple' is not merely a visual change, but will reset snap settings to defaults.

Snapping preferences globalized

Snap settings are no longer saved with the document, but are set globally for all documents in the preferences and in the snap popover dialog. The option for enabling snapping in new documents has been removed, as it no longer makes sense.

The options for snapping perpependicularly and tangentially to paths or guide lines have been moved from the document preferences to the snap popover to make them more discoverable. The other snap options from the document settings dialog were removed. [TODO: check whether this is still true at the time of release]

Alignment and Distribution snapping

New alignment snapping options

During Google Summer of Code 2021, GSOC student Parth Pant worked on adding on-canvas alignment and distribtion snapping, with support of the mentors Thomas Holder and Marc Jeanmougin. As a result, three new modes of on-canvas snapping have been added. These new modes make aligning and distributing objects a very easy drag-and-drop operation (MR #3294)..

When on-canvas alignment is active, Inkscape will display horizontal or vertical temporary guide lines that indicate when the selected object can be aligned relative to another object on the canvas. It connects the points of the objects that are in alignment. With distribution snapping, multiple objects close by are taken into account, making it possible to align objects in a grid, with very little effort.

The temporary guide lines only appear while editing / moving objects on the canvas. Once a guide shows up, the movement of the selection is loosely constrained in the direction of the guide.

Alignment and Distribution snapping guide lines display the distance(s) between objects as a little label per default. This can be disabled from Edit → Preferences → Snapping: Show snap distance in case of alignment or distribution snap.

The 'Simple' mode of the snapping popover dialog allows you to simply activate or deactivate Alignment snapping. The 'Advanced' mode gives you additional control by allowing you to en-/disable:

  • Self snapping: Toggle alignment snapping for nodes in the same path while editing nodes or node handles
  • Distribution snapping: Toggle distribution snapping
Distribution and alignment snapping

[TODO: re-record (animation is broken), maybe with a wide, but not tall view, for shorter scrolling distance]


Page tool

The new Page tool (lowest button in the tool bar) allows you to create multi-page Inkscape documents, and to import as well as export multi-page PDF documents. (MR #3486, MR #3785, MR #3821). It supports overlapping pages and pages of different sizes in a single document.

Tool usage:

  • To create a new page either:
    • click-and-drag on the canvas
    • or click on the 'Create a new page' button in the tool controls
  • To delete a page, click on the page to select it, then click on the button Delete selected page or use the Del or Backspace keys.
  • To move a page on the canvas, click-and-drag it to the desired new position. If the option to Move overlapping objects is active, this will also move any objects that touch the page along with it.
  • To change a page's size:
    • click on a page whose size you want to change to select it, then drag the square-shaped handle in its bottom right corner
    • click on the page, and then choose one of the predefined sizes in the page size dropdown, or enter your size values for the 'Custom' option, by typing them into the field in the form of 10cm x 15cm
  • To fit a page to:
    • the size of the drawing: make sure to have no object selected before you switch to the Page tool. Then select a page by clicking on it, then click on the button 'Fit page to drawing or selection' in the tool controls
    • a selected object: first select the object(s) with the selection tool, then switch to the Page tool, click on a page to select it, then press the the button 'Fit page to drawing or selection' in the tool controls
  • To add a label to your page, select the page by clicking on it, then enter a name or label for it into the text field in the page tool's tool controls. Labels are always visible, no matter which tool is currently selected.
  • To export a multi-page PDF file, use File → Save a copy … → PDF. This will automatically include all pages.
  • To open or import a multi-page PDF or (pdf-based) AI file, use File → Open/Import → select file name → choose to import 'All' pages [Known issue: 'import' moves content of some pages to some far out place in the drawing]

Note: Multi-page SVG files are an Inkscape-specific concept. Web browsers will only display the first page of your document.

Selector Tool

The tool now allows to set the origin of the selection for precise numerical positioning:

  1. Click on one of the 9 object handles to select your desired origin for the scaling, or select and then drag the middle handle to the desired position
  2. A small red circle now indicates the new origin and the x/y position in the tool controls will adjust to the new origin.
  3. Now edit the x, y, width or height values to move and scale your object using the new origin (MR #2700)

Text Tool

  • Kerning options are now symbolized by a button between the subscript and text direction selectors. Clicking on it will open a so-called pop-over, where all previously available options can be found. This change saves space in the Text tool's toolbar.
  • Negative kerning values can now be as little as -1000 (previously -100), making them symmetrical to their positive counterparts (MR #2569, MR #3434)
  • Padding: Text that is flowed into a shape and standard flowed text now have an additional square-shaped handle in the top right corner. Move the handle to adjust the text padding inside the frame (MR #2769) [Currently broken]
  • Exclusion zones: Text can now flow around one or more movable objects:
    1. Select all object(s) (use only shapes and paths on the same object hierarchy level as the text; no groups / clones / images supported) and the text.
    2. Set the exclusion zone by going to Text → Set subtraction frames.
    3. Now you can move the exclusion objects around or edit their shape, and the text will adjust automatically.
    4. If you want to change the exclusion zones again at a later point, repeat the process with all objects that the text should flow around.

Background info: SVG 2.0 flowed text allows for shape-padding and shape-subtract attributes. shape-padding lets the text flow into a shape and leave some space between its edges and w where the text will start to flow. shape-subtract subtracts shapes with margin, so text can flow around other objects in the scene. These attributes were supported in Inkscape 1.0, but not exposed to the user. This version of Inkscape includes both an adjustable on-canvas knot for changing the padding as well as a Text menu item for setting text subtraction properties with a further knot to adjust it's margins.

[See merge request for animated gifs to add here]

Path Operations

  • New Split path operation, available from Path → Split path:
    The function separates a path object that consists of multiple subpaths into a set of path objects that 'belong together'. This means that parts of a path that have holes in them are kept as whole objects. The function works by splitting up a path into non-intersecting bits, keeping intersecting bits together.

Example: A path that consists of a word, like 'Inkscape' will be split into 8 parts, one for each letter. With the familiar 'Break apart' function, there would be 12 parts, because of the holes in the letters that would be split off as their own objects, too (MR #3738).[TODO: add animation]



  • A mini-menu (downward pointing arrow symbol) was added into the title bar of every multi-dialog panel (also called 'notebook'). You can use it to close the current tab, to undock it, or to close the whole panel. It also shows a list of available dialogs, sorted by purpose, allowing you to open them with a click ((MR #3728)
  • Open dialogs are now less costly for performance, because they do not update when it's not needed (MR #3369), or when they are hidden (MR #3761)
  • Docking zones now expand and flash slowly when a dialog is dragged close to them. This makes it easier to see where docking is possible (MR #3729)
  • The text labels of docked dialogs are now more responsive to the width of dialog (MR #3627)

Align and distribute

  • The formerly separate Arrange dialog is now integrated with the Align and Distribute dialog. With its three tabs, more user-friendly names and some small visual tweaks, the dialog now holds everything that is needed for aligning, distributing and arranging objects in your drawing (MR #3382, MR #3667).
  • The icons inside this dialog are now smaller.

Align and distribute dialog with 3 tabs.gif

Document Properties

We revamped the document properties dialog from old cluttered, not so user friendly to completely redesigned dialog that users will enjoy

  • Document Properties dialog enormously sped up on macOS if grids are in use. (MR #3400, MR #3403)

We redesigned document properties. Since we introduce new feature Multipages wich is not part of svg standart (not suported by browsvers). we cahneg this dialog to contol how big is a viewbox (what gets shown in browsvers). We use first page is also viewbox (MR #3700).

We moved out snapping settings ouside this dialog and also outside of svg document in to preferences.

Fill and Stroke dialog

Color selector

  • The more intuitive HSL mode (hue, saturation, lightness) is now the default mode of the color selector.
  • All color selection modes (e.g. HSL, HSV, RGB, CMYK, color wheel, CMS) have been moved into drop-down menu, with icons. You can get the old, tabbed look back by disabling the option in Edit → Preferences → Interface: Use compact color selector mode switch (MR #3443).

Gradient Editor is back

A replacement for the gradient editor was added to the Fill and Stroke dialog (MR #2688, Bug ux#67).

This allows you to add, edit and delete gradient stops directly in the 'Fill and Stroke' dialog again.

  • to add a new stop, double click on the gradient preview
  • to move a stop, click and drag it along the gradient preview or enter the stop offset numerically for more precision
  • to remove a stop, click on it to select it, then press the Del or Backspace key

Gradient editor adding stops.gif

The Gradient tool toolbar options `repeat mode`, `reverse gradient direction`, a gradient selection library and a list of all stops have been added here, too, so all the options pertaining to gradients are in easy reach.

Gradient editor - repete.gif

Another way to add, edit and delete single stops is to use the list of gradient stops. Users can add stops by clicking on the + button, and can delete them by clicking on the - button.

Adding and removing stops in to list.gif

With the new gradient selection dropdown, users can duplicate gradients by clicking on the + button.

Gradients Library.gif

Users can offset (move) the first and last stops of a gradient. The color beyond the last/first gradient stop is uniformly that of the last/first stop and it becomes transparent where the gradient postion handles end.

First and last node offset.gif


Markers have new drop-down options where you can control size offset and rotation of markers. This allowed us to remove duplicate markers so UI is much easier to navigate. We also cleaned out marker presets and added few new arrows and also join ends Rachana Podaralla with mentors Michael Kowalski, Marc Jeanmougin, Martin Owens

Working with new markers.gif

You can also edit size rotation and offset of markers on canvas. By clicking on edit button in style tab under marker (MR #3394, MR #3420)

Edit markers on canvas.gif

Custom Dash strokes

We added UI for editing custom dash stroke pattern. Click on Custom option inside a dash stroke drop-down and this field will be shown under it. Now you can add your custom pattern by typing numbers (dash gap dash gap ...)

Dashstroke editor.png

Other small changes

we reorder caps to mach order (MR #3402)

Layers and Objects dialog

We fused Layers and objects dialog in to new improved dialog. New Layers and Objects dialog significantly improves performance when handling many objects at the same time (MR #2466, MR #3635, MR #2466, MR #3741, MR #3597, MR #3645).

  • new icons for every object type
  • first object icon enable/disable view of objects
  • masks and clipping paths are added as a overly suicon
  • every new layer has new color
  • Colors of icons in panel and paths on canvas are linked for better organization
  • you can edit color of of layer/object by slisking on color block on right
  • default highlight colors delegated to style.css file
  • double click label (name of the object) to rename it
  • info-bar shows you current layer if you click on it and will open layers dialog
  • shift-click on an eye icon toggles layer solo visibility (hiding others)
  • shift-click on a padlock locks other layers
  • If you hold Alt and hover over items in dialog all other elements get lover opacity. So you can see what exactly is the object you pointing at


  • Preferences zoom ruler respect theme look (MR #3450)
  • Allow select same to work like select all (MR #2832)

SVG Font Editor

Bug fixes, small face lift and UX and performance improvements of the dialog (MR #3396, MR #3552)


The Swatches dialog uses the same improved settings as [the color palette].

Text and Font dialog

The dialog's width has been reduced, so it won't take up excessive amounts of space when docked (MR #3314).

Trace Bitmap

The Trace Bitmap dialog received a few updates and some more polish (MR #3405):

  • The preview auto-updates more reliably and shows a better preview image.
  • The preview location now adjusts to the dialog's format: if it is wider than tall, it moves to the right side, and if it is taller than wide, the preview appears at the bottom of the dialog.
  • The number entry fields are now accompanied by draggable sliders.

Transform dialog

We cleaned up this dialog, reduced width and added explanation for metric transformations (MR #3381)


Live path effects

perspective/envelope LPE now works on objects with 0 width or height . (edge cases for single line stroke) (MR #2712)

Import / Export

[TODO: not available yet, fill in when/if merged] Anshudhar Kumar Singh with mentors Michael Kowalski, Ted Gould, Tavmjong Bah https://gitlab.com/inkscape/inkscape/-/merge_requests/3825

Customization / Theming

General User Interface

  • The font size in the user interface can be adjusted at Edit → Preferences → Interface → Theming: Font scale (MR #3690)
  • The +/- buttons for number entry fields are now smaller. If you prefer the old, wider buttons, they can be turned on again by disabling Preferences → Interface : Use narrow number entry boxes . (MR #3358)

Bars / Toolbars

  • You can now hide elements from the status bar (style indicator, layer indicator, mouse coordinates, canvas rotation) at Edit → Preferences → Interface: Status bar (MR #3445)
  • You can now hide tools from the tool bar at Edit → Preferences → Interface → Toolbars: Toolbars (MR #3515)

Editing toolbox.gif


  • The drop shadow is now optional for mouse cursors. You can turn it off in Edit → Preferences → Interface → Mouse cursors: Show drop shadow (MR #3352).


  • Multiple icons in the Multicolor icons set got small retouches and other improvements to readability or contrast, e.g. the green color is now a little brighter when using a dark theme, to improve contrast.
  • Cursors and icons for the Bézier tool and the Calligraphy tool in the tool bar now use the same imagery [to be confirmed]
  • Align and distribute icons are now smaller, some were redesigned to fit in to 16x16 grid.
  • The icon sizes for the tool bar and the control / tool controls bar can now be adjusted smoothly on a continuous scale from from 100% to 300% in Edit → Preferences → Interface → Toolbars: Toolbox icon size / Control bar icon size


  • A contrast slider was added for fine tuning the selected theme's colors at Edit → Preferences → Interface → Theming: Contrast (MR #906)

macOS-specific Changes

On macOS, enable all special menu items in the application menu and hide them from other menus (MR #3767)

Windows-specific Changes

Modifier keys now work with pen input (Commit #46c12b)


  • Add option to limit output extension to save copy (MR #3600)
  • Added Python app dirs dependency (MR #3568) [Is this a bug fix?]

Command line

Behind the curtains


continuous work on converting verbs to Gio::Actions . This work is done as a preparation for migration to gtk4 and also allows us to have this commands in command pallet and assign shortcuts to this coverted commands. (TODO: there is lots of MRs mostly from tav which needs to be sorted and added here) SUSHANT A.A. with mentors Alexander Valavanis, Ted Gould, Tavmjong Bah


Add support for x, y, width and height SVG2 attributes on <symbol>. Follows logic of <svg> element, which already supported these attributes (MR #3828)

Notable bugfixes

Crash fixes

  • Check knot still exists before updating (MR #717)
  • Masive colection of crash fixes releted to number of LPE (copy, stampe, duplicate) (MR #3479)
  • Action after grouping 3D boxes crash Fix (MR #3698)
  • Fix for crashing of inkscape while Quiting (MR #3681)
  • Fix crash due to invalid or malformed direct-action string (MR #3663)
  • Bezier curve tool Backspace crash (MR #3715)
  • Fix crash scrolling across line height units (MR #3541)
  • Fix adding a path effect to symbol causes crash (MR #3520)
  • Fix drag-and-drop svgs, stops crash (MR #3710)
  • Handle two items in spray tool's single path mode (MR #3470)
  • Icon preview crash (MR #3439)
  • Prevents crashing during 3D box import (MR #3592)
  • Fill between Paths LPE crash on selecting (MR #3801)

Other bug fixes

  • Calligraphy tool: use correct tool tilt direction (MR #3782, Bug #1692)
  • duplicated gradeint does not get deleted (MR #3361)
  • Last line in paragraph is not justified anymore (MR #3780)
  • Fix #1034 - Recursively flatten css style when copying (MR #3656)
  • new boolean operation algorithm (MR #3724)
  • Respect mouse down before mouse move coordinates (WIN) (MR #3735)
  • Remove mandatory break from end of paragraphs, added in Pango 1.49 (MR #3630)
  • Fix: Subsequent font changes to words in the same textbox now apply (MR #3631)
  • Fix numpad input for unimode in text tool (MR #3689)
  • Restore refresh of units trackers (MR #3665)
  • Fix find and replace if text has description, nested tspans (MR #3551)
  • all canvas knots should have same size and be controlled form preferences (MR #3679, MR #3699)
  • Fix multiline vertical text positioning in browsers (MR #3537)
  • Stop changing line height when units change (MR #3544)
  • Fix Clone Tiler menu item, action mismatch (MR #3650)
  • fix: Cannot quit Inkscape on macOS Big Sur from welcome screen (MAC) (MR #2762)
  • Fix: Position of flowed text no longer applies extra transforms on text (MR #3695)
  • Fix default value for saturate in color matrix filter (MR #3626)
  • nodes widget no longer appears on startup in align and distribute dialog (MR #3677)
  • fixes #2621. Clicking on fill/stroke in the status bar now reopens the dialog if it is hidden (MR #3754)
  • Fix KP_2,4,6,8 shortcuts for rect tool (MR #3773)
  • Transform handle modifiers are now displayed on status bar (MR #3809)

Even more bug fixes

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

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


The following UI translations received updates:

The Windows installer translation was updated for [2021-03-03]:

The following documentation translations received updates:

Contributing to interface translations

Want to help with translations? Learn how to help!


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.


[TODO: update if merged] Ishaan Arora with mentors Thomas Holder, Martin Owens

Important changes for packagers

  • New dependency on python-cssselect added which is required for usage of Inkscape extensions (MR #3239)

Known issues

  • Gradient editing [as of 2021-06-26]:
    • Gradient collecting is problematic. It deletes your gradient if it's not used by any other object. Will be fixed with 3361
    • If you convert your gradient to swatch, the gradient editor cannot be used for editing it anymore.
    • The first click after exiting the gradient library is ignored.
    • Canvas stops and gradient editor stops highlighting will stop working in some cases.

Other releases