Release notes/1.1

From Inkscape Wiki
Jump to navigation Jump to search
Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎português


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

Important Links:



Warning symbol.png Notes:

For changes made even before the 1.0 release that aren't in 1.0, try to find out if the checked and not stroked ones here: https://gitlab.com/inkscape/inkscape/-/issues/1030 have really not been cherrypicked


Warning symbol.png Pending questions:


Release highlights

Definitely not released yet.

Inkscape 1.1 is the latest major Inkscape release that brings users many fresh new features and new functionality. The most notable changes include:

Important changes

For packagers

  • Inkscape no longer depends on GtkSpell and ASpell but on GSpell for spell checking.
  • lib2geom has been moved into its own git submodule (like the extensions), a new release is available.
  • Inkscape now ships a /share/themes folder with two custom themes that are only suitable for use with Inkscape (as a git submodule)
  • Support for Python2 has been dropped for Inkscape extensions

General user interface

Command palette

  • Pressing ? will open the new Command palette.
  • In the little overlay, a type-forward search allows you to find any available command to execute on the whole drawing or selection. The list of available commands is currently restricted to those commands that have already been converted to 'actions', as part of an ongoing effort. Additionally, it includes the option to import or open files from Inkscape's document usage history.
    • Some commands allow you to indicate parameters. A little keyboard icon will show you when the program expects a parameter (such as an angle for rotation, or a fraction for scaling). Note that the unit that is used for parameters is usually 'px', not the display unit. Some parameters require a specific format (like a comma-separated list of values for moving). The format is often indicated in the description of the command, e.g. to align selected objects to the last selected one's left side, find the 'align objects' command, then type 'left last'.
    • Some commands do nothing visible in the user interface (yet), as either
      • they only work in conjunction with other commands, such as commands that change how a file is exported, or commands that export the file. These need to be entered in order, e.g. export type ⯈ type 'png' ⯈ press Enter ⯈ press ?export file name ⯈ type a file name ⯈ press Enter ⯈ press ?export do ⯈ press Enter; export do in this example can also be used repeatedly to export the updated image to the same file name) or
      • they produce output on the command line (like commands asking for coordinates of objects), which you will only see if you have started Inkscape from the command line.
  • Press Enter to execute any command.
  • By pressing the (upwards arrow key), you enter the history mode, where you can choose between commands that you have already used.
  • To close the palette, if not using any of the commands offered, you can press ? again, or just click on the canvas.

If a keyboard shortcut is available for the selected command, it will show up in the command palette (in the form that it is saved in the keyboard shortcut file). In the settings, at Edit ⯈ Preferences ⯈ Interface: Command palette, you can select some of the info you would like the palette to display. In addition to the translated action name, it can also show the English names of the commands and the corresponding command line argument name.

This feature was added by Google Summer of Code Student Abhay Raj Singh in 2020. You can learn more about the feature's development on GitLab or in Abhay's blog entry. (UX issue #31, MR #2072)

Paste on top of selection

When pasting an object from the clipboard onto the canvas, Inkscape will now by default paste it right above the currently selected object. This feature can be disabled in Edit ⯈ Preferences ⯈ Behavior ⯈ Selecting: Paste on top of selection instead of layer-top (MR #2476, Usability test #65).

Paste text as SVG data

Plain text from editors will now be interpreted as an SVG document when pasted into Inkscape (and not currently editing a text object), so you can now open an SVG file in your text editor and copy and paste the whole file into Inkscape (Commit #14f53899, Known issues). This only works with complete SVG files, not with parts. This was originally a bug fix for copy-pasting SVG data from applications that do not use the correct mime type when copying their vector contents to the clipboard, but appears to have other potential uses, too.

Canvas

New Display mode

  • 'Outline Overlay' display mode: In this mode, a toned down view of the drawing (not click-sensitive) is shown behind the (click-sensitive) object outlines. The opacity of the original drawing in this view mode can be set in Edit ⯈ Preferences ⯈ Rendering: Outline overlay opacity.

Handles

  • Inkscape now uses vector-based handles, which are currently hardcoded (not SVG) (MR #2334)
  • The maximum handle size has been increased, so users with HiDPI displays will be able to enlarge them to a more comfortable size from Edit ⯈ Preferences ⯈ Interface: Handle size
  • Rotation center handles have been made more visible

Handels.png

Guides

  • Guide positions can now be defined with higher precision (5 digits after the decimal separator instead of 3) (MR #2951).
  • Guides can no longer be moved using the Tweak or Spray tool, but only with the Node and Selector tools (Commit #ca7d46a6).

Tools

Calligraphy Tool

  • The tool now supports units for the width, with a much increased precision (up to three digits after the decimal separator, e.g. 0.005). The old, zoom-dependent width behavior is accessible with the unit '%'.
  • The entry field for 'Mass' has been moved towards left (for LTR languages) on the tool's tool controls bar, emphasizing its importance (MR #2816)

Connector tool

  • Connection lines now update in real time while objects are moved

Node tool

The node tool now allows to copy, cut and paste a selection of nodes. These nodes can be inserted into the original path, into a different path or they can be pasted as a completely new path.

Pen / Pencil Tool

  • New 'Scale' option to set the width of paths created with a 'Shape' option other than 'None' numerically (the handle that allows you to adjust the width with the node tool continues to be available).

Selector Tool

  • A new selection mode for the lasso/rubber-band selection was added, which can now select every object that is either within the box or that touches its boundaries. The mode can be activated by pressing the corresponding button in the Selector tool's tool controls bar. On canvas, the mode is visualized by changing the color of the selection box to dashed red line while dragging (MR #2520).

Touch rect.gif

Text Tool

  • Text-in-a-shape can now make use of justified text alignment.
  • Highlight all shapes: When editing text-in-shape or text-on-path, all shapes are highlighted, not only the first (MR #2468) and the orientation / position of the shapes is shown correctly (e.g. display rotated rectangle as being rotated).

Dialogs

General

  • Arrows on color sliders now have better visibility

Docking

Dialogs can now be docked on the left of the Inkscape window. They're now displayed as tabs, with optional label and icon. The dialog tabs can be combined to new floating docks. Tabs can be closed by middle mouse click, right-click and selecting to close, or by clicking on the x icon.

The previous option to minimize dialogs has been superseded by the new feature.

[undocking on Windows does not work by drag and dropping - cannot test this. Needs testing with 1.1.x (not master or any other version)]

The work for this big code refactoring was undertaken by Google Summer of Code Student Valentin Ionita in 2020. You can learn more about his work on GitLab (technical documentation).

Docking demo.gif

Preferences dialog

  • The preferences dialog now features a search bar, which performs a recursive search over all the nested categories of settings:
    • press F3 or Ctrl + G for next result
    • press Shift + F3 or Ctrl + Shift+G for previous result
  • In Edit ⯈ Preferences ⯈ Imported images: Import, there is a new option that allows you to disable relative paths to linked files ("Store absolute file path for linked images", deactivated by default).
  • In Edit ⯈ Preferences ⯈ Rendering, there is a new option to Redraw while editing, which improves performance of redrawing with some faster CPUs ("Responsive", active by default, or "Conservative").
  • In Edit ⯈ Preferences ⯈ Behavior ⯈ Scrolling, the setting Mouse wheel zooms by default has been removed. This setting can now be set by disabling the modifier 'Ctrl' for Canvas zoom, and enabling it for Vertical pan instead (see section about 'Customization' below for more information).
  • The Zoom correction factor in Edit ⯈ Preferences ⯈ Interface now works correctly for other units than mm and remembers values below 100%.
  • There is an option now to adjust the number shown in the Zoom field in the bottom right corner to match the real world scale. The new option is active by default, so that, after adjusting the factor for your monitor, at 100% zoom, your document page is as large on the screen as it is in reality.

'About Inkscape' dialog

The Help ⯈ About Inkscape dialog has been rebuilt from scratch with a larger window (and image) and a tabbed interface.

  • The user-contributed About Screen artwork is now displayed much larger, as it should be!
  • Authors and translators are now featured on separate tabs.
  • A new license tab offers a brief explanation of Inkscape licensing.
  • All the tabs include calls to action or links to the official website for more information.
  • The current version of Inkscape is displayed on a button. When clicked, the full version information is copied to the clipboard, so it can be used in bug reports, for example.
  • In the bottom right corner, there is an additional small button with a little beetle on it. Clicking that button will copy extensive information about available software library versions, in addition to operating system and Inkscape version information.

Fill and Stroke

  • The stroke's width can now be set to Hairline in the dialog at Object ⯈ Fill and stroke ⯈ Stroke Style (as a unit). This type of stroke is always 1px wide, independent of the zoom level. The feature will hopefully one day be useful for laser cutting and plotting (MR #846)
    • Hairline strokes can be exported to file formats with native hairline support (PDF/PS), but this requires a code change in the Cairo software library, which has not been accepted (yet), so the PS/PDF hairline export feature will not yet be available in any official packages. If unavailable, a very thin line width will be used instead (1px at the "1:1 zoom" level of the output).
    • In other SVG renderers, hairlines will be handled via non-scaling stroke with a stroke width of 1px.
    • Export to PNG and rendering on canvas will use a line width of 1px.
    • Known issue: Copy-pasting hairline strokes currently loses the hairline property (https://gitlab.com/inkscape/inkscape/-/issues/2157), duplicating works as a workaround
  • The Miter maximum has been increased to 100000 (Commit 69dc16)
  • Stock markers use SVG 2.0 context-stroke to automatically take on the stroke color of the object (MR #2009). If SVG 1.1 compatibility is needed, the setting for marker colors in Edit ⯈ Preferences ⯈ Input/Output ⯈ SVG export can be activated and SVG 1.1 compatibility can be activated in the 'Save as' dialog.

InkscapeHairlines.gif

Gradient Editor dialog (removed)

  • The legacy gradient editor (a dialog that could previously be enabled in the preferences for the gradient tool) has been removed. A replacement may be added in a later version.

Text and Font dialog


'Welcome' dialog

A new Welcome and onboarding screen was added.

In its first tab, you can set up the theme for Inkscape, in the second tab, you will find links to our website, where you can learn how to support the project. The last tab gives you a choice between various document formats and recently used files.

To select a file to open, click on it and then use the Load button. You can also double-click on any of the files and file format icons (faster). To open the default template, click on the 'New document' button.

The appearing of the dialog can be deactivated either by a checkbox in its last tab, or in Edit ⯈ Preferences ⯈ Windows: Miscellaneous.

Filters

  • A new "Fast Crop" filter can be found at Filters ⯈ Fill and transparency ⯈ Fast Crop (MR #2767)

Live path effects

Automatic fill preservation for path effects

LPEs which render strokes as fills (Join Type, Power Stroke, and Taper Stroke) have been modified to automatically preserve the previous fill by creating a linked clone with the original fill color when applied to an object.

"Boolean Operations" LPE

  • The path effect is no longer marked as experimental.
  • Operands can now easily be selected and moved with the mouse.
  • Improved stability

"Taper Stroke" LPE

The Taper stroke LPE has been updated to include taper direction options (allowing the taper to run to one side of the path, instead of to the middle) and smoothing options for both ends of the path, allowing more interesting paths to be made in the effect. In addition, Shift+clicking on the on-canvas handles allows quickly alternating between the different possible taper shapes.

"Fill between many" LPE

A new item Fill between Paths has been added under the Path menu to automatically create a linked fill path using the Fill between many path effect. The effect is created beneath the selected paths and automatically selected to faciliate moving the path into the correct z-order and styling it as intended. For greater efficiency, a shortcut can also be assigned, using the Preferences dialog.

This is especially useful for filling variable-width paths created with the PowerStroke option (or other live path effects that use the fill to emulate a stroke).

"Offset" LPE

  • The Offset LPE's performance was improved for more complex shapes.
  • Open paths can now have an offset that is not automatically closed [Known issue: when they don't self-intersect].

"Slice" LPE (new)

This new path effect allows you to split an object into two (or more by stacking multiple LPEs), without destroying the original. It works with groups, shapes, and paths. If you want to use it on Text, you need to use the 'Clone' LPE and apply the 'Slice' LPE on this clone. It also allows to change styles for the resulting parts, because each part is a separate object (MR #2372)

Slice LPE 1.gif

Import / Export

PNG Export Dialog

  • The default export area when nothing is selected is now 'Page'. This leads to the 'Custom' tab being initialized with the coordinates of the page, so it should be rarer to accidentally get an invalid export area of 0x0 px size. When deselecting an object, the export area mode is now set back to the one it had before 'Selection', which can be 'Page', 'Drawing' or 'Custom' (and not always 'Drawing')(MR #1587).
  • The Export PNG Image dialog now exports the PNG as soon as the button Export as has been clicked and a file name was selected for the file. It's no longer necessary to explicitly click on Export after choosing a file name. Clicking on Export will still be available to export to the file name that is currently set in the dialog.
  • Use the file name extensions '.jpg', '.webp' or '.tiff' in the PNG export dialog to open the corresponding export options and export to the selected file format. In the file chooser that opens after clicking on 'Export as', there is also a dropdown menu available to choose the file format. 'Optimized PNG' is available there as an additional option (as it uses the same file name extension, it's not possible to auto-detect). The export functionality is implemented using a Python extension of the new 'Raster Output' type.

Import

  • Inkscape can now recognize layers in SVG files exported from CorelDraw (MR !2046)

Customization

Cursors

A set of SVG-based, themeable mouse cursors with HiDPI support were added. These new cursors are coupled with the icon themes. The default set (hicolor theme) is stored in ~inkscape\share\inkscape\icons\hicolor\cursors.

To override them with your personal cursors while keeping the selected theme, your user configuration directory needs to supply the following structure to Inkscape:

inkscape (this is your user preferences directory, its location depends on your operating system)
⤷ icons
  ⤷ <theme_id>
    ⤷ cursors
      ⤷ adjust_alpha.svg
      ⤷ adjust_hue.svg
      ⤷ adjust_lightness.svg
      ⤷ …
⤷ preferences.xml

More information can be found on the SVG Cursors page.

Shortcuts

  • In Edit ⯈ Preferences ⯈ Interface ⯈ Keyboard, in the new Modifiers tab, you can customize keyboard shortcut modifiers for on-canvas mouse actions (for example holding Ctrl for scaling while keeping the object's aspect ratio can be changed to Shift) [Known issue: doesn't survive a restart]
  • Keyboard shortcut files for Inkscape can now inherit from other keyboard shortcut files by using XInclude (MR #1150)
  • Illustrator keyboard shortcut map has been updated to include a few more common shortcuts (Bug #2109)

Themes

  • A contrast slider was added for finetuning the selected theme's colors at Preferences ⯈ Interface ⯈ Themeing: Contrast (MR #906)
  • A more compact Minwaita theme (derived from Adwaita) has been added, with a light and a dark mode
  • The win32 theme has been improved by adding some custom adjustments

macOS-specific Changes

  • New Inkscape icon (commit ee589650)
  • Visio files can be imported (issue #2094)
  • No longer bundle Ghostscript, effectively removing out of the box support for EPS and PS (MR #2608), information about workarounds can be found at https://gitlab.com/inkscape/inbox/-/issues/4321
  • This is the last release to support OS X El Capitan 10.11. Future releases will require at least macOS High Sierra 10.13 as oldest supported operating system. A few hours ago I got feedback on the upstream issue which is the deciding factor here. There's hope now, so let's not make an announcement like this just yet.

Extensions

Lots and lots of bug fixes and improvements made it into the extensions set that is provided with Inkscape.

Extension Manager (Beta)

A new extension was added to Inkscape, which allows users to access a repository containing community-vetted Python extensions on the inkscape.org website from inside the Inkscape program.

The feature is considered beta currently, but will improve mid-cycle as it is able to update itself by its own installation mechanism.

It works by creating a virtual Python environment in the extensions subdirectory. Extensions are uploaded by their creators as zip files into the Extensions gallery on the website, and then need to undergo a review process by trusted community members who will then sign the uploads with their GPG signature.

To ask for a review, extension developers are supposed to contact Inkscape's extensions team in the chat. Some wait time is to be expected, so please be patient with your request.

Structure and requirements (beyond that they must comply with the community's Code of Conduct) are not defined or documented yet, so be open to having to make changes to your files during the review. Find more information, updates about and known issues with the Extensions Manager here.

As a user, note that 100% security cannot be guaranteed. Use the new feature with care.

On Windows, the Extensions Manager comes as an optional installable component for the exe and msi packaging formats, so administrators can decide whether they want to allow their users to download user-contributed extensions from the internet.

API changes for extension developers

If you were using inkex.command.inkscape(), there should be no need to update their API for the latest Inkscape, it should just work.

Command line

  • The options x y z have been added back in to preserve compatibility with legacy Inkscape command line scripts (and ImageMagick's SVG conversion)
  • Added actions for aligning and distributing objects (MR #2472)
  • Shell mode: a history of commands is now remembered and can be accessed with the up and down arrow keys. [Tab ... autocompletion?]

Behind the curtains

Inkscape developers have also worked on improving and evolving parts of Inkscape which are not directly visible to the users. Indirectly, these changes will also benefit the users, as they make it easier for developers to work with the project, and help them make fewer mistakes.

  • Documentation for developers was updated and improved continuously, helping developers better understand other people's code
  • Outdated code was updated continuously, making it easier to handle the code moving forwards. This includes a continued effort to convert old C code to modern C++, removing dead code and rewriting parts of the code in a more modern way.
  • Code formatting was improved continuously, improving readability of the code
  • Continuous integration was updated and improved continuously, ensuring that each code change will be tested automatically and can be reviewed by bug reporters before it is included into the main line code, also keeping up with changes in GitLab, AppVeyor and other infrastructure that is used by Inkscape
  • Improvements were made to the build system, so Inkscape can be built on more Linux, Windows and macOS versions, keeping up with changes in software libraries that Inkscape depends upon
  • Many tests were added and improved, reducing the risk of accidental loss of functionality
  • Running test versions on Windows was simplified by adding shortcuts to the top level folder: Run Inkscape !.bat, Run Inkscape and create debug trace.bat, Run Inkscape with GTK Inspector.bat (MR #2884)

Notable bugfixes

Crash fixes

Fix a crash …

  • when exporting a file containing an object clipped with a filtered object to PDF ([1] Bug #203)
  • when deleting the d attribute in the XML editor (MR #2722)
  • when zooming in on a heavily filtered object in large files (MR #2965)
  • when clipping a raster image with a shape, using the setting to 'Put every clipped/masked object in its own group' (Bug #1912)
  • when trying to use shapes with various Live Path Effects in Boolean operations (Bug #2321)
  • when opening a file containing a group that uses a filter with large filter region (Bug #1786)
  • when using extensions while an object without id attribute is selected (Bug inbox#4756)
  • when removing a Live Path Effect (MR #3064)
  • when closing Inkscape while the Connector tool was drawing a connection (Bug #2031)

Other bug fixes

  • @import statements in CSS sheets are now processed in the correct order, so their styles are no longer overwritten unintentionally.
  • The color selector's color wheel looks better now on HiDPI screens (MR #2416)
  • Color slider handles look better now on HiDPI screens (MR #2733)
  • The color indicator field in the bottom left corner of the window now uses a constant width and has been cleaned up a bit (MR #2400)
  • The size of the double-arrow handles in the color sliders has been increased (MR #2427)
  • Fix of multiple regressions and bugs with Stroke to path (MR #2410)
  • Fix of feColorMatrix filter primitive default rendering (MR #2424)
  • You can now just click in the color wheel to select a color (MR #2428)
  • Reverse order of z-order buttons to achieve more consistency (MR #2556)
  • Fix reversed buttons in Arrange / Polar Coordinates (MR 2561)
  • Multiple Fixes for Selectors and CSS dialog (MR #1681)
  • Multiple fixes for command: Stroke to path (MR #2410)
  • Fixed rendering of antialiasing on clipping path (MR #2401)
  • Fix z-order rendering issue after ungrouping (MR #2452)
  • Fix copying mesh gradients to new document (MR #2362)
  • "X-Ray" mode no longer disables automatically when the cursor reaches the edge of the canvas (MR #2346)
  • Fix Ctrl+click "Pop selected object out of group" MR #2729)
  • Wording and spelling improvements
  • Improved colors selection of icons - This fixes multiple bugs for different Gtk themes and icon themes 2845
  • PDF/LaTeX export now places SVG2 texts correctly in the exported .tex file (Bug #2300)
  • Blurred objects can now have an additional filter or blend mode again (Bug #2306)
  • Icon for 'Unset paint' in the Fill & Stroke dialog was improved (MR #2770)
  • The keyboard shortcuts displayed in the menus are now updated instantly when changing the keyboard shortcut map (Bug #741)
  • The measurement tool's angle is now always displayed on the correct side (Bug #2303)
  • The 'Polka dots, large' and 'Polka dots, large white' patterns tile seamlessly again (MR #2772)
  • Fix an issue with the 'Roughen' LPE (MR #3062)
  • Authors and translators of Inkscape are displayed in the 'About Inkscape' dialog again on Windows (Bug #1592)
  • Parts of the user interface were empty after starting Inkscape (Bug #1509)
  • When pasting a color hex code onto any selected object(s) with Ctrl + V, the fill color will now again change to the color indicated by the hex code (Bug #2046)
  • Restore performance when selecting an object with the Fill and Stroke dialog open (Bug #1191)
  • Ellipses are now un-created and re-created (with Ctrl + Z / Ctrl + Y) correctly (Bug #1488)
  • Processing Instructions and comments are no longer auto-deleted (Bug #1050)
  • Update behavior of 'Selectors and CSS' dialog improved (MR #3136)
  • The Auto palette now shows all custom swatches that exist in a document (not only newly added ones) and should update reliably (Bug #2340)
  • Objects using some less common color codes for their fill no longer become black (unset paint) when transforming them in specific ways (Bug #1651)
  • The previous measuring results of the measurement tool no longer jump away from their position when switching tools and then switching back to measuring (Bug #2388)
  • Updating a custom swatch's color value now works again, even if you're not using the color sliders to do that (Bug #188)

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 (all changes since DATE until release date).

Extensions

  • Element selections API has been improved, the API in 10? of using self.svg.selected is deprecated in favour of the new self.svg.selection interface. The previous API will continue to work for the time being but should be updated to the new API. Selection is now a type of ElementList which provides filtering, ordering and other generalised functionality, if you need an element list for example to make a bounding box, this is the way to do it.

Translations

The following UI translations received updates [2021-03-03]:

  • Basque
  • Brazilian Portuguese
  • Bulgarian
  • Catalan
  • Croatian
  • Czech
  • Danish
  • Dutch
  • French
  • German
  • Hungarian
  • Icelandic
  • Italian
  • Irish
  • Korean
  • Latvian
  • Polish
  • Simplified Chinese
  • Spanish
  • Traditional Chinese
  • Turkish
  • Ukrainian

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

  • Czech

The following documentation translations received updates:

  • Language

Additionally, time has been spent on improving translatability and adding hints for translators in various places.

Contributing to interface translations

Want to help with translations? Learn how to help!

Documentation

  • Some missing options were added to the man page (command line help)
  • Some missing keyboard shortcuts were added to the keyboard shortcut reference

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.

Known issues

Other releases