Important changes

The default resolution was changed from 90dpi to 96dpi, to match the CSS standard. For more background information, please see the Wiki article about handling of units in Inkscape. Inkscape 0.92 will attempt to identify 'legacy' Inkscape files that need to be converted. If such a file is detected, the user will be offered three options:

Set 'viewBox'. Inkscape will add an appropriate 'viewBox' which will do a global scaling of the document. It will also adjust the document width and height if necessary.

Scale elements. Inkscape will scale each internal element.

Ignore. Do nothing. This is an appropriate choice for documents meant for screen display.

Selection Sets Dialog

New dialog that allows the creation of selection sets that are not affected by document structure.

Usage:

Open Dialog with 'Object > Selection sets'

To create a new selection set:

click on the '+' button at the bottom of the dialog (double-click on its label to edit)

To add objects to a selection set:

select object on the canvas

in the 'Selection sets' dialog click on the '+' icon before the selection set in the list

To select all objects of a selection set:

deselect any existing selection and click on the selection set in the list

To remove an object from a selection set:

select the selection set in the dialog

click on 'Items' to show all objects in the set

select an object on the canvas or in the Items list in the dialog

click on the 'Delete' icon (trashbin) before the object in the list

To delete a selection set:

select it in the list and click on the '-' button at the bottom of the dialog

Text

Font Features

It is now possible to take advantage of OpenType tables to select alternative glyphs from a font. For this, a third tab ('Variants') has been added to the 'Text and Font' dialog. Note that browser support is still limited. Inkscape must also be linked with a recent version of the Pango library.

Vertical Text

Support for vertical text layout has been improved.

The default behavior for Latin bases glyphs has been changed. They are now rotated sideways as required by the SVG 1.1 standard.

Support for the CSS 3 'text-orientation' property has been added. (Note that this property is not yet fully supported by browsers.)

The CSS 3 values for the 'writing-mode' property are supported in rendering. Saving still uses the deprecated SVG 1.1 values.

Accessibility

Converting text to a path will save the text in the 'aria-label' attribute. This is useful for accessibility and could eventually be used by Inkscape to reconstruct the text.

Line Spacing

Line spacing in Inkscape now follows the CSS standard for the 'line-height' property. Note the following points:

Outer: "font-size:40px;line-height:1.25"

Outer: "font-size:40px;line-height:1.25em"

The unit for 'line-height' can now be chosen. Previous versions of Inkscape used a unitless value. When the value is unitless, the line spacing is recalculated for each change in font size. This is the most commonly expected behaviour. When the value has a unit, the line spacing is calculated at the point where the CSS 'line-height' property is defined and that value is used regardless of following changes in font size. This however, will not always lead to evenly spaced lines due to the idiosyncrasies of how line spacing is calculated in CSS. (See Tav's write up CSS Text Line Spacing Exposed for the details.)

Outer: "font-size:40px;line-height:0", Inner: "line-height:1.25em"

The minimum spacing between lines is determined by the 'strut' value. This is determined by the product of the 'font-size' and 'line-height' values on the outermost text element. These values are shown and can be set when the "Outer Style" button is enabled in the Text Tool's Tool Control bar. To set the 'strut' to zero, set the outer style 'line-height' to zero.If the 'strut' has zero height, you'll need to set 'line-height' on all the inner text elements to keep the lines from being on top of each other. Use Ctrl-A to select all the text and disable the "Outer Style" button to set the "line-height" on all the inner elements.Note: when the "Outer Style" button is not enabled, the "Font size" and "Line height" boxes show the values of either the high-lighted selected text or at the cursor point (if no text is selected). Changes in font size and line spacing will be applied to the selected text or to all the inner elements (if no text is selected). Unlike other styling properties (e.g. fill color), there is no visual indicator of which characters have a particular 'line-height' value. One can step through character by character with the cursor to determine a span of characters with the same 'line-height' value.

Outer: "font-size:40px;line-height:1.25", Inner: "line-height:0"

To create a set of evenly spaced lines regardless of font size, set the 'strut' value to the desired line spacing and then set the inner 'line-height' values to zero.

Live Path Effects

Now some suitable LPEs can be applied to clips and masks.

Helper lines come again to life.

The option to add a bend path directly was added to the pen/pencil shape combo box.

On-canvas controls for the width parameter have been added to the Pattern Along Path and Bend LPE.

Hold down Shift key and drag on a handle to change the weight of a bspline in node tool.

Custom weight steps are applied by holding CTRL down and dragging on a handle with the node tool (no Shift key required).

Double-click on a handle resets weight to default

Live Path Effect mode

Bspline LPE

The options in the Live Path Effect dialog give you full control over bspline paths.

Option to set to Default weight (0.3333 times curve segment)

Option to make nodes cusp

Numeric input for weight

Option to set number of Steps with CTRL to quickly snap the weight in node/handle editing

Apply changes if weight ... applies changes in the widgets to all nodes with weight == 0 or weight > 0 or both, for example, retains cusp nodes when you change the weight and have unselected "Apply changes if weight == 0".

The effect's threshold can be modified in the preferences dialog, by setting a numeric parameter.

Apply Simplify multiple times in the same LPE.

This path effect can optionally be applied directly via the pencil/freehand drawing tool's tool bar when creating a new path. It then replaces the normal smoothing (which would be a destructive operation).

Transform by two points

Transforms an element by two control points (e.g. moving, skewing, resizing and rotation). You can position the control points on the bounding box edge midpoints or by the index of the nodes of the original path.
Thanks to Ivan Louette for the idea for this effect!

Works on paths, shapes. With groups you have limited features constrained to bounding box.

Allows snapping of both control points.

Allows to fix angle or distance.

Elastic mode to simulate a rubber band path.

Two bounding box edge midpoints can be used as control points if 'From original width' is active.

Attach Path

Attach Path LPE

Connect a path to another path (optionally at each end), by attaching it to a specified location on the other path (specified as in <node number>.<fraction of segment length>, or by dragging a handle).

The connecting curve segment can be shaped with handles, or by entering a number.

This LPE makes it possible for the first time to have 'crossings' between paths that move with the path when it is modified, which isn't possible within the SVG specification.

Bounding Box

Bounding Box LPE

An arbitrary path can be used to serve as a bounding box rectangle for the path that is linked. It will follow all transformations of the linked path. This can, for example, be used to provide a background for exporting as png.

Ellipse by 5 Points

Ellipse by 5 Points LPE

An ellipse will be constructed, whose circumference will go through each of the nodes of a 5-node path.

Fill between Many

Fill Between Many LPE

Adds a fill to a collection of independent open paths, connecting their ends with straight lines.

The LPE is applied to one path (which will be converted into the fill, and serves as a 'container' for the effect).

The other paths, which are part of the drawing, can then be added to it by copy-pasting in the LPE dialog.

The order in which the paths are filled can be changed, and the direction can be reversed for each path independently.

Now it is possible to apply the kind of path effects which only work on a path without subpaths (PowerStroke, Taper Stroke, ...) to the single paths (see image for an example).

Fill between Strokes

Fill Between Strokes LPE

Similar to 'Fill between Many', but can only be used on two open paths, to fill them seamlessly.

Requires a 'container' path, which will turn into the fill after the first path has been added to the LPE.

Connects one couple of path ends with a stroke, if the path that functions as a container has a stroke set.

Can also be used to apply a duplicate stroke.

Interpolate Points

Interpolate Points LPE variations

This LPE redraws all path segments, using one of the following interpolation methods:

Centripetal Catmull-Rom

CubicBezierFit

CubicBezierJohan

Linear

SpiroInterpolator

Join Type

Join Type LPE variations

The LPE allows you to set the type of connection to be used on cusp nodes and path end caps.

Available join types:

Beveled

Extrapolated Arc

Extrapolated Arc Alt1

Extrapolated Arc Alt2

Extrapolated Arc Alt3

Miter

Miter Clip

Rounded

Available end cap types:

Butt

Peak

Rounded

Square

Set Miter limit

Set stroke width

Taper Stroke

Taper Stroke LPE variations

Draw tapered strokes with different settings for open paths without subpaths.

Change width of stroke ends with handles on both ends, or by entering offset numerically

Different amounts of rounding can be applied

Stroke width can be changed

Join type for cusp nodes can be selected:

Beveled

Extrapolated

Miter

Rounded

Pen / Bézier tool

New shortcut to automatically close a path when it is being drawn: Shift + Enter

Measure tool

Measure is kept until a new one is made (only visible when using measure tool)

Repositioning of origin/end

Convert to object

Convert to guides

Add just the distance measurement, consisting of editable text and a line indicating start and end

Display a 'phantom measurement' temporarily to be able to compare two measurements

Reverse origin/end

Measure global

Measure only current layer

Change precision

Gradient tool

To accomodate for keyboards that do not have an Insert key, the keyboard combination Shift+I can now also be used to insert a new stop into a gradient.

Align and Distribute

NEW: drop-down chooser with options to align nodes relative to each other in node editing mode.

Import / Export

Export PDF / EPS / PS

The default PostScript level for exporting from the command line changes from 2 to 3 (consistent with the user interface PS exporter which defaults to level 3). Level 3 is required for gradient support.

Export Optimized SVG

Completely redesigned settings dialog

Starting with version 0.92, Inkscape uses the Scour version installed on the system (e.g. via "pip install scour") instead of a bundled version so you can always profit from the latest improvements

A lot of new features and fixes in the Scour module itself, check out the release notes (Scour 0.26 from 2011-05-09 was the version that has been bundled with Inkscape 0.91)

Plotter Driver

Multiple Pens

Create a layer for every pen to use and move the corresponding drawings into it

Name the layer with a title like "Pen 1" or "MyLayerName Pen 1", where the number corresponds to the pen number the plotter should use

The layer name always overrides the standard pen setting in the plot menu

Serial Connection

The connection settings now allow you to specify rarely used serial connection settings like byte size, stop bits and parity. Most plotters use the default settings, so only change these if you know what you are doing.

HPGL Export

The HPGL export (File -> Save as -> HP Grafics Language file) has now the same multiple pens feature as the #Plotter Driver.

HPGL Import

The HPGL import (File -> Open -> Select .hpgl file) can now import multiple pens into corresponding layers, see #Plotter Driver for more information.

PDF Import

The image 'interpolate' value is now used to determine how to display bitmaps (interpolated or blocky).

Miscellaneous Improvements

Arrange > Restack has new options to reverse and shuffle the z-order of selected objects.

Render > Random Tree has new option to omit redundant segments.

Visualize Path > Measure Path has additional text layout options.

Render > Barcode was updated with new EAN2 code and extended EAN13 with automatic EAN2 and EAN5 additions

Color > Randomize now allows to set the range for randomization, and (with some limits) can now also randomize opacity

Modify Path > Jitter nodes was partially rewritten and now also supports Pareto and Log-Normal distributions.

Extension Development

It is now possible for an extension to retrieve a list of selected nodes (See Bug #171640 for an example extension).

Filters / Blend Modes

New Filters

New Blend Modes

Blend Modes can now be applied to single objects as well as to layers.

In addition to the previously available modes 'Multiply', 'Screen', 'Darken' and 'Lighten', the following modes are now available:

Overlay

Color Dodge

Color Burn

Hard Light

Soft Light

Difference

Exclusion

Hue

Saturation

Color

Luminosity

Other dialogs

Document Properties: Licences

All selectable licences have been updated to most current version.

Filter Editor

Filter list now displays how often a filter is used.

Menus

'Resize page to selection' added to Edit menu, shortcut: Shift+Ctrl+R

'Pop selection out of group' available in context menu of objects which are part of a group, when the group has been entered, and via the 'Objects' menu. It will move the object up by one level in the grouping hierarchy.

'Create Clip Group' from context menu groups the selected objects and clips that group with a clone of itself. This allows for quick creation of, for example, inset shadows.

Other user interface

Node Snapping

Snapping in the node tool has been improved:

When double clicking to insert new nodes, the position of these new nodes will snap to for example path intersections and to path-guide intersections

When grabbing a segment of a path and dragging it to deform it, the pointer will now snap

Checkerboard Background

It is now possible to use a checkerboard background when editing. This allows one to clearly see the transparency of objects. (See "Page" tab of the "Document Properties" dialog.)

View Box

One can now set the SVG 'viewBox' attribute from the GUI. This attribute sets the scale of the drawing by determining the real-world value of the SVG user unit (pixel size).

Lock Guides

Now guides can be locked and unlocked globally or individually.

Panning

Panning with space bar can now be deactivated in the Preferences (uncheck Behavior > Scrolling > Mouse Move pans when Space is pressed).

The CSS 'white-space' property is now supported. Use of this property was added in SVG 2 to replace the now deprecated 'xml:space' attribute.

The SVG 1.1 'textLength" and 'textAdjust' attributes are implemented, however, there is no GUI for these attributes.

Rendering of the Component Transfer filter primitive has been corrected.

Units are now recognized in the text and tspan 'x', 'y', 'dx', and 'dy' attributes.

Percentage values are now interpreted correctly for shapes.

New SVG 2 and CSS 3 features are generally not enabled in the GUI until widespread support in browsers.

New dependencies

The Paintbucket and Trace Bitmap tools now use an external copy of the Potrace library, which is available in many Linux distributions or can be obtained from http://potrace.sourceforge.net

Export to Optimized SVG now depends upon an external copy of the Scour python module, which can be obtained via pip (pip install scour), package management (version may be outdated) or from the scour project github site. For Windows versions, the module is included.

Filter effects and blur quality options broken (bug #1512729) (To get the same render quality in 0.92 as you had in 0.91, you need to set filter effects quality to 'Better' and the blur quality to 'Average'.)