https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&user=Bb&feedformat=atomInkscape Wiki - User contributions [en]2024-03-28T22:20:53ZUser contributionsMediaWiki 1.36.1https://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6144Release notes/0.442006-04-13T03:29:56Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. The clipping path is returned to the drawing as a regular object; it is inserted on top of the unclipped object in z-order. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. The mask is returned to the drawing as a regular object; it is inserted on top of the unmasked object in z-order. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color profile support ==<br />
<br />
[joncruz]<br />
<br />
== Docked color palette ==<br />
<br />
[options; use; dragndrop; linked colors - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the overall size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b>/<b>Paste Height</b> scale the whole selection horizontally/vertically so that it matches the width/height of the clipboard object(s). These commands honor the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the other dimension of the selected object is scaled in the same proportion; otherwise the other dimension is unchanged.<br />
<br />
* <b>Paste Size Separately</b>, <b>Paste Width Separately</b> and <b>Paste Height Separately</b> work similarly to the above described commands, except that they scale <i>each selected object</i> separately to make it match the size/width/height of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Calligraphic tremor ==<br />
<br />
Even when using a graphics tablet with pressure sensitivity, the Calligraphy pen's strokes often look too smooth and artificial. To enable a more natural look, the new Tremor parameter is added to the Calligraphy tool in this version. Adjustable in the Controls bar from 0.0 to 1.0, it will affect your strokes producing anything from slight unevenness to wild blotches and splotches. This significantly expands the creative range of the tool.<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* Extended "Select All" option - now there is an option for "Select All" and TAB browsing to work in current layer with it's sublayers.<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
* [xcf - acspike]<br />
<br />
== Speed ==<br />
<br />
* Thanks to <b>optimizations in the renderer</b>, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* <b>Optimizations in the Node tool</b> resulted in noticeable speed gains for node editing. Thus, switching to and from the Node tool (with a path selected), as well as selecting nodes in that tool, are now <b>at least ten times faster</b> than before. Other operations, including curve and node dragging and move/scale/rotate operations on multiple selected nodes, are much faster as well. This is especially important when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving multiple objects with arrow keys at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
* <b>Interface icons</b> are now rendered in the background (from SVG source in <code>share/icons/icons.svg</code>) when Inkscape is idle, rather than waiting for all the icons in a menu to render the first time you pull it up. This eliminates the annoying delay when opening menus for the first time.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Inkscape's <b>keyboard shortcuts are now configurable!</b> <br />
<br />
:At this time, not all Inkscape actions can have their shortcuts customized. However, the majority of actions, including everything you see in the menus, are already configurable, and we're working on making more actions configurable. <br />
<br />
:On startup, Inkscape reads its keyboard shortcuts from <code>share/keys/default.xml</code>. That file is a copy of <code>inkscape.xml</code> in the same directory, which also contains keyboard emulation profiles for other vector editors:<br />
<br />
:*<code>xara.xml</code>: Xara X/Xara Xtreme/Xara LX keys<br />
<br />
:You can copy any of these over default.xml to use that profile. In all profiles, those keys which are not used by the corresponding program still have their Inkscape bindings. If you can contribute a profile for some vector editor that we don't yet have, we will appreciate that. The files have a simple XML-based format described in <code>inkscape.xml</code>.<br />
<br />
:You can also customize some of your keybindings without overwriting the main <code>default.xml</code>. If your profile directory (<code>~/.inkscape</code> on Linux) contains a <code>keys</code> subdirectory with a <code>default.xml</code> file, the keybindings from that file will overlay (i.e. add to, and override in case of a conflict) the default bindings. The format of your own <code>default.xml</code> is the same as that of the main <code>default.xml</code>.<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* In Node tool, when you switch the type of the selected node to Smooth or Symmetric (by pressing Shift+S/Shift+Y), you can now preserve the position of one of the two handles by hovering your mouse over it, so that only the other handle is rotated/scaled to match.<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [new mouse cursors are coloured and antialiased - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
* [extension manager - gouldtj]<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text and flowed text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the <b>gtk2-engines-smooth / libsmooth</b> package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the <b>KDE Baghira</b> theme or the package <b>gtk_qt_engine</b> are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6143Release notes/0.442006-04-13T03:27:38Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. The clipping path is returned to the drawing as a regular object; it is inserted on top of the unclipped object in z-order. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. The mask is returned to the drawing as a regular object; it is inserted on top of the unmasked object in z-order. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color profile support ==<br />
<br />
[joncruz]<br />
<br />
== Docked color palette ==<br />
<br />
[options; use; dragndrop; linked colors - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the overall size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b>/<b>Paste Height</b> scale the whole selection horizontally/vertically so that it matches the width/height of the clipboard object(s). These commands honor the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the other dimension of the selected object is scaled in the same proportion; otherwise the other dimension is unchanged.<br />
<br />
* <b>Paste Size Separately</b>, <b>Paste Width Separately</b> and <b>Paste Height Separately</b> work similarly to the above described commands, except that they scale <i>each selected object</i> separately to make it match the size/width/height of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Calligraphic tremor ==<br />
<br />
Even when using a graphics tablet with pressure sensitivity, the Calligraphy pen's strokes often look too smooth and artificial. To enable a more natural look, the new Tremor parameter is added to the Calligraphy tool in this version. Adjustable in the Controls bar from 0.0 to 1.0, it will affect your strokes producing anything from slight unevenness to wild blotches and splotches. This significantly expands the creative range of the tool.<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* Extended "Select All" option - now there is an option for "Select All" and TAB browsing to work in current layer with it's sublayers.<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
* [xcf - acspike]<br />
<br />
== Speed ==<br />
<br />
* Thanks to <b>optimizations in the renderer</b>, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* <b>Optimizations in the Node tool</b> resulted in noticeable speed gains for node editing. Thus, switching to and from the Node tool (with a path selected), as well as selecting nodes in that tool, are now <b>at least ten times faster</b> than before. Other operations, including curve and node dragging and move/scale/rotate operations on multiple selected nodes, are much faster as well. This is especially important when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving multiple objects with arrow keys at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
* <b>Interface icons</b> are now rendered in the background (from SVG source in <code>share/icons/icons.svg</code>) when Inkscape is idle, rather than waiting for all the icons in a menu to render the first time you pull it up. This eliminates the annoying delay when opening menus for the first time.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* '''Configurable keymaps''': Inkscape's keyboard shortcuts are now configurable! <br />
<br />
:At this time, not all Inkscape actions can have their shortcuts customized. However, the majority of actions, including everything you see in the menus, are already configurable, and we're working on making more actions configurable. <br />
<br />
:On startup, Inkscape reads its keyboard shortcuts from <code>share/keys/default.xml</code>. That file is a copy of <code>inkscape.xml</code> in the same directory, which also contains keyboard emulation profiles for other vector editors:<br />
<br />
:*<code>xara.xml</code>: Xara X/Xara Xtreme/Xara LX keys<br />
<br />
:You can copy any of these over default.xml to use that profile. In all profiles, those keys which are not used by the corresponding program still have their Inkscape bindings. If you can contribute a profile for some vector editor that we don't yet have, we will appreciate that. The files have a simple XML-based format described in <code>inkscape.xml</code>.<br />
<br />
:You can also customize some of your keybindings without overwriting the main <code>default.xml</code>. If your profile directory (<code>~/.inkscape</code> on Linux) contains a <code>keys</code> subdirectory with a <code>default.xml</code> file, the keybindings from that file will overlay (i.e. add to, and override in case of a conflict) the default bindings. The format of your own <code>default.xml</code> is the same as that of the main <code>default.xml</code>.<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* In Node tool, when you switch the type of the selected node to Smooth or Symmetric (by pressing Shift+S/Shift+Y), you can now preserve the position of one of the two handles by hovering your mouse over it, so that only the other handle is rotated/scaled to match.<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [new mouse cursors are coloured and antialiased - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
* [extension manager - gouldtj]<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text and flowed text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the <b>gtk2-engines-smooth / libsmooth</b> package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the <b>KDE Baghira</b> theme or the package <b>gtk_qt_engine</b> are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Xara_X&diff=6142Xara X2006-04-12T23:34:58Z<p>Bb: </p>
<hr />
<div>= Features in Common =<br />
*In brief: both are multi-platform and are protected by the GPL. Inkscape is free software; so is [http://xaraxtreme.org/ Xara Xtreme]. <br />
<br />
= Inkscape Advantages = <br />
<br />
=== Fundamental ===<br />
* open, text-based, XML-based standardized format (the [http://www.xara.com/support/docs/webformat/spec/ Xar File Format] is a published standard too, but not XML, and not widely adopted)<br />
* scriptable (perl/python extensions), extendable<br />
* more localisations, easy to add your own <br />
<br />
=== Features ===<br />
* live XML tree editor<br />
* live clones (copies that are linked to the original and update when it's changed)<br />
* clone tiler (can be used for two-dimensional object scattering with randomization and coloring)<br />
* tile tracing (tracing anything by a pattern of clones)<br />
* unclumping (two-dimensional, incremental equidistant distribution of objects)<br />
* randomizing object positions<br />
* baseline snapping, alignment, distribution<br />
* find dialog (find any object by type, style, id, etc)<br />
* export and conversion from command line, including batch export [Xara has batch export via GUI only, using Names gallery]<br />
* hierarchical layers, "enter group" command making it a temporary layer<br />
* pattern fills from arbitrary objects<br />
* transform/not transform switch for patterns and gradients<br />
* switch to preserve rounded rect corners in transforms<br />
* scale/rotate/skew any number of objects separately, each around its own center<br />
* numeric skew (both axes; by angle, %, displacement)<br />
* editing transform matrix<br />
* different star/polygon rounding (both Xara's and Inkscape's approaches have their advantages)<br />
* randomized stars<br />
* spirals<br />
* easy segment and arc from ellipse<br />
* the ability to combine color and transparency in a gradient<br />
* linked offsets and text-on-path remain freely transformable<br />
* convenient calligraphy pen (sensitive to tablet pressure&tilt, speed, direction)<br />
* flowing text into arbitrary shapes, chaining, exclusion<br />
* one-command removal of kerns from text<br />
* rotating characters in text (including text on path)<br />
* whiteboard (interactive collaborative drawing across the net)<br />
* connector tool for diagrams<br />
* automatic diagram layout <br />
* removing overlaps<br />
* cool effects for paths: randomize, add nodes, swirl, fractal, function plotter and many others<br />
* smoother and more powerful bitmap tracer<br />
* icon preview<br />
* masks?<br />
=== convenience ===<br />
* configurable keybindings (including Xara emulation option)<br />
* keys for canvas scrolling (with acceleration)<br />
* keys for scaling and rotating (including pixel-size)<br />
* keys for scaling and rotating (including pixel-size) of nodes, including scale/rotate of node groups<br />
* keys for letterspacing, linespacing, kerning in text (including pixel-size)<br />
* nodes can be moved with snapping along the adjacent straight line segments or their Bezier controls<br />
* gradient handles can merge and unmerge<br />
* history of zooms (Xara has a single "previous zoom")<br />
* zooming by single key (+/-, without ctrl)<br />
* any kind of zooming (including area) without tool switching<br />
* "bounding box" per-object selection hints<br />
* cursor changes over selectable objects<br />
* more convenient per-object export hints [Xara has them via the Names gallery, but it's cumbersome]<br />
* more precision in editable numeric fields<br />
<br />
<br />
= Xara advantages =<br />
<br />
* fast renderer<br />
* blends (Inkscape has limited path blending via an extension)<br />
* envelopes, including curvilinear and perspective (Inkscape has limited support via extensions)<br />
* linked colors<br />
* Pantone colors<br />
* colour blending modes (lighten, darken etc)<br />
* Photoshop plugins[[/Live]] effects<br />
* editing "clipview" clippath without unclipping?<br />
* integrated Picture Editor for embedded bitmaps<br />
* can node-edit more than one path at a time<br />
* brushes along path (path remains editable), can be used for object scattering with randomization<br />
* variable stroke width, with selectable profiles or taken from pressure sensitivity<br />
* dynamic drop shadows<br />
* feathering objects' edges (not the same as blurring - only inward from edge, like a blurred transparency mask)<br />
* more gradient types (conic, 4-point etc) [a limitation of the SVG specification, only linear and radial are defined]<br />
* bevel tool (outer/inner; join types; size; light angle and elevation; flat/rounded/chiseled etc types (15 in total))<br />
* "nav bar" tool for buttons (hidden in Xtreme)<br />
* quick transparency gradients separate from fill [to some extent, can be emulated by SVG masks]<br />
* gradient profiles [SVG limitation, can be clumsily approximated by multistage gradients]<br />
* rainbow/alt-rainbow gradient options<br />
* different star/polygon rounding (both Xara's and Inkscape's approaches have their advantages)<br />
* fractal fill (only two preset types)<br />
* more input and output formats (including CDR, Flash; but not yet SVG)<br />
* non-AA display mode (note: anti-aliasing is _not_ a significant factor in the speed of Inkscape)<br />
* linked stretching (autoscaling objects), e.g. stretching button to fit the text<br />
<br />
= Per-feature comparison: =<br />
<br />
== Pen tool: ==<br />
Xara:<br />
* you can drag curve and nodes (with snapping and closing) while in the tool (but, strangely, not node handles)<br />
Inkscape:<br />
* live preview of the next segment<br />
* you can create hor/vert straight line segments with Ctrl<br />
* length/angle display in statusbar<br />
* you can easily create disconnected subpaths (starting with Shift)<br />
<br />
== Path simplification: ==<br />
Xara:<br />
* slider for the just-drawn freehand line (only), to refit both ways (looser or tighter) while it's still selected<br />
* interactive 0-100% slider in Node tool, looser only but remembers setting while you have the same nodes selected lets you de-simplify back<br />
* works on selected nodes (actually, ONLY works on selected nodes)<br />
Inkscape:<br />
* Ctrl+L works in any tool, smoothing incrementally with acceleration<br />
* has wider range and works more gradually<br />
* works on multiple objects, and on whole object without node selection<br />
<br />
<br />
<br />
= Screenshots =<br />
<br />
[http://www.xara.com/products/xarax/screenshots.asp Screenshots on the Xara site] Page mirror: [http://web.archive.org/*/http://www.xara.com/products/xarax/screenshots.asp Web Archive]<br />
<br />
[http://www.xara.com/products/xarax/screenshots/brushes.jpg Screenshot showing Xara Brushes]<br />
<br />
[http://www.xara.com/products/xarax/screenshots/Gallery.jpg Screenshot showing Xara Clipart Gallery]<br />
<br />
[http://www.xara.com/products/xarax/screenshots/55Chevy(outlines).jpg Screenshot of Xara depicting a Chevrolet Automobile]<br />
[http://www.xara.com/products/xarax/screenshots/55Chevy(outlines).jpg Screenshot of Xara Wireframe View of Chevrolet Automobile]<br />
<br />
<br />
= Links =<br />
<br />
[http://www.xara.com/products/xarax/ official site]<br />
<br />
[http://www.xaraxone.com/ community site of artists]<br />
<br />
[http://xaraxtreme.org open source Xara Xtreme]<br />
<br />
[http://www.xara.com/support/docs/webformat/spec/ Xar File Format]<br />
<br />
[http://en.wikipedia.org/wiki/Xara_X Xara at Wikipedia]<br />
<br />
==Discussion==<br />
<br />
Repeating Inkscape Advantages and doing a full comparision on every page would be redundant. <br />
The purpose of these pages is to see what ideas we can learn from other projects, advantages to be copied and flaws to be avoided. <br />
Comparisions are more about marketing than development and maybe counter productive. I would recommened a restructuring of this page. -- [[AlanHorkan]]<br />
:I object. There's no repetition because we do not list just "Inkscape advantages," but "Inkscape advantages compared to this specific program". Therefore the list of items and their wording will be unique for each program that we compare to. And I don't see how an objective comparison can ever be counterproductive. <br />
<br />
::I agree with both of you: Bulia is right about listing some Inkscape advantages, but this list is too extensive, including a lot of minor features, IMO only the *key* features should be noted, the rest are, as Alan said, redundant. --nicu<br />
<br />
:::You cannot predict which features will be minor or major for someone. Quite often, a user rejects or falls in love with a program because of some very minor conveniences that he loves or hates. I happen to know both these programs quite well, so I listed everything I know, and I welcome more additions to both Xara and Inkscape lists, no matter how minor. We might need to better categorize these lists, but I would object to trimming them down arbitrarily. I also think that we need something like that, if not more detailed, for other vector editors as well. --bb<br />
<br />
:The goal of this page is to track how we compare to Xara and what remains to do to catch up. This list format is the best for this purpose. Ideally we need to have such lists on all "other vector editor" pages on our wiki. --bb<br />
<br />
I still object and think having all the information about Inkscape on this page is unnecessary but I think having my objections here prominantly on record may be enough to warn people this is not intended as Comparative Advertising or be misconstrued as anything other than us being interested in learning from other projects. <br />
<br />
:I have absolutely no problem if someone perceives this as "comparative advertising", so long as the page is objective and complete. Let the people decide for themselves. --bb</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6141Release notes/0.442006-04-09T14:07:33Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. The clipping path is returned to the drawing as a regular object; it is inserted on top of the unclipped object in z-order. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. The mask is returned to the drawing as a regular object; it is inserted on top of the unmasked object in z-order. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color profile support ==<br />
<br />
[joncruz]<br />
<br />
== Docked color palette ==<br />
<br />
[options; use; dragndrop; linked colors - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the overall size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b>/<b>Paste Height</b> scale the whole selection horizontally/vertically so that it matches the width/height of the clipboard object(s). These commands honor the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the other dimension of the selected object is scaled in the same proportion; otherwise the other dimension is unchanged.<br />
<br />
* <b>Paste Size Separately</b>, <b>Paste Width Separately</b> and <b>Paste Height Separately</b> work similarly to the above described commands, except that they scale <i>each selected object</i> separately to make it match the size/width/height of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Calligraphic tremor ==<br />
<br />
Even when using a graphics tablet with pressure sensitivity, the Calligraphy pen's strokes often look too smooth and artificial. To enable a more natural look, the new Tremor parameter is added to the Calligraphy tool in this version. Adjustable in the Controls bar from 0.0 to 1.0, it will affect your strokes producing anything from slight unevenness to wild blotches and splotches. This significantly expands the creative range of the tool.<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* Extended "Select All" option - now there is an option for "Select All" and TAB browsing to work in current layer with it's sublayers.<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
* [xcf - acspike]<br />
<br />
== Speed ==<br />
<br />
* Thanks to <b>optimizations in the renderer</b>, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* <b>Optimizations in the Node tool</b> resulted in noticeable speed gains for node editing. Thus, switching to and from the Node tool (with a path selected), as well as selecting nodes in that tool, are now <b>at least ten times faster</b> than before. Other operations, including curve and node dragging and move/scale/rotate operations on multiple selected nodes, are much faster as well. This is especially important when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving multiple objects with arrow keys at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
* <b>Interface icons</b> are now rendered in the background (from SVG source in <code>share/icons/icons.svg</code>) when Inkscape is idle, rather than waiting for all the icons in a menu to render the first time you pull it up. This eliminates the annoying delay when opening menus for the first time.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* '''Configurable keymaps''': Inkscape's keyboard shortcuts are now configurable! At this time, not all commands can have their keys redefined, but the majority of them, including everything you see in the menus, are configurable. <br />
<br />
:* Default key mappings are defined in <code>share/keys/default.xml</code>. [add other programs profiles -- bb] <br />
<br />
:* If your profile directory (e.g. <code>~/.inkscape</code> on Linux) contains a <code>keys</code> subdirectory with a <code>default.xml</code> file, the keybindings from that file will overlay (i.e. add to and override in case of a conflict) the default settings. The format of your own <code>default.xml</code> is the same as that of the main <code>default.xml</code>; this is a simple XML file that you can edit to customize your keybindings.<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* In Node tool, when you switch the type of the selected node to Smooth or Symmetric (by pressing Shift+S/Shift+Y), you can now preserve the position of one of the two handles by hovering your mouse over it, so that only the other handle is rotated/scaled to match.<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [new mouse cursors are coloured and antialiased - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
* [extension manager - gouldtj]<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text and flowed text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the <b>gtk2-engines-smooth / libsmooth</b> package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the <b>KDE Baghira</b> theme or the package <b>gtk_qt_engine</b> are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6140Release notes/0.442006-04-09T14:04:11Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. The clipping path is returned to the drawing as a regular object; it is inserted on top of the unclipped object in z-order. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. The mask is returned to the drawing as a regular object; it is inserted on top of the unmasked object in z-order. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color profile support ==<br />
<br />
[joncruz]<br />
<br />
== Docked color palette ==<br />
<br />
[options; use; dragndrop; linked colors - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the overall size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b>/<b>Paste Height</b> scale the whole selection horizontally/vertically so that it matches the width/height of the clipboard object(s). These commands honor the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the other dimension of the selected object is scaled in the same proportion; otherwise the other dimension is unchanged.<br />
<br />
* <b>Paste Size Separately</b>, <b>Paste Width Separately</b> and <b>Paste Height Separately</b> work similarly to the above described commands, except that they scale <i>each selected object</i> separately to make it match the size/width/height of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Calligraphic tremor ==<br />
<br />
Even when using a graphics tablet with pressure sensitivity, the Calligraphy pen's strokes often look too smooth and artificial. To enable a more natural look, the new Tremor parameter is added to the Calligraphy tool in this version. Adjustable in the Controls bar from 0.0 to 1.0, it will affect your strokes producing anything from slight unevenness to wild blotches and splotches. This significantly expands the creative range of the tool.<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* Extended "Select All" option - now there is an option for "Select All" and TAB browsing to work in current layer with it's sublayers.<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
* [xcf - acspike]<br />
<br />
== Speed ==<br />
<br />
* Thanks to <b>optimizations in the renderer</b>, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* <b>Optimizations in the Node tool</b> resulted in noticeable speed gains for node editing. Thus, switching to and from the Node tool (with a path selected), as well as selecting nodes in that tool, are now <b>at least ten times faster</b> than before. Other operations, including curve and node dragging and move/scale/rotate operations on multiple selected nodes, are much faster as well. This is especially important when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving multiple objects with arrow keys at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
* <b>Interface icons</b> are now rendered in the background (from SVG source in <code>share/icons/icons.svg</code>) when Inkscape is idle, rather than waiting for all the icons in a menu to render the first time you pull it up. This eliminates the annoying delay when opening menus for the first time.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* '''Configurable keymaps''': Inkscape's keyboard shortcuts are now configurable! At this time, not all commands can have their keys redefined, but the majority of them, including everything you see in the menus, are configurable. <br />
<br />
** Default key mappings are defined in <code>share/keys/default.xml</code>. [add other programs profiles -- bb] <br />
<br />
** If your profile directory (e.g. <code>~/.inkscape</code> on Linux) contains a <code>keys<code> subdirectory with a <code>default.xml</code> file, the keybindings from that file will overlay (i.e. add to and override in case of a conflict) the default settings. The format of your own <code>default.xml</code> is the same as that of the main <code>default.xml</code>; this is a simple XML file that you can edit to customize your keybindings.<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* In Node tool, when you switch the type of the selected node to Smooth or Symmetric (by pressing Shift+S/Shift+Y), you can now preserve the position of one of the two handles by hovering your mouse over it, so that only the other handle is rotated/scaled to match.<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [new mouse cursors are coloured and antialiased - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
* [extension manager - gouldtj]<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text and flowed text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the <b>gtk2-engines-smooth / libsmooth</b> package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the <b>KDE Baghira</b> theme or the package <b>gtk_qt_engine</b> are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6135Release notes/0.442006-04-05T20:14:35Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. The clipping path is returned to the drawing as a regular object; it is inserted on top of the unclipped object in z-order. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. The mask is returned to the drawing as a regular object; it is inserted on top of the unmasked object in z-order. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color profile support ==<br />
<br />
[joncruz]<br />
<br />
== Docked color palette ==<br />
<br />
[options; use; dragndrop; linked colors - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the height is scaled in the same proportion; otherwise the height is unchanged.<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the width is scaled in the same proportion; otherwise the width is unchanged.<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Calligraphic tremor ==<br />
<br />
Even when using a graphics tablet with pressure sensitivity, the Calligraphy pen's strokes often look too smooth and artificial. To enable a more natural look, the new Tremor parameter is added to the Calligraphy tool in this version. Adjustable in the Controls bar from 0.0 to 1.0, it will affect your strokes producing anything from slight unevenness to wild blotches and splotches. This significantly expands the creative range of the tool.<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* Extended "Select All" option - now there is an option for "Select All" and TAB browsing to work in current layer with it's sublayers.<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
* [xcf - acspike]<br />
<br />
== Speed ==<br />
<br />
* Thanks to <b>optimizations in the renderer</b>, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* <b>Optimizations in the Node tool</b> resulted in noticeable speed gains for node editing. Thus, switching to and from the Node tool (with a path selected), as well as selecting nodes in that tool, are now <b>at least ten times faster</b> than before. Other operations, including curve and node dragging and move/scale/rotate operations on multiple selected nodes, are much faster as well. This is especially important when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving multiple objects with arrow keys at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* In Node tool, when you switch the type of the selected node to Smooth or Symmetric (by pressing Shift+S/Shift+Y), you can now preserve the position of one of the two handles by hovering your mouse over it, so that only the other handle is rotated/scaled to match.<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [new mouse cursors are coloured and antialiased - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
* [extension manager - gouldtj]<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text and flowed text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the <b>gtk2-engines-smooth / libsmooth</b> package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the <b>KDE Baghira</b> theme or the package <b>gtk_qt_engine</b> are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6134Release notes/0.442006-04-05T20:04:14Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. The clipping path is returned to the drawing as a regular object; it is inserted on top of the unclipped object in z-order. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. The mask is returned to the drawing as a regular object; it is inserted on top of the unmasked object in z-order. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop; linked colors - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the height is scaled in the same proportion; otherwise the height is unchanged.<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the width is scaled in the same proportion; otherwise the width is unchanged.<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Calligraphic tremor ==<br />
<br />
Even when using a graphics tablet with pressure sensitivity, the Calligraphy pen's strokes often look too smooth and artificial. To enable a more natural look, the new Tremor parameter is added to the Calligraphy tool in this version. Adjustable in the Controls bar from 0.0 to 1.0, it will affect your strokes producing anything from slight unevenness to wild blotches and splotches. This significantly expands the creative range of the tool.<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* Extended "Select All" option - now there is an option for "Select All" and TAB browsing to work in current layer with it's sublayers.<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
* [xcf - acspike]<br />
<br />
== Speed ==<br />
<br />
* Thanks to <b>optimizations in the renderer</b>, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* <b>Optimizations in the Node tool</b> resulted in noticeable speed gains for node editing. Thus, switching to and from the Node tool (with a path selected), as well as selecting nodes in that tool, are now <b>at least ten times faster</b> than before. Other operations, including curve and node dragging and move/scale/rotate operations on multiple selected nodes, are much faster as well. This is especially important when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving multiple objects with arrow keys at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* In Node tool, when you switch the type of the selected node to Smooth or Symmetric (by pressing Shift+S/Shift+Y), you can now preserve the position of one of the two handles by hovering your mouse over it, so that only the other handle is rotated/scaled to match.<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [new mouse cursors are coloured and antialiased - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
* [extension manager - gouldtj]<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text and flowed text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the <b>gtk2-engines-smooth / libsmooth</b> package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the <b>KDE Baghira</b> theme or the package <b>gtk_qt_engine</b> are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6125Release notes/0.442006-04-01T20:50:17Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop; linked colors - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the height is scaled in the same proportion; otherwise the height is unchanged.<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the width is scaled in the same proportion; otherwise the width is unchanged.<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Calligraphic tremor ==<br />
<br />
Even when using a graphics tablet with pressure sensitivity, the Calligraphy pen's strokes often look too smooth and artificial. To enable a more natural look, the new Tremor parameter is added to the Calligraphy tool in this version. Adjustable in the Controls bar from 0.0 to 1.0, it will affect your strokes producing anything from slight unevenness to wild blotches and splotches. This significantly expands the creative range of the tool.<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* Extended "Select All" option - now there is an option for "Select All" and TAB browsing to work in current layer with it's sublayers.<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
* [xcf - acspike]<br />
<br />
== Speed ==<br />
<br />
* Thanks to <b>optimizations in the renderer</b>, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* <b>Optimizations in the Node tool</b> resulted in noticeable speed gains for node editing. Thus, switching to and from the Node tool (with a path selected), as well as selecting nodes in that tool, are now <b>at least ten times faster</b> than before. Other operations, including curve and node dragging and move/scale/rotate operations on multiple selected nodes, are much faster as well. This is especially important when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving multiple objects with arrow keys at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* In Node tool, when you switch the type of the selected node to Smooth or Symmetric (by pressing Shift+S/Shift+Y), you can now preserve the position of one of the two handles by hovering your mouse over it, so that only the other handle is rotated/scaled to match.<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [new mouse cursors are coloured and antialiased - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
* [extension manager - gouldtj]<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the <b>gtk2-engines-smooth / libsmooth</b> package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the <b>KDE Baghira</b> theme or the package <b>gtk_qt_engine</b> are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6124Release notes/0.442006-04-01T20:44:13Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop; linked colors - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the height is scaled in the same proportion; otherwise the height is unchanged.<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the width is scaled in the same proportion; otherwise the width is unchanged.<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Calligraphic tremor ==<br />
<br />
Even when using a graphics tablet with pressure sensitivity, the Calligraphy pen's strokes often look too smooth and artificial. To enable a more natural look, the new Tremor parameter is added to the Calligraphy tool in this version. Adjustable in the Controls bar from 0.0 to 1.0, it will affect your strokes producing anything from slight unevenness to wild blotches and splotches. This significantly expands the creative range of the tool.<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* Extended "Select All" option - now there is an option for "Select All" and TAB browsing to work in current layer with it's sublayers.<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
* [xcf - acspike]<br />
<br />
== Speed ==<br />
<br />
* Thanks to <b>optimizations in the renderer</b>, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* <b>Optimizations in the Node tool</b> resulted in noticeable speed gains for node editing. Thus, switching to and from the Node tool (with a path selected), as well as selecting nodes in that tool, are now <b>at least ten times faster</b> than before. Other operations, including curve and node dragging and move/scale/rotate operations on multiple selected nodes, are much faster as well. This is especially important when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving multiple objects with arrow keys at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [new mouse cursors are coloured and antialiased - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
* [extension manager - gouldtj]<br />
<br />
* In the Node tool, when you switch the type of the selected node to Smooth or Symmetric (by Shift+S/Shift+Y or toolbar buttons), you can now preserve the position of one of the two handles by hovering your mouse over it, so that only the other handle is rotated/scaled to match.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the <b>gtk2-engines-smooth / libsmooth</b> package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the <b>KDE Baghira</b> theme or the package <b>gtk_qt_engine</b> are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6123Release notes/0.442006-04-01T20:03:23Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop; linked colors - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the height is scaled in the same proportion; otherwise the height is unchanged.<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the width is scaled in the same proportion; otherwise the width is unchanged.<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Calligraphic tremor ==<br />
<br />
Even when using a graphics tablet with pressure sensitivity, the Calligraphy pen's strokes often look too smooth and artificial. To enable a more natural look, the new Tremor parameter is added to the Calligraphy tool in this version. Adjustable in the Controls bar from 0.0 to 1.0, it will affect your strokes producing anything from slight unevenness to wild blotches and splotches. This significantly expands the creative range of the tool.<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* Extended "Select All" option - now there is an option for "Select All" and TAB browsing to work in current layer with it's sublayers.<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
* [xcf - acspike]<br />
<br />
== Speed ==<br />
<br />
* Thanks to <b>optimizations in the renderer</b>, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* <b>Optimizations in the Node tool</b> resulted in noticeable speed gains for node editing. Thus, switching to and from the Node tool (with a path selected), as well as selecting nodes in that tool, are now <b>at least ten times faster</b> than before. Other operations, including curve and node dragging and move/scale/rotate operations on multiple selected nodes, are much faster as well. This is especially important when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving multiple objects with arrow keys at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [new mouse cursors are coloured and antialiased - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
* [extension manager - gouldtj]<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the <b>gtk2-engines-smooth / libsmooth</b> package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the <b>KDE Baghira</b> theme or the package <b>gtk_qt_engine</b> are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6122Release notes/0.442006-04-01T19:06:41Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop; linked colors - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the height is scaled in the same proportion; otherwise the height is unchanged.<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the width is scaled in the same proportion; otherwise the width is unchanged.<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Calligraphic tremor ==<br />
<br />
Even when using a graphics tablet with pressure sensitivity, the Calligraphy pen's strokes often look too smooth and artificial. To enable a more natural look, the new Tremor parameter is added to the Calligraphy tool in this version. Adjustable in the Controls bar from 0.0 to 1.0, it will affect your strokes producing anything from slight unevenness to wild blotches and splotches. This significantly expands the creative range of the tool.<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* Extended "Select All" option - now there is an option for "Select All" and TAB browsing to work in current layer with it's sublayers.<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
* [xcf - acspike]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* Switching to and from the Node tool (with a path selected), as well as selecting nodes in that tool, have been significantly optimized and are now about <b>at least ten times faster</b> than before. Other operations, especially curve dragging, are noticeably faster as well. Memory consumption in the Node tool is also reduced. This is especially important when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
* [extension manager - gouldtj]<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the <b>gtk2-engines-smooth / libsmooth</b> package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the <b>KDE Baghira</b> theme or the package <b>gtk_qt_engine</b> are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6116Release notes/0.442006-04-01T03:37:52Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop; linked colors - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the height is scaled in the same proportion; otherwise the height is unchanged.<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the width is scaled in the same proportion; otherwise the width is unchanged.<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Calligraphic tremor ==<br />
<br />
Even when using a graphics tablet with pressure sensitivity, the Calligraphy pen's strokes often look too smooth and artificial. To enable a more natural look, the new Tremor parameter is added to the Calligraphy tool in this version. Adjustable in the Controls bar from 0.0 to 1.0, it will affect your strokes producing anything from slight unevenness to wild blotches and splotches. This significantly expands the creative range of the tool.<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
* [xcf - acspike]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* Switching to and from the Node tool (with a path selected), as well as selecting nodes in that tool, have been significantly optimized and are now about <b>at least ten times faster</b> than before. Other operations, especially curve dragging, are noticeably faster as well. Memory consumption in the Node tool is also reduced. This is especially important when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
* [extension manager - gouldtj]<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6113Release notes/0.442006-03-30T14:59:59Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop; linked colors - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the height is scaled in the same proportion; otherwise the height is unchanged.<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the width is scaled in the same proportion; otherwise the width is unchanged.<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Calligraphic tremor ==<br />
<br />
Even when using a graphics tablet with pressure sensitivity, the Calligraphy pen's strokes often look too smooth and artificial. To enable a more natural look, the new Tremor parameter is added to the Calligraphy tool in this version. Adjustable in the Controls bar from 0.0 to 1.0, it will affect your strokes producing anything from slight unevenness to wild blotches and splotches. This significantly expands the creative range of the tool.<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
* [xcf - acspike]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* Switching to and from the Node tool (with a path selected), as well as selecting nodes in that tool, have been significantly optimized and are now about <b>five to ten times faster</b> than before. Memory consumption in the Node tool is also reduced. This is especially noticeable when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
* [extension manager - gouldtj]<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Inkscape_Wiki:General_disclaimer&diff=6112Inkscape Wiki:General disclaimer2006-03-30T14:28:47Z<p>Bb: </p>
<hr />
<div></div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6105Release notes/0.442006-03-28T22:58:58Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the height is scaled in the same proportion; otherwise the height is unchanged.<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the width is scaled in the same proportion; otherwise the width is unchanged.<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* Switching to and from the Node tool (with a path selected), as well as selecting nodes in that tool, have been significantly optimized and are now about <b>five times faster</b> than before. This is especially noticeable when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6104Release notes/0.442006-03-28T22:57:18Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the height is scaled in the same proportion; otherwise the height is unchanged.<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the width is scaled in the same proportion; otherwise the width is unchanged.<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* Switching to and from the Node tool, as well as selecting nodes in that tool, are significantly optimized and are now about <b>five times faster</b> than before. This is especially noticeable when working with complex paths; with these optimizations, paths containing several thousand nodes, though still slow, are much more usable.<br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6101Release notes/0.442006-03-28T04:27:38Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
* Rotation centers are <b>preseved</b> when duplicating, cloning (including clone tiler), and converting to path.<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the height is scaled in the same proportion; otherwise the height is unchanged.<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the width is scaled in the same proportion; otherwise the width is unchanged.<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend, device fonts - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=User:Bats&diff=6100User:Bats2006-03-28T02:33:40Z<p>Bb: </p>
<hr />
<div>__TOC__<br />
== Introduction ==<br />
Hello, I wrote most of this into Kedit shortly after doing a project a few weeks ago; I wanted to capture things while fresh in my mind. I found this wiki much later and so I resolved to post what I had written, somehow. I am not sure where to put it, so I have used this user page for the job. I will advertise this somewhere, just not sure where yet.<br />
<br />
:I found your page by chance - hope you don't mind if I add some answers here :) --bb<br />
<br />
Please forgive any missteps on my part, this is my first post to an online wiki.<br />
<br />
My intention with this is to express my thoughts as I was working and then to express my '''wishes''' about what the software could do. It's not about flames. '''I really like Inkscape''', it's already better than the last time I tried Corel (version 8, I think) and it's just about at Freehand 7 level which is amazing considering the price!<br />
<br />
I also know the whole "If you want it, code it yourself" argument, and this is not about shifting the burden to someone else. Employ these suggestions or don't, I will help where I can. If this list starts some discussion then that will be more than I expected.<br />
<br />
I also appreciate that the stuff I experience may be due to the way that Inkscape has been compiled for my Distro. I still have not managed to compile it myself due to the large number of deps. I tried, but Cairo kinda killed my enthusiasm - it's just not gonna happen on Fedora 3.<br />
<br />
One last disclaimer - I don't propose to be an expert. I am sure there is loads of stuff that I simply don't know about and by knowing could solve some of these problems!<br />
<br />
== My working setup ==<br />
I use Linux - Fedora Core 3 at the moment. My machine is 10 years old by now, an old AMD 1Ghz and I have 1 gig of RAM and various IDE drives poking out of a very old case. Money is tight, no Apples in sight and never have been ;)<br />
<br />
Inkscape (4.3), Gimp and Quanta are my main tools. I will delve into Blender now and again and use sundry tools to get other stuff done.<br />
<br />
== Mixed suggestions and hopeful ideas ==<br />
Here is the big mixture of observations and ideas:-<br />
* I would love a way to ''place guides on the four edges of a page automatically''. Those page borders are too bold sometimes, I like to hide them but then I must manually drag guides and place them - a drag (literally)!<br />
<br />
:good idea, could you please file a RFE?<br />
<br />
* I worked with a trace from a bitmap that had ~700 nodes. ''Inkscape simply stopped''. The cpu was at 99% everytime I clicked something and it stayed like that for minutes at a time. I suspect that there is some slow code involved with nodes and the like. The rule is keep your nodes below 100 and that means: do not actually use trace. Do not actually create complex images. C'mon.<br />
<br />
:current svn is slightly better for this, but the real improvement will come from a new renderer (Xara or Cairo)<br />
<br />
* Strokes - I needed a way for the stroke to be created ''underneath or above the shape''. I had to convert strokes to shapes (nice that it can do that) and muck about with scaling etc to handle some tweaking on the logo.<br />
<br />
:SVG has no other options for stroke placement, so this is indeed the only way<br />
<br />
* The eye-dropper. I would like it to pick-up the colour ''optionally including'' the alphaness of the colour. Sometimes I actually want to know that exact rgba colour, not the rgb approx that assumes the alpha is ff. (If that makes any sense.)<br />
<br />
:that's exactly how it works, did you notice the toggle button in the toolbar?<br />
<br />
* Fills. I love the gradient fills. I love the powerful way that alpha is used (in normal fills as well). I wish there was ''a better way to edit those fills''. The current method is too pokey. Why not lay-out the gradient and have little markers that allow direct control of the fill. Check out how Blender does it. Oh yeah, let me name my blends or - better - just show me a picture of the blend. I can't groove to names like: LinearGradient2182. Ouch.<br />
<br />
:looks like you have a very old inkscape - the on-screen editing of gradients as you describe it is there since 0.42<br />
<br />
* ''Stamping''. I like that it's there. The way it's done is too sensitive. I click and start a drag, I press SPACE and continue the drag, suddenly I have dozens of copies of the shape. <br />
<br />
:but when you type text, you don't have problems leaving just one space between words, right? this is no different.<br />
<br />
It should be one copy per press of space.<br />
<br />
:and it is.<br />
<br />
'''Another important thing''': When I drag and then stamp, the original object should be left where the drag began.<br />
<br />
:no. it leaves is where you pressed space. sounds logical to me.<br />
<br />
It's irritating to have to move a copy of it back to where it started from!<br />
* A way to duplicate objects along a path. Perhaps a way to morph them to another shape at the same time. I know there is a plugin for morphing, but not along a path.<br />
<br />
:we have an rfe on that, so in due course this will be added<br />
<br />
* A way to restore a bitmap (or any imported shape) to it's ''original dimensions'' after successive rotations and deformations.<br />
<br />
:open Transform, go to Matrix, "edit current", Clear<br />
<br />
* Import - Why can't I drop-in a Gimp XCF file? I have to go and make a special PNG (or jpg) of it (file clutter) just so I can get it into Inkscape. The Gimp can handle SVG...<br />
===Speed===<br />
General speed. <br />
<br />
:try current svn, it's a bit speedier<br />
<br />
I use the same machine that I used to use for Freehand 8, 9 and 10. Freehand flies. Zap, zap, zap. This machine now has 1 gig of RAM and runs Linux. Inkscape acts like ''a snail on superglue'', well, okay, it's a turn of phrase. I appreciate that this may be due to my distro's (Fedora 3) way of compiling GTK and Inkscape.<br />
Slow things: <br />
:#Dragging objects around. <br />
:#Dragging the canvas around. <br />
:#Toolboxes: Opening them and when you drag them over the canvas - there is a black flash of redraw.<br />
:#Using toolboxes: The colour sliders are terrible - they redraw visibly while you are dragging! <br />
:#Lots of nodes: The superglue hardens and the snail dies. Eek.<br />
<br />
===Paste-inside/Masks/Patterns===<br />
* A way to "paste inside". '''This is a "biggy"'''. It's essential to be able to quickly ''clip shapes into other shapes''. <br />
<br />
:added in svn<br />
<br />
I can imagine it's a recursive nightmare to code, but manually cutting shapes using path tools is a bore and retards the design flow. I like how you can convert things to "Patterns" and then edit their shapes, that's a partial solution at least.<br />
* On the subject of "patterns" - it's hard to make a pattern fill "sit" inside a shape properly. It would be great if we could set the spacing between the repeated pattern; sort-of like css padding.<br />
<br />
:planned to add<br />
<br />
* I had trouble converting vector shapes to patterns. Weird stuff, hard to explain. Large vectors (large scale, not complexity) would simply corrupt as a pattern.<br />
<br />
:please file a bug with that file attached<br />
<br />
* When you have a PNG with an alpha channel and you convert it to a pattern, there is a ''visible outline'' where the alpha ends; a kind of ragged edge.<br />
<br />
:known problem, maybe a new renderer will be better in this respect<br />
<br />
===Paths/Outlines===<br />
* Inkscape really needs an "outline view". Things like paths that I put text onto usually have no stroke, after some hours of work ''I cannot recall where those paths are''.<br />
<br />
:added in svn<br />
<br />
* Oh yeah, when you select many objects and move them (or scale them), the paths that you had text put onto ''sort of move in a strange relative way'', not like you would expect. They sort-of lag behind and depending how far you drag, they can be '''waaaaay''' off the page after a bit. <br />
<br />
:don't see that, again, please file a bug with example file and detailed steps to reproduce<br />
<br />
* Putting text onto paths is great. ''Getting text onto a path in the way you want it to, is hell''. I needed a phrase along the top of a circle and then another few words at the bottom, but those had to be wrapped on the inside of the bottom of the circle, so that they read correctly (not upside-down). The only way I could solve my problem was to cut a curve out of a duplicate of the path and wrap the text to that and then move it around with ALT and F2 (node tool). It was messy.<br />
<br />
===Font dialog===<br />
*The first thing is that I would love to see previews of the fonts in that list. Not the preview at the bottom which is no good if you happen to have small-sized text, but a pre-rendered, fixed-size (legible) preview in the actual list (like Gimp does it.).<br />
<br />
:just no one coded it yet<br />
<br />
*The other thing is kerning. I would love to kern my entire text from the dialog. I love the ALT+arrow keys for tweaking, but en-mass is handy.<br />
<br />
:"kern entire text" is called letterspacing, use the alt+<> keys in text tool for that<br />
<br />
*Would be cool : Is there a way to get Inkscape to re-scan the various system font-folders '''without''' restarting? This way I can install new fonts and have Inkscape pick them up sans closing the whole thing down and re-starting it! That would kick bottom since (last I used them) neither Corel nor Freehand could do it.<br />
<br />
:it's pango/freetype area, we just use what they give us<br />
<br />
*A way to "reset" fonts to remove all their distortions, scalings etc.<br />
<br />
:see above on removing transform matrix, and for removing kerning there's a special command<br />
<br />
===Exporting===<br />
*I was sure that I was able to do this in earlier versions, but: When I select an object (or a group of them, whatever - a "selection") and I go to export as a PNG and choose the "selection" type, then I expect it to ''only export <u>what I have selected</u>''.<br />
<br />
:this was never in the UI. it's only available through the command line currently. we plan to add this option to the UI as well.<br />
<br />
Inkscape is exporting my selection (good) along with a clipped collection of whatever is in the background (bad) - stuff that I have not selected. So - when I have a logo that I want to get into Gimp, I cannot simply select the various bits in-place and export them, I am forced to explode the whole thing into seperate clusters on white-space before I export them. Urgh.<br />
<br />
:this is the standard behavior of most vector editors, fwiw<br />
<br />
* When I try to export (save as) to PDF or PS I have found that it ''only works when the page is a portrait'' layout. Anything else exports a clipped portrait version of the document. Most irksome.<br />
<br />
:i think there's a bug on that, search the bug database and add your comments and use cases<br />
<br />
* I would love to export to JPG/XCF. Also any other supported format like PDF, EPS etc. Even SVG. '''Why this fixation with Save As?'''<br />
* Why no way to set ''PNG compression'' and other meta info?<br />
<br />
:because no one coded it yet :)<br />
<br />
* ''Supersampling'' option? Some small images are way chunky.<br />
<br />
:export uses the exact same renderer as the screen display, and it should remain so. it's the principle of minimum surprise aka wysiwyg.<br />
<br />
* A way to export ''each shape in a selection as its own file''. A kind of export-explode if you like.<br />
<br />
:easy to code by a script via command line export<br />
<br />
* Add an export '''Only Current Layer''' option. (With a transparent background please!)<br />
<br />
:why not hide all other layers and export that?<br />
<br />
* I would really like to see a way to ''export slices'' like Fireworks does. Draw stuff, any combination of layers, groups, images, vectors, text. Then drag guides around and have a way to select "slices", name them and export them.<br />
<br />
:easy to do via transparent rects on a layer of their own. Or, we even have an extension for that, try it out.<br />
<br />
===Layers===<br />
* I am really happy that they are now there. Really. Could we work on that ''horrible layer control?'' I would not mind a layer toolbar at the bottom where I then click around and hide/show/drag to arrange etc. and it goes away when I mouse-out (or re-click the button, or hit esc). <br />
<br />
:sure, just join us and help us code a real layer dialog!<br />
<br />
* Have a little "export this layer" thingum. (Same as mentioned in Export section. Another way to do the same thing. A shortcut.)<br />
<br />
===Hardcore wishes===<br />
* '''Mega-wish''': Drop-shadows and other <u>Fireworksification</u>. Why should Inkscape not blur the line between pixel and vector?<br />
<br />
:because no one coded it yet. but we may have it relatively soon<br />
<br />
I really hate working with the Gimp. It's true. It just plain gets in my way all the time. ''Inkscape has a freedom of movement, a zoom-in zoom-out pan-around rotate-this scale-that paridigm that places foot upon bottom''. Why not go all the way and let me shade edges and glow logos and fill with cool textures?<br />
<br />
:sure, that's the plan, eventually :)<br />
<br />
* '''Super-crazy-OSS-thought''': Transfer Inkscape 100% to Open-GL <br />
<br />
:if we switch to cairo, it has a hardware accelerated backend<br />
<br />
and interact with Blender. I can now have 3D layers with full scenes from a Blender file in them. I can rotate, scale the 3D stuff and then over/underlay that with normal Inkscape stuff. Cmon! Do it! Okay, <nowiki></dream></nowiki><br />
<br />
:i think blender can import svg now<br />
<br />
* On the Blender thought-trail: ''I love the way nodes work in Blender''. It's weird, but dig this: You can select two nodes and hit "s" (for scale) and then when you move the mouse (not even a drag) it "scales" the two nodes.<br />
<br />
:same in inkscape, just select nodes and press alt+><, or alt+[] to rotate<br />
<br />
The effect of this is that they move towards or away from each other evenly. I would love to do something like this in Inkscape. Imagine two nodes on opposite sides of a rectangle (in the center). I could select them and "scale" them towards the middle of the rectangle (forming a kind of hour-glass shape). Currently I have to move them individually and use guides and guess-work to get them positioned. Perhaps I have missed a cool trick that lets you do this already?<br />
<br />
:you did :)<br />
<br />
* '''Flame idea''': Please start a QT version of Inkscape. I understand that the QT licence has really loosened-up and you can distribute to Windows etc now too. QT is (in my experience of about 4 distros) much snappier than GTK. Whoa! Put down that club. Drop that brick! You know it's so. Deep inside your heart, at midnight, you mutter the secret words; "Damn I wish GTK was as fast as QT." :) <-- smiley to demonstrate peace and humour. Now let me get back to my KDE desktop! :D :D<br />
<br />
:no, not at all. the toolkit is irrelevant. its effect on speed is negligible. 99% of inkscape slowness is in the renderer, not toolkit.<br />
<br />
==Conclusion==<br />
I hope this is a good list of suggestions and observations.<br />
<br />
I really love the idea of combining Inkscape, Gimp and Scribus and having a mega-design-app that will do anything and everything you can imagine. Heck, let's toss 3D in there too!<br />
<br />
Well, the dreams aside, I hope there is some chance of small fixes to an already highly useable and useful application. Way to go Inkscape!</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6099Release notes/0.442006-03-28T01:46:08Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the height is scaled in the same proportion; otherwise the height is unchanged.<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the width is scaled in the same proportion; otherwise the width is unchanged.<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
* The <b>scale ratio lock button</b> on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6098Release notes/0.442006-03-27T20:07:41Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the height is scaled in the same proportion; otherwise the height is unchanged.<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s). This obeys the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the width is scaled in the same proportion; otherwise the width is unchanged.<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6096Release notes/0.442006-03-26T23:06:01Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s).<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s).<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as <b>2k, 3k, 4k</b> etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* Added a new <code>--export-area-canvas</code> command line parameter that causes the exported PNG to contain the full canvas. This option as well as <code>--export-area-drawing</code> and <code>--export-area</code> can now be used along with <code>--export-id</code> and <code>--export-id-only</code> for greater flexibility.<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* Added a new Python effect <b>Flatten Path</b> that flattens paths in the current selection, approximates them with a polyline by breaking them into segments that meet the specified criteria for flattness.<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6091Release notes/0.442006-03-26T14:52:45Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s).<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s).<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* [--export-area-canvas acspike]<br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6090Release notes/0.442006-03-26T05:15:20Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s).<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s).<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6089Release notes/0.442006-03-26T03:12:30Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Pasting size ==<br />
<br />
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:<br />
<br />
* <b>Paste Size</b> scales the whole selection to match the size of the clipboard object(s).<br />
<br />
* <b>Paste Width</b> scales the whole selection horizontally so that it matches the width of the clipboard object(s).<br />
<br />
* <b>Paste Height</b> scales the whole selection vertically so that it matches the height of the clipboard object(s).<br />
<br />
* <b>Paste Size Separately</b> scales each selected object separately so that it matches the size of the clipboard object(s).<br />
<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6088Release notes/0.442006-03-26T02:14:25Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the <i>Zoom In</i> and <i>Zoom Out</i> commands are added to that submenu.<br />
<br />
* <b>Clone</b> commands are moved into a submenu in Edit menu and given more descriptive names and tips.<br />
<br />
* <b>Pattern</b> commands (<i>Objects to Pattern</i> and <i>Pattern to Objects</i>) are moved into a submenu in Object menu, under the new Clip and Mask submenus.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to <b>libxml >= 2.6.11</b>, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6087Release notes/0.442006-03-25T18:55:22Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[options; use; dragndrop - joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation</b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Connectors and automatic layout ==<br />
<br />
* [automatic diagram layout - ?]<br />
<br />
* There is a new <b>Remove Overlaps</b> button to move the selected objects enough that they don't overlap each other. This should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]<br />
<br />
* In Connector tool, the <b>margins around avoided shapes</b> (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.<br />
<br />
== Selective tracing with SIOX ==<br />
<br />
[ishmal]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Multicolor_text&diff=6086Multicolor text2006-03-25T18:49:39Z<p>Bb: </p>
<hr />
<div>Multicolored text in Inkscape is easy. Just select parts of the text with Text tool and assign colors to them (via Fill and Stroke, or swatches, or Paste style)...</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6082Release notes/0.442006-03-22T23:47:21Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Persistent rotation centers ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation<b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* [automatic diagram layout]<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6081Release notes/0.442006-03-22T23:46:25Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now <b>an undoable action</b>; you can press Ctrl+Z to undo the drag.<br />
<br />
* <b>Keyboard rotation<b> by [, ] keys with various modifiers, as well as the <b>Transform dialog</b>, now rotate around the selected object's center (for multiple selections, the center of the first selected object).<br />
<br />
[TODO: <br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* <b>New controls</b>: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).<br />
<br />
* Rearrangements within <b>Document Properties</b>: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* <b>Bug fixes</b>: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* <b>HIG compliance</b>: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* [automatic diagram layout]<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
* [odg - ishmal]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6079Release notes/0.442006-03-22T20:47:52Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* [automatic diagram layout]<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* <b>Zoom</b> commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6078Release notes/0.442006-03-22T15:55:42Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* [automatic diagram layout]<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6077Release notes/0.442006-03-22T15:49:44Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* [automatic diagram layout]<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:<br />
<br />
::<b>Rectangle</b> in group <i>g212</i> (layer <b>content</b>)<br />
<br />
:If selected objects have different parents, the number of parents is reported:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> parents (layer <b>content</b>)<br />
<br />
:If objects are in different layers, only the number of layers is reported since this also implies different parents:<br />
<br />
::<b>2</b> objects of types <b>Rectangle</b>, <b>Path</b> in <b>2</b> layers<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* ['''Mouse cursors''' are are coloured, and antialiased. - scislac]<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Xara_X&diff=6060Xara X2006-03-21T02:39:23Z<p>Bb: </p>
<hr />
<div>= Features in Common =<br />
*In brief: both are multi-platform and are protected by the GPL. Inkscape is free software; so is [http://xaraxtreme.org/ Xara Xtreme]. <br />
<br />
= Inkscape Advantages = <br />
<br />
=== Fundamental ===<br />
* open, text-based, XML-based standardized format (the [http://www.xara.com/support/docs/webformat/spec/ Xar File Format] is a published standard too, but not XML, and not widely adopted)<br />
* scriptable (perl/python extensions), extendable<br />
* more localisations, easy to add your own <br />
<br />
=== Features ===<br />
* live XML tree editor<br />
* live clones (copies that are linked to the original and update when it's changed)<br />
* clone tiler (can be used for two-dimensional object scattering with randomization and coloring)<br />
* tile tracing (tracing anything by a pattern of clones)<br />
* unclumping (two-dimensional, incremental equidistant distribution of objects)<br />
* randomizing object positions<br />
* baseline snapping, alignment, distribution<br />
* find dialog (find any object by type, style, id, etc)<br />
* export and conversion from command line, including batch export [Xara has batch export via GUI only, using Names gallery]<br />
* hierarchical layers, "enter group" command making it a temporary layer<br />
* pattern fills from arbitrary objects<br />
* transform/not transform switch for patterns and gradients<br />
* switch to preserve rounded rect corners in transforms<br />
* scale/rotate/skew any number of objects separately, each around its own center<br />
* numeric skew (both axes; by angle, %, displacement)<br />
* editing transform matrix<br />
* different star/polygon rounding (both Xara's and Inkscape's approaches have their advantages)<br />
* randomized stars<br />
* spirals<br />
* easy segment and arc from ellipse<br />
* the ability to combine color and transparency in a gradient<br />
* linked offsets and text-on-path remain freely transformable<br />
* convenient calligraphy pen (sensitive to tablet pressure&tilt, speed, direction)<br />
* flowing text into arbitrary shapes, chaining, exclusion<br />
* one-command removal of kerns from text<br />
* rotating characters in text (including text on path)<br />
* whiteboard (interactive collaborative drawing across the net)<br />
* connector tool for diagrams<br />
* automatic diagram layout <br />
* removing overlaps<br />
* cool effects for paths: randomize, add nodes, swirl, fractal, function plotter and many others<br />
* smoother and more powerful bitmap tracer<br />
* icon preview<br />
* masks?<br />
=== convenience ===<br />
* keys for canvas scrolling (with acceleration)<br />
* keys for scaling and rotating (including pixel-size)<br />
* keys for scaling and rotating (including pixel-size) of nodes, including scale/rotate of node groups<br />
* keys for letterspacing, linespacing, kerning in text (including pixel-size)<br />
* nodes can be moved with snapping along the adjacent straight line segments or their Bezier controls<br />
* gradient handles can merge and unmerge<br />
* history of zooms (Xara has a single "previous zoom")<br />
* zooming by single key (+/-, without ctrl)<br />
* any kind of zooming (including area) without tool switching<br />
* "bounding box" per-object selection hints<br />
* cursor changes over selectable objects<br />
* more convenient per-object export hints [Xara has them via the Names gallery, but it's cumbersome]<br />
* more precision in editable numeric fields<br />
<br />
<br />
= Xara advantages =<br />
<br />
* fast renderer<br />
* blends (Inkscape has limited path blending via an extension)<br />
* envelopes, including curvilinear and perspective (Inkscape has limited support via extensions)<br />
* linked colors<br />
* Pantone colors<br />
* colour blending modes (lighten, darken etc)<br />
* Photoshop plugins[[/Live]] effects<br />
* editing "clipview" clippath without unclipping?<br />
* integrated Picture Editor for embedded bitmaps<br />
* can node-edit more than one path at a time<br />
* brushes along path (path remains editable), can be used for object scattering with randomization<br />
* variable stroke width, with selectable profiles or taken from pressure sensitivity<br />
* dynamic drop shadows<br />
* feathering objects' edges (not the same as blurring - only inward from edge, like a blurred transparency mask)<br />
* more gradient types (conic, 4-point etc) [a limitation of the SVG specification, only linear and radial are defined]<br />
* bevel tool (outer/inner; join types; size; light angle and elevation; flat/rounded/chiseled etc types (15 in total))<br />
* "nav bar" tool for buttons (hidden in Xtreme)<br />
* quick transparency gradients separate from fill [to some extent, can be emulated by SVG masks]<br />
* gradient profiles [SVG limitation, can be clumsily approximated by multistage gradients]<br />
* rainbow/alt-rainbow gradient options<br />
* different star/polygon rounding (both Xara's and Inkscape's approaches have their advantages)<br />
* fractal fill (only two preset types)<br />
* more input and output formats (including CDR, Flash; but not yet SVG)<br />
* non-AA display mode (note: anti-aliasing is _not_ a significant factor in the speed of Inkscape)<br />
<br />
= Per-feature comparison: =<br />
<br />
== Pen tool: ==<br />
Xara:<br />
* you can drag curve and nodes (with snapping and closing) while in the tool (but, strangely, not node handles)<br />
Inkscape:<br />
* live preview of the next segment<br />
* you can create hor/vert straight line segments with Ctrl<br />
* length/angle display in statusbar<br />
* you can easily create disconnected subpaths (starting with Shift)<br />
<br />
== Path simplification: ==<br />
Xara:<br />
* slider for the just-drawn freehand line (only), to refit both ways (looser or tighter) while it's still selected<br />
* interactive 0-100% slider in Node tool, looser only but remembers setting while you have the same nodes selected lets you de-simplify back<br />
* works on selected nodes (actually, ONLY works on selected nodes)<br />
Inkscape:<br />
* Ctrl+L works in any tool, smoothing incrementally with acceleration<br />
* has wider range and works more gradually<br />
* works on multiple objects, and on whole object without node selection<br />
<br />
<br />
<br />
= Screenshots =<br />
<br />
[http://www.xara.com/products/xarax/screenshots.asp Screenshots on the Xara site] Page mirror: [http://web.archive.org/*/http://www.xara.com/products/xarax/screenshots.asp Web Archive]<br />
<br />
[http://www.xara.com/products/xarax/screenshots/brushes.jpg Screenshot showing Xara Brushes]<br />
<br />
[http://www.xara.com/products/xarax/screenshots/Gallery.jpg Screenshot showing Xara Clipart Gallery]<br />
<br />
[http://www.xara.com/products/xarax/screenshots/55Chevy(outlines).jpg Screenshot of Xara depicting a Chevrolet Automobile]<br />
[http://www.xara.com/products/xarax/screenshots/55Chevy(outlines).jpg Screenshot of Xara Wireframe View of Chevrolet Automobile]<br />
<br />
<br />
= Links =<br />
<br />
[http://www.xara.com/products/xarax/ official site]<br />
<br />
[http://www.xaraxone.com/ community site of artists]<br />
<br />
[http://xaraxtreme.org open source Xara Xtreme]<br />
<br />
[http://www.xara.com/support/docs/webformat/spec/ Xar File Format]<br />
<br />
[http://en.wikipedia.org/wiki/Xara_X Xara at Wikipedia]<br />
<br />
Discussion<br />
<br />
Repeating Inkscape Advantages and doing a full comparision on every page would be redundant. <br />
The purpose of these pages is to see what ideas we can learn from other projects, advantages to be copied and flaws to be avoided. <br />
Comparisions are more about marketing than development and maybe counter productive. I would recommened a restructuring of this page. -- [[AlanHorkan]]<br />
:I object. There's no repetition because we do not list just "Inkscape advantages," but "Inkscape advantages compared to this specific program". Therefore the list of items and their wording will be unique for each program that we compare to. And I don't see how an objective comparison can ever be counterproductive. <br />
<br />
::I agree with both of you: Bulia is right about listing some Inkscape advantages, but this list is too extensive, including a lot of minor features, IMO only the *key* features should be noted, the rest are, as Alan said, redundant. --nicu<br />
<br />
:::You cannot predict which features will be minor or major for someone. Quite often, a user rejects or falls in love with a program because of some very minor conveniences that he loves or hates. I happen to know both these programs quite well, so I listed everything I know, and I welcome more additions to both Xara and Inkscape lists, no matter how minor. We might need to better categorize these lists, but I would object to trimming them down arbitrarily. I also think that we need something like that, if not more detailed, for other vector editors as well. --bb<br />
<br />
:The goal of this page is to track how we compare to Xara and what remains to do to catch up. This list format is the best for this purpose. Ideally we need to have such lists on all "other vector editor" pages on our wiki. --bb<br />
<br />
I still object and think having all the information about Inkscape on this page is unnecessary but I think having my objections here prominantly on record may be enough to warn people this is not intended as Comparative Advertising or be misconstrued as anything other than us being interested in learning from other projects. <br />
<br />
:I have absolutely no problem if someone perceives this as "comparative advertising", so long as the page is objective and complete. Let the people decide for themselves. --bb</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Inkscape-specific_XML_attributes&diff=6059Inkscape-specific XML attributes2006-03-21T02:17:12Z<p>Bb: </p>
<hr />
<div>This listing includes both Inkscape-specific and Sodipodi-specific attributes. <br />
<br />
See [[ExtensionElements]] for Inkscape-specific and Sodipodi-specific elements.<br />
<br />
== Sodipodi ==<br />
<br />
'''Namespace URL''': http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd<br />
<br />
=== Local names ===<br />
<br />
* sodipodi:absref - the absolute native (UTF-8) path to a resource<br />
* sodipodi:arg1<br />
* sodipodi:arg2<br />
* sodipodi:argument<br />
* sodipodi:cx<br />
* sodipodi:cy<br />
* sodipodi:docbase<br />
* sodipodi:docname<br />
* sodipodi:end<br />
* sodipodi:expansion<br />
* sodipodi:insensitive<br />
* sodipodi:linespacing<br />
* sodipodi:modified - set to "1" when an element has been modified since the file was last saved (valid on <svg> element). INTERNAL USE ONLY, never to be seen in saved SVG.<br />
* sodipodi:nodetypes<br />
* sodipodi:nonprintable<br />
* sodipodi:open<br />
* sodipodi:original<br />
* sodipodi:r1<br />
* sodipodi:r2<br />
* sodipodi:radius<br />
* sodipodi:revolution<br />
* sodipodi:role<br />
* sodipodi:rx<br />
* sodipodi:ry<br />
* sodipodi:sides - the number of convex vertices in a polygon/star<br />
* sodipodi:spiral<br />
* sodipodi:star<br />
* sodipodi:start<br />
* sodipodi:t0<br />
* sodipodi:type - if present, an opaque string used to identify the SPObject subclass to use instead of the default subclass for this element type (valid on any element)<br />
* sodipodi:version - the version of Sodipodi which saved this document (valid on svg:svg)<br />
<br />
== Inkscape ==<br />
<br />
'''Namespace URL''': http://www.inkscape.org/namespaces/inkscape<br />
<br />
=== Local names ===<br />
<br />
* inkscape:collect<br />
* inkscape:connection-end<br />
* inkscape:connection-start<br />
* inkscape:connector-avoid<br />
* inkscape:connector-spacing<br />
* inkscape:connector-type<br />
* inkscape:current-layer<br />
* inkscape:cx<br />
* inkscape:cy<br />
* inkscape:dataloss<br />
* inkscape:document-units<br />
* inkscape:dstBox<br />
* inkscape:dstColumn<br />
* inkscape:dstPath<br />
* inkscape:dstShape<br />
* inkscape:excludeShape<br />
* inkscape:export-filename<br />
* inkscape:export-xdpi<br />
* inkscape:export-ydpi<br />
* inkscape:flatsided<br />
* inkscape:grid-bbox<br />
* inkscape:grid-points<br />
* inkscape:groupmode<br />
* inkscape:guide-bbox<br />
* inkscape:guide-points<br />
* inkscape:has_abs_tolerance<br />
* inkscape:href<br />
* inkscape:label<br />
* inkscape:layoutOptions<br />
* inkscape:marker<br />
* inkscape:object-bbox<br />
* inkscape:object-nodes<br />
* inkscape:object-paths<br />
* inkscape:object-points<br />
* inkscape:offset<br />
* inkscape:original<br />
* inkscape:output_extension<br />
* inkscape:pageopacity<br />
* inkscape:pageshadow<br />
* inkscape:radius<br />
* inkscape:randomized<br />
* inkscape:rounded<br />
* inkscape:showpageshadow<br />
* inkscape:srcNoMarkup<br />
* inkscape:srcPango<br />
* inkscape:stockid<br />
* inkscape:tile-cx<br />
* inkscape:tile-cy<br />
* inkscape:tiled-clone-of<br />
* inkscape:tile-h<br />
* inkscape:tile-w<br />
* inkscape:transform-center-x<br />
* inkscape:transform-center-y<br />
* inkscape:unset - used for unsetting a property via an SPCSSAttr. INTERNAL USE ONLY, never to be seen in saved SVG.<br />
* inkscape:version<br />
* inkscape:window-height<br />
* inkscape:window-width<br />
* inkscape:window-x<br />
* inkscape:window-y<br />
* inkscape:zoom</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=FeatureNotePadArchive&diff=6058FeatureNotePadArchive2006-03-21T02:14:37Z<p>Bb: </p>
<hr />
<div>----------<br />
<i>wwwwolf writeth:</i><br />
<br />
WIREFRAME MODE<br />
<br />
"Outline" mode. "Draft" mode. "X-Ray" mode. You know what I'm talking about. The mode where only the edges of the paths are drawn, stroked at constant width. Turn it off, and you have everything visible normally again.<br />
<br />
I've seen this in Adobe Illustrator (Ctrl+Y), Sketch, Corel Draw!, even the good ole 1991 vintage Arts & Letters.<br />
<br />
I think this is pretty important because I love to work with lots of overlapping, same-or-nearly-same-color objects that don't have strike at all. Would make drawing easier...<br />
<br />
----------<br />
<br />
<B>kwixson writes:</B><br />
<br />
Some little ideas that I haven't had time to fully spec yet, but I don't want to forget...<br />
<br />
* Text tool can optionally draw (with click and drag, as opposed to just click) a text box of defined dimensions, into which text is flowed automatically.<br />
* Cursor icons for Pen, Pencil and Calligraphy tools<br />
* Visual cues for Pen tool cursor in append mode, and other modes (i.e., +, -, ^, etc.)<br />
* Terminiate continuous draw mode when a path is closed in append mode<br />
<br />
all DONE<br />
<br />
<HR><br />
<br />
<B>Björn writes:</B><br />
1.) _Pressure sensitivity_<br />
- Everybody else got it (Xara, Illustrator, even Gimp) and it is almost necessary for professional drawing.<br />
<br />
------<br />
<br />
Export .eps. Enough said.<br />
<br />
------<br />
<br />
Plan for fill&stroke:<br />
<br />
First:<br />
<br />
* remove "get from dropper" (always on, via [[SetColorSignal]]) (DONE, no signal necessary, just picks new color from selection)<br />
<br />
* remove "mode", make global preference "Store colors as rgb/cmyk" (DONE, it's not about storing color actually, so just removed)<br />
<br />
* remove redundant color picker selector (DONE)<br />
<br />
* transientize, remember size&position, remove Close in the color selector window from Doc props; find if there are others like it (DONE)<br />
<br />
* Make evenodd switch a pair of toggle buttons inside colorselector (DONE)<br />
<br />
Then:<br />
<br />
* remove "apply to"; make all shapes use current color, but on prefs page for each tool, make a switch between "use current" (default on for shapes) or "use its own style" (default on for pens & text), plus a button "take style from the selection". (DONE)<br />
<br />
* enable partial color settings (bug http://sourceforge.net/tracker/index.php?func=detail&aid=937393&group_id=93438&atid=604306; actually that will be a separate "adjust colors" dialog)<br />
<br />
* add master opacity from object props (DONE)<br />
<br />
----------<br />
<br />
Provide a UI mechanism where one can cycle through just those object intersected by a pick point. That is, in a large, heavily overlapping graphic, you could point at the thing you want (even though it's behind three or four other things) and quickly choose that object, either from a menu, or by some form of constrained "tab-key" operation.<br />
<br />
DONE with Alt+click<br />
<br />
----------<br />
<br />
How about a better way to parse the xml code? The files are way bigger than they need to be, and it would be nice if there was an option to tidy up the code upon saving.<br />
<br />
-- use svgz or plain svg, or both<br />
---------<br />
<br />
In selector top panel, make a frame titled "Transform" and covering 4 toggle buttons: stroke (works), rounded rect corner (works), gradient, pattern (need to fix for paths stored-optimized, then add optional compensation in item_write_transform; first to fix the wrong patternTransform application)<br />
-------<br />
<br />
Textboxes (multiple shapes, and text-box linking to make the text-flow)<br />
DONE<br />
------<br />
<br />
auto "add" new gradient when switching an object to gradient in fill&stroke, instead of reusing the last one used<br />
<br />
DONE<br />
------<br />
<br />
3. Is item visibility supported? I see the checkbox in Item Properties<br />
but it appears to always be disabled. However, even if it did work,<br />
having to open up and mouse over to extra dialogs is very time consuming.<br />
When working with complex images in Illustrator I am all the time flipping<br />
visibility and sensitivity on/off and it's a quick process because you can<br />
toggle it directly from the layer view. It would be nice if the XML<br />
viewer had a check-box or something right next to each item for quick<br />
visibility and sensitivity changes (see how Layers work in The Gimp,<br />
Illustrator, and Photoshop).<br />
<br />
DONE<br />
-------------------------<br />
There are still many artists who use very old versions of Illustrator and Corel Draw so as to get the very most out of cheap hardware and hopefully that is a market that [[InkScape]] can soon grab. <br />
Jasc Web Draw is adequate but if [[InkScape]] can provide a consumer friendly user interface it will serve as a big kick in the Pants for Jasc and hopefully force them to improve their low budget Vector Graphics toy.<br />
<br />
-------------------------<br />
when creating a new object, it should have the same attributes as the last<br />
I mean: drawind shapes, if I set one to stroke and fill of a certin kind, each after that should start with the same<br />
until I change it. a palette would be nice, but this is a little different. <br />
if I draw a rect, then set it to blue, 1px black stroke, then draw another, it should be blue, 1px black stroke<br />
these are not settings that are save from session to session, just while working.<br />
small detail, but it'd make things much easier.<br />
in minimum it should behave differently for shapes/text<br />
You definitely do not want text to appear colored/filled by default<br />
<br />
-- aduhan<br />
<br />
DONE<br />
-------------------------<br />
swingincelt writes:<br />
<br />
Apply transform function is something I'd really like to see.<br />
<br />
-- doable by switching to "store transforms: optimized"<br />
----------<br />
axiom writes:<br />
<br />
Not sure where this goes, but when I have some text, why does all the text in the frame have to have the same attributes? What if I want to have some letters a different color? There is apparantly no way to highlight text<br />
<br />
DONE<br />
----------<br />
<br />
(DONE) A "New"/"Change" label in all drawing tool toolbars changing depending on whether you have an object of the corresponding type selected<br />
<br />
------<br />
<br />
Store/guess export filenames for objects; an attribute of spitem, inkscape:export-as=, settable when exports selection and selection contains only one item; fill it in in the dialog; when not set, guess it from prev/next siblings by in/decrementing their filenames' numeric parts (DONE except for guessing, which is likely to be confusing).<br />
<br />
------<br />
<br />
(DONE) Implement "select under" by ctrl-alt-clicking in selector: Stay in one place and ctrl-alt-click repeatedly watching the statusbar that shows what is selected, it will cycle through the entire stack of objects _at this point_ (not all objects in the document). <br />
<br />
------<br />
<br />
better gradient editor: ideally arbitrary stops, one color widget that switches to the selected stop (DONE)<br />
<br />
------<br />
<br />
When opening a file from an empty unchanged document, replace it with the opened one instead of opening a new window (DONE)<br />
<br />
------<br />
<br />
Write a function to compare two reprs' positions regardless of their parents, by scanning the entire tree (unless they have the same parent, in which case the sp_repr_compare_position() is used) and declaring the one that is run across first to be the lower in z-order. Use it whenever z-order matters (splivarot now has such a function in boolean_op, rather ugly but works). <br />
<br />
------<br />
<br />
Then make a function next-overlapping and prev-overlapping which finds only overlapping objects; use them in raise/lower commands so that the selection cycles through only the objects that overlap it, not all the objects of the document as now (this presently makes lower/raise almost unusable in large documents). (DONE)<br />
<br />
------<br />
<br />
Would it be feasible to have the # key toggle both the grid visibility<br />
and grid snapping at the same time? (DONE)<br />
<br />
------<br />
<br />
Make 1) rubberband 2) eventually all drags scroll window when moved beyond edge. Common function to do that? (DONE)<br />
<br />
------<br />
<br />
paste in cursor location instead of the original; a separate command for paste-where-it's-from (DONE)<br />
<br />
------<br />
<br />
remove "clear all", provide "deselect" in edit menu instead (DONE)<br />
<br />
------<br />
<br />
8. Besides the grouping, visibility, and sensitivity stuff I'd like to<br />
have a "path simplify" command. In Illustrator that takes a path and<br />
removes redundant nodes within certain curve and angle tolerance.<br />
<br />
::Done, although needs more work<br />
<br />
10. Faster zoom features. I wish I could hit "zoom-out" 3 or 4 times and<br />
not have it redraw each time. Or maybe have a saved zoom factor or<br />
something that I can toggle. I like to zoom in and out a lot to look at<br />
things so I want it to be really fast.<br />
<br />
::Now zoom increment is settable in prefs, and there's a history of zooms; it does not redraw when zooms come in quick succession<br />
<br />
12. The pencil tool (freehand draw) seems to create a lot more nodes than<br />
Illustrator does. Illustrator must use a curve fitting algorithm or<br />
something because it doesn't use as many nodes to create the path but it<br />
still fits what you draw. Maybe it just uses a difference tolerance, I<br />
don't know.<br />
<br />
::Now the fitting tolerance is settable in prefs, and is higher by default<br />
<br />
------<br />
<br />
maybe_done must catch selection_change and zero its key, so that subsequent same-dir arrow-key movements of different objects are not lumped into one undo step <br />
<br />
------<br />
<br />
display font name in the statusbar description of text object<br />
<br />
<br />
------<br />
<br />
When more than one group (and possibly some non-groups) are selected, "ungroup" must ungroup all groups in the selection<br />
<br />
<br />
-------------------------<br />
The below is in regards to Sodipodi 0.32:<br />
<br />
1. Is there any way to select individual items from a group? I know you<br />
can open the XML viewer and select items but when you have 100's or 1000's<br />
of items in a group this is extremely annoying and time consuming compared<br />
to just clicking on the item in the artboard (otherwise I usually can't<br />
even find the item buried in the XML list).<br />
<br />
:ctrl-click<br />
<br />
5. When selecting multiple items (holding down shift on the keyboard)<br />
sometimes it loses the whole selection. I have no idea what causes this,<br />
it may have to do with trying to click an item and "missing". Or it might<br />
have something to do with accidentally dragging a bit while selecting.<br />
Anyway, it is extremely annoying to carefully select 20 or 100 items and<br />
then it happens and boom, you've lost the entire selection and have to<br />
start over again.<br />
<br />
:drag tolerance took care of it --bb<br />
<br />
6. The "dragging" effect on nodes makes it nearly impossible to use a<br />
tablet with Sodipodi and hard to use a mouse when working quickly.<br />
Usually when creating a path I will quickly rough out the shape and I just<br />
want normal straight, non-curved lines. So I want to click, click, click,<br />
click and make the path. The problem is that if you even drag 1 pixel it<br />
creates a curve or other strange things that I'll then have to go back and<br />
correct. Instead of moving quickly I have to stop at each new point,<br />
<br />
click carefully, then move the mouse to the next point. When using a<br />
tablet it's pretty much impossible to click without moving the pointer at<br />
all so this causes all kinds of problems (and not when just creating new<br />
paths).<br />
<br />
:drag tolerance took care of it --bb<br />
<br />
<br />
<br />
-------------------------<br />
I commend the inkscape team for picking the excelent language of C++ for development. <br />
<br />
I sencerly hope that they use the language to its full potential by using the STL, inheritance and the other fine features that makes C++ a fine language to use. Otherwise it is a waste of time. <br />
<br />
Remember, OOP is frustrating and takes a huge amount of time to do right, but when it is done the product is clean, extensible and almost devoid of bugs. Not that its impossible or even overy difficult to make an object oriented program in C, but using C++ with its built in support for virtual functions, protected functions and the like is a step in the right direction. <br />
<br />
Well done! Make Bjarne proud!<br />
<br />
<br />
-----<br />
a knot must pass keyboard events it doesn't process to parent, so esc-deselecting works when mouse is over a resize handle<br />
<br />
-------------------------<br />
This is in regards to Sodipodi 0.32:<br />
<br />
How can one add nodes to a path? There's a button (the one with '+') but<br />
it adds a node in the middle of a segment. However, most of the time I<br />
want to add a new node AFTER the last node!<br />
<br />
Current behaviour: O - - - - - - - - - - - O ===> O - - - - - O - - - - - O<br />
<br />
What I want to have: O - - - - - - - - - - - O ===> O - - - - - - - - - - - O - - - - - - O<br />
<br />
: While in pen or pencil tool, press CTRL+A to toggle append/add<br />
: modes.<br />
: In Append mode currently selected path has miniature 'anchors',<br />
: that turn red if mouse is over them. Starting new line, while<br />
: anchor is highlighted appends new line to the old (i.e. you can<br />
: add as many points as you like using pen tool).<br />
<br />
:In node edit you can press ctrl-d on a node to duplicate it.<br />
<br />
Also, in the same spirit, how do you easily join two paths? I mean, say<br />
you have 2 separate segments, and you want to change them into one<br />
triangle. How do you do that? Currently, I have to "compound" them,<br />
select a end node of each path, and click the "-" button; but then, they<br />
merge into a middle point. This would'nt be so much of a problem if it<br />
was easier to add a point to a path!<br />
<br />
: I think latest CVS version has 'join with line' option in<br />
: node toolbox.<br />
: Also combining segments (combine tool), and using either pen or<br />
: pencil in 'append' mode allows you to connect existing<br />
: segments from anchors.<br />
<br />
-- Nicolas MONNET <br />
<br />
-------------------------<br />
First - good name. Does name matter? Yes, if it is to be widely accepted it must sound professional and Inkscape sounds professional. <br />
<br />
Second - good move to clean up code and standardize and C++ is a good, widely accepted language (ie every programmer knows it) <br />
<br />
Third - please clean up the menus - I tried to use Sodipodi and the menus were very hard to use. <br />
<br />
Fourth - the export to rasters like png are a very needed item. <br />
<br />
Thanks for your efforts.<br />
<br />
---------------<br />
<br />
7. Sodipodi seems to crash a good bit. I get afraid to use certain<br />
operations. For most normal work (when just working with nodes and paths)<br />
it seems very stable but when I start combining paths, importing files,<br />
and dragging stuff around in the XML viewer it doesn't take long before<br />
the crash happens. It's usually not a crash that brings up the crash<br />
dialog. It's the kind where you blink and Sodipodi is just gone. I have<br />
also had it crash when I accidentally randomly and quickly click 3 or 4<br />
times on the artboard while drawing. Actually, just doing anything<br />
randomly or quickly seems to make it crash (zooming in/out, clicking lots<br />
of buttons and hotheys). Sorry I can't be more specific, I'll try to<br />
follow more closely what's going on when it crashes.<br />
<br />
<br />
-------------<br />
<br />
I also found the menus particularly hard to use. <br />
<br />
I find the whole concept of a "dialogs" menu to be extremely abberent and a rather useless nonsense grouping about as much use as dumping them under "miscellanous". There is also a whole lot of functionality in the Toolbox and various dialogs that I expected to find as a menu item but did not which rather threw me for a curve ball. <br />
<br />
I'd like the menus to be at least similar to Adobe Illustrator so that I any learning I do can be reapplied and put on my CV as a skill that managment types will recognise rather than give me funny looks for (the GIMP is still not a funny name, it is just embarassing). <br />
<br />
I cant wait to see Sodipodi and Inkscape compete and improve each other. <br />
<br />
<br />
-------------------------<br />
Sodipodi is very nice, although I have a huge dislike for the interface - while original, it feels very "cludgy" to use. I would love to see a gimp-1.3 inspired interface (1.2 wasn't very nice with it's window juggling but 1.3 has a much nicer drag and drop way of organising & grouping the windows you use more often). With a ui overhaul Sodipodi[[/Inkscape]] could be very, very nice.<br />
<br />
<br />
----------------<br />
<br />
BTW, is there already some good user-documentation for Sodipodi[[/Inkscape]]? Because as a user, I don't mind how bad the code is and how much dead code there is, all I need is a manual to learn that other 90% of the app. With a manual I can really *use* the program, find bugs, and file bugreports....</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=FeatureNotePad&diff=6057FeatureNotePad2006-03-21T02:14:30Z<p>Bb: </p>
<hr />
<div>Here is a notepad for quickly noting down good ideas (newest first please). If you're bored, feel free to write these as full feature requests and add to the tracker, or as separate Wiki pages.<br />
<br />
[[FeatureNotePadArchive]] (dupes, already implemented ideas, those with acceptable workarounds, those that cannot be implemented at all)<br />
<br />
----------<br />
<i>wwwwolf writeth:</i><br />
<br />
An XSL stylesheet to convert from [[InkscapeSVG]] to [[PlainSVG]]<br />
<br />
If we had that, it wouldn't be necessary to use Inkscape's exporter in all situations - it could be used to make plain SVG without user intervention, automatically, and in places where Inkscape isn't even installed - all you need is an XSLT processor. This would be highly cool since some of the programs (I'm looking at YOU, Scribus *and* rsvg) at times choke randomly on Inkscape markup but render Inkscape's plain SVG without problems.<br />
<br />
----------<br />
Extend stroke rendering capabilities<br />
<br />
Make it possible for the definition of the rendering of a stroke to be scriptable (at stroke time). For instance, I might want to render a path as a series of flames - the size of the flames somewhat randomized, perhaps, along the stroke. Because they are flames, my script would make sure they're always pointing the same direction (up) along the stroke. Similarly, a series of water droplets would always be rendered dripping in a downward direction.<br />
<br />
Note that much of this functionality could also be done outside of scripting, using an approach similar to tiled clones.<br />
<br />
----------<br />
<br />
<B>kwixson writes:</B><br />
<br />
* Edge offsets in flowed text with automatically drawn linked offsets of the object with no fill or stroke properties.<br />
* Visual cue for selected groups (i.e., solid marquee instead of dashed)<br />
* Undo in draw mode removes last node, not the entire path, same as backspace key<br />
* Set the ruler 0, 0 coordinates by dragging a cross out of the rulers' corner / double click to set precisely, according to 0,0 index of page dimensions.<br />
* Make space bar held down transform cursor to Selector tool until spacebar is released, with any tool except Text.<br />
<br />
<HR><br />
<br />
2.) Sub-pixel resolution in drawing, is possible with XInput i think?<br />
- Again, improves drawing by hand<br />
3.) Smooth drawing, smooth over small irrelegularities from mouse/drawing board<br />
- Same as all of the above, improves drawing, makes it a whole lot more fun! :)<br />
<br />
It doesn't seem so hard to implement but it would make a huge diffrence!<br />
<br />
Aside from that, I love where Inkscape is going, the interface is great to work with and it just keeps getting better!<br />
I find myself building from CVS so I dont't miss out.<br />
<br />
GREAT WORK GUYS! :)<br />
<HR><br />
<br />
<B>Ilja writes:</B><br />
<br />
1.) Extrusion of Objects<br />
2.) Dropshadow, kind of a clone - a bit fuzzy and little shifted behind<br />
<br />
<HR><br />
<br />
<b>Daddio writes:</b><br /><br />
A couple of Small features that would help those of us a <b>lot</b> that like to draw a basic shape and then tweak it in the xml editor:<br /><br />
1) the ablility to convert the SVG coordinates in a path to <i>and from</i>relative coordinates (small case m's l's c's a's) except perhaps the initial M<br /><br />
2) the ability to truncate <i>(or even better, round)</i> the SVG coordinates to 1, 2 or zero (etc) decimal places.<br /><br />
3) Set a decimal place limit so the generated SVG will stay within that limit. I don't usually need or want 0.0006 precision!<br /><br /><br />
<br />
<p><strong>fantasai</strong> seconds these and suggests a way of saving as Plain SVG with metadata, since<br />
things like the title, author, and license terms -- which are applicable to published images but not so<br />
much to in-process drafts -- shouldn't be thrown out with the "last used zoom level" data, which are just<br />
junk in a publication-ready image.</p><br />
<br />
-----<br />
<br />
Slapo writes:<br />
<br />
it would be nice to have features like obejct shadows, round corners and square gradient in Sodipodi. I think those are the things I am missing in it and other users would appreciate as well. If you need some SVG code examples, I'll e-mail it to you. <br />
<br />
-------------------------<br />
<br />
njh writes:<br />
<br />
Orthogonal lines best-fit to a pen path would be useful for quickly sketching diagrams.<br />
<br />
-------------------------<br />
-Scribus is a DTP coded in C++ (but with Qt). it can work with Python Script.<br />
May be have a look at this could help doing the same in Inkscape.<br />
-If the later can be done, this will help eventually include some of good<br />
Sketch<br />
(written in Python) possibilities in Inkscape.<br />
- Also Scribus has good [[NodeTool]], and good text tool featuring textbox (frame)<br />
or text on a path.<br />
<br />
cheers<br />
Cédric<br />
<br />
-------------------------<br />
plugins for ways to warp and bend things<br />
-------------------------<br />
<br />
What I can expect from this project is a better integration with gnome-office.<br />
I dream for a really integrated gnome-office with a lot of code sharing via libraries. <br />
For example, a vectorial drawing soft has lot of things in common with glabels, [[AbiShow]], etc ... <br />
We have a lot to learn from Koffice in this respect. <br />
<br />
So please create a fully capable [[GtkVectDraw]] library !<br />
-------------------------<br />
''Emphasis on a small core plus modular extensions for features (a la Mozilla Firebird)''<br />
<br />
But *please* maintain a plugin-pack, and ship it with Inkscape. The way Firebird works sucks. Firebird has poor tab-implementation, and there are >10 extensions that try to improve it, while only 1 good version is needed. The list with extensions is chaos, don't let it be so with Inkscape...<br />
<br />
-------------------------<br />
If you want to add new features, think about layers a la gimp. Sketch uses them and it's very convenient. <br />
<br />
: In a vector drawing program, what would be the actual difference between a "layer" and a "group"? -- kaj<br />
<br />
Ease of use mostly. If you have a complicated drawing, layers are very usefull to organize your work, move them up or down, make them invisible, apply layer transformations, etcetera. Groups could be used in theory to make a Gimp-like layer toolbox, but its not very practical.<br />
<br />
If, for example, you have an image with layers and want to save it to SVG, you just export it whilst flattening the layers, just like you export a PNG from the Gimp today.<br />
<br />
I'm I alone in thinking that a Vectorbased drawing program, with the interface built like the Gimp 1.3 series, would be very wanted and usefull? Similar to how Adobe's Photoshop and Illustrator have a similar GUI concept?<br />
-- anonymous<br />
<br />
: I disagree... all they need is a little widget that shows all the groups as a tree of layers. And if you group, two groups, : you'd create a new layer, with the two original groups/layers as a child of the new layer.... <br />
: voila, best of all worlds. <br />
This behaviour of hierarchycal tree of objects, calling the highest hierarchycal level the 'layers' level, and the other hierarchical levels called 'groups' or 'subgroups'. It would be good some layer/group operations like changing the visibility of the hole layer/group, being capable of selecting on subelement, working with the hole layer or with a group or with an element. With all these behaviour and a hierarchical tree to work with it, it would resemble the Adobe Illustrator object model that (I think) is the most powerfull and flexible one.<br />
<br />
<br />
I asked a very similar question about why use layers to the Dia project and here is one of the responses <br />
<br />
The ability to be able to easily hide, move and remove layers is certainly a factor that could be mitigated by a more powerful tree view of the document but at the very least there are users who find it convenient so no vector program should remove Layers without adding a bettter alternative <br />
<br />
http://www.mail-archive.com/dia-list@gnome.org/msg05072.html<br />
<br />
---------------<br />
<br />
The below is in regards to Sodipodi 0.32:<br />
<br />
2. The XML viewer doesn't appear to allow selecting multiple items.<br />
Often times I want to makes changes to many items at once and sometimes<br />
I'll be working in the XML viewer. Since this was the only way I could<br />
figure out how to select individual items in a group it seems completely<br />
impossible to select several items in a group.<br />
<br />
Some notes on feel:<br />
<br />
4. The mouse event system feels a bit wonky. For example, if I take a<br />
fairly complex design which can be a little bit sluggish when editing and<br />
<br />
make adjustments to a path node the cursor doesn't release as soon as I<br />
let go of the mouse button. So when I'm working quickly what happens is I<br />
tweak a node, let go of the mouse button, then move the mouse and it keeps<br />
adjusting the node even though I'm not holding the button. This slows me<br />
down considerably because I have to wait after letting go of the mouse<br />
button each time. It also does this when scrolling the main view using<br />
the middle mouse button. I'll scroll the view over, let go of the mouse<br />
button, then when I move the mouse the view still scrolls for a second or<br />
two. Very annoying. :)<br />
<br />
<br />
Feature "wants":<br />
<br />
<br />
9. More powerful selection commands. Some examples (from Illustrator):<br />
<br />
Select by fill color<br />
Select by same stroke and fill<br />
etc...<br />
<br />
<br />
11. More and user defined hot-keys. Can I set any command/mode to a<br />
hot-key?<br />
<br />
<br />
-------------------------<br />
I noticed that gimp does a cool hack today, they use an image thumbnail of the drawing as the window manager icon for the drawing window, you should do that with inkscape too<br />
and it is actually usefull, consider I have fix inkscape windows with different flags, with this hack I will be able to identify each window in the tasklist and don't have to search so much<br />
<br />
Also, I really wish inkscape where session aware like gedit, so that when I asks nautilus to open a new image it does so in the existing inkscape session instead of starting a new instance<br />
<br />
http://bugzilla.gnome.org/show_bug.cgi?id=107668 - the discussion in that bug report might be of interest to you guys too. the participants are Dom (librsvg), Owen and the Gimp guys<br />
<br />
-- Uraeus<br />
<br />
<br />
------<br />
<br />
when given a nonexisting file name on the command line, create that file (with an error report too)<br />
<br />
------<br />
<br />
Ability to export to uncompressed TIFF.<br />
<br />
------<br />
<br />
Add multi-page support, default layouts for all pages, etc.<br />
<br />
------<br />
<br />
<br />
Ability to import Dia objects. <br />
Restricted Inkscape mode to work like Dia. There's nothing that Dia can do that is not possible to<br />
do in Inkscape. <br />
<br />
------<br />
<br />
However you gave me an idea: I can store past viewport not only before I do zoom, but also after that; later, when a next zoom is started, I will compare the current viewport with the last stored and, if it's the same, not store it. This way I will be adding one viewport record if there was no panning between zooms and two records if there was panning, these records storing the first and last viewports at this zoom. I think it will be a bit more convenient this way. <br />
<br />
:Well, what I had in mind is that viewport undo steps would be separated by editing operations -- so e.g. consecutive pans/zooms with no edits in between them would be coalesced into a single zoom undo step.<br />
<br />
-------<br />
<br />
Exporting vectors as swf files. While this is probably not on the top of everyone's wishlist, it would make inkscape the tool of choice for editing shapes for flash, which is an area where the flash editor does a horrible job. Flash import capabilities for vectors are also very limited, making AI a requirement in order to convert between flash and svg.<br />
<br />
Given that svg is going to be replacing flash very (very) soon, a flash import capability would also make life easier for a lot of people...<br />
<br />
Ming library: [[http://ming.sourceforge.net/]]<br />
[[Svg2Swf]] python script (uses Ming): [[http://www.eskimo.com/~robla/svg2swf/]]<br />
<br />
-------<br />
<br />
Add support for mouse gestures.<br />
I have used the Mentor Graphics CAD tools for editing<br />
schematics and PCB layouts, and the built-in support for mouse<br />
<br />
gesture has helped the productivity a lot. Granted CAD drawing<br />
is not exactly vector drawing, but it is not too far apart.<br />
There is a library libstroke that provides gestures support,<br />
but I don't have any idea how usable that would be for inkscape.<br />
<br />
-------<br />
<br />
Find dialog: collapsable panes: Size & Position (X, Y, W, H; tolerance), Attribute (Name, Value). Pasting in the id, style, size/position fields (add buttons for pasting?) pastes the id, style, size/position of the object on clipboard. Add a regexp checkbox, when it's on matches are always exact but with a regexp matcher. Checkboxes: limit search to selection, (later) to current layer, possibly in (in)visible or (in)sensitive only.<br />
<br />
-------<br />
<br />
Plan for fill&stroke:<br />
<br />
* add fill opacity/stroke opacity sliders common to all fill/stroke types (gradients, patterns, color)<br />
<br />
* maybe separate it into Color and Stroke dialogs<br />
<br />
* change gradient display/controls to match those of the toolbar!<br />
<br />
<br />
---------<br />
<br />
A new "transform with selection" toggle: font (see [[FontKerning]], toggle between [0 or 1, depending on optimize/preserve] and 2).<br />
<br />
----------<br />
Filter to import Corel Draw Files and Adobe Illustrator Files<br />
(very important at my opinion)<br />
<br />
:Probabbly to dificult to do well, just export to svg<br />
<br />
----------<br />
<br />
On export to Postscript, special-case treatment of text/fonts so that, instead of outputting each instance of a character as a separate set of coordinates, output the definition of the character once, and then use it (with matrix transforms) for each instance of that character.<br />
<br />
On export to Postscript, allow for specifying use of fonts-and-text (particularly useful when planning to create PDFs).<br />
<br />
On export to Postscript a) warn about transparencies, b) attempt to automatically correct for transparencies by i) converting underlying fragments to transformed values (complex) or ii) embed a bitmap-based fill. Possibly allowing optional choice of approach.<br />
<br />
Possibly provide a direct-to-PDF export as well?<br />
<br />
Possibly allow for a UI mechanism that lets any code in the system define a selection set of objects, displaying their IDs in a floating dialog. Clicking on the IDs would select the object. The postscript export warning about transparent objects, then, would be able to return with a selection set through which the user could iterate in order to fix each transparent object.<br />
<br />
Provide a saving option which gathers the fonts used by the SVG file (as well as any other externally referenced files) for transfer to another machine. Preferably stored in a zip or similar mechanism so that they're easy to share. This is basically a "collect resources" feature.<br />
<br />
----------<br />
<br />
Provide a print-preview, print-settings, page-setup style printing framework (a-la Corel, Adobe, etceteras).<br />
<br />
----------<br />
<br />
On right-click menu selection of a dialog (fill and stroke, or object properties, for instance), set focus to the dialog selected to avoid the need for a mouse-seek-and-click to do the set-focus.</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6047Release notes/0.442006-03-20T03:15:45Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using <b>clipping paths and masks</b>. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
** <b>To apply clipping</b>, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do <i>Object > Clip > Set</i>.<br />
** You can <b>transform, edit, or style</b> the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
** To <b>remove the clipping</b>, do <i>Object > Clip > Release</i>. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
** To <b>apply a mask</b>, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do <i>Object > Mask > Set</i>.<br />
** You can <b>transform, edit, or style</b> the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
** To <b>remove the masking</b>, do <i>Object > Mask > Release</i>. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
** Clippaths without fill didn't work, this is now fixed.<br />
** Objects with clippaths or masks are correctly copied/pasted between documents.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* [automatic diagram layout]<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* For multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
<!-- * '''Mouse cursors''' are are coloured, and antialiased. --><br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6046Release notes/0.442006-03-20T02:37:07Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
Inkscape now provides some UI for using clipping paths and masks. <br />
<br />
* Any object can be non-destructively intersected with a path (called a <i>clipping path</i>) so that only the intersected portion of the object is visible. <br />
<br />
** To apply clipping, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do Object > Clip > Set.<br />
<br />
** You can transform, edit, or style the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.<br />
<br />
** To remove the clipping, do Object > Clip > Release. If this was the only object using this clipping path [fixme], the clipping path is returned to the drawing as a regular object. <br />
<br />
* Any object can be non-destructively masked by another object (called <i>mask</i>) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.<br />
<br />
** To apply a mask, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do Object > Mask > Set.<br />
<br />
** You can transform, edit, or style the masked objects as usual. The mask remains applied and transforms together with each masked object.<br />
<br />
** To remove the masking, do Object > Mask > Release. If this was the only object using this mask [fixme], the mask is returned to the drawing as a regular object. <br />
<br />
* Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
* Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.<br />
<br />
** Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
<br />
** Clippaths without fill didn't work, this is now fixed.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* [automatic diagram layout]<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* For multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Theme ==<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
<!-- * '''Mouse cursors''' are are coloured, and antialiased. --><br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.<br />
<br />
* There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #[https://sourceforge.net/tracker/?func=detail&atid=604306&aid=1352522&group_id=93438 1352522] for further details). This should be fixed, although the fix has not been widely tested.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6036Release notes/0.442006-03-17T22:13:13Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
* [ui]<br />
<br />
* Bugfix: Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
<br />
* Objects with clippath show the clipped bounding box, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* [automatic diagram layout]<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* For multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6035Release notes/0.442006-03-17T22:09:22Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
* [ui]<br />
<br />
* Bugfix: Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
<br />
* Objects with clippath show the clipped bounding box, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* [automatic diagram layout]<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* For multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] <br />
<br />
* The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6034Release notes/0.442006-03-17T22:07:08Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
* [ui]<br />
<br />
* Bugfix: Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
<br />
* Objects with clippath show the clipped bounding box, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* [automatic diagram layout]<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* For multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
::<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
:instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:<br />
<br />
::<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
:If there are 4 or more types in selection, only the number of types is reported, for example:<br />
<br />
::<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] Also, the status bar text is now no longer just cut off if there is no room but, at the end position, ellipses (...) are inserted to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6033Release notes/0.442006-03-17T22:04:55Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
* [ui]<br />
<br />
* Bugfix: Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
<br />
* Objects with clippath show the clipped bounding box, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* [automatic diagram layout]<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Statusbar ==<br />
<br />
* For multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays<br />
<br />
:<b>5</b> objects of type <b>Group</b> in layer <b>LayerName</b>.<br />
<br />
instead of just "5 objectst selected" as before. If there are up to 3 types in selection, they will be listed, for example:<br />
<br />
:<b>5</b> objects of types <b>Group</b>, <b>Path</b>, <b>Rectangle</b> in layer <b>LayerName</b>.<br />
<br />
For greater number of types, only the number of types is reported, for example:<br />
<br />
:<b>5</b> objects of <b>4</b> types in layer <b>LayerName</b>.<br />
<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.] Also, the status bar text is now no longer just cut off if there is no room but, at the end position, ellipses (...) are inserted to show there's more (only with Gtk 2.6 and newer).<br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6032Release notes/0.442006-03-17T17:39:42Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
* [ui]<br />
<br />
* Bugfix: Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
<br />
* Objects with clippath show the clipped bounding box, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* [automatic diagram layout]<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip <b></b> from the tooltips.] Also, the status bar text is now no longer just cut off if there is no room but, at the end position, ellipses (...) are inserted to show there's more (only with Gtk 2.6 and newer).<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6030Release notes/0.442006-03-17T06:32:29Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
* [ui]<br />
<br />
* Bugfix: Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.<br />
<br />
* Objects with clippath show the clipped bounding box, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* Clipped or masked objects display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* [xfig]<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip <b></b> from the tooltips.] Also, the status bar text is now no longer just cut off if there is no room but, at the end position, ellipses (...) are inserted to show there's more (only with Gtk 2.6 and newer).<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6029Release notes/0.442006-03-17T02:08:08Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Clipping and masking ==<br />
<br />
* [ui]<br />
<br />
* [bugfixes]<br />
<br />
* Clipped or masked objects now display "<i>clipped</i>" or "<i>masked</i>", correspondingly, in their statusbar descriptions.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New output formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Miscellaneous improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip <b></b> from the tooltips.] Also, the status bar text is now no longer just cut off if there is no room but, at the end position, ellipses (...) are inserted to show there's more (only with Gtk 2.6 and newer).<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* Objects with clippath show the correct clipped bounding box, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Miscellaneous bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6027Release notes/0.442006-03-16T05:06:58Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== New output formats ==<br />
<br />
* [save zip with images - acspike?]<br />
<br />
* An output format for <b>desktop cutting plotters</b>, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
<br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Mouse and keyboard ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* [pen tool keys - bb]<br />
<br />
== Menus ==<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to use more intuitive names. <br />
<br />
== Misc improvements ==<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip <b></b> from the tooltips.] Also, the status bar text is now no longer just cut off if there is no room but, at the end position, ellipses (...) are inserted to show there's more (only with Gtk 2.6 and newer).<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* The Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles). <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* Objects with clippath show the correct clipped bounding box, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== Important bugfixes ==<br />
<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6026Release notes/0.442006-03-16T04:54:49Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector controls bar.<br />
<br />
== Sublayers ==<br />
<br />
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.<br />
<br />
* The <b>Add layer</b> dialog allows you to place the new layer above, below, or inside the current layer.<br />
<br />
* [keyboard selection "with sublayers" option]<br />
<br />
== Misc improvements ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior.<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip <b></b> from the tooltips.] Also, the status bar text is now no longer just cut off if there is no room but, at the end position, ellipses (...) are inserted to show there's more (only with Gtk 2.6 and newer).<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* [pen tool keys - bb]<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now scaling rounded rectangle corners with the rectangles. <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* Objects with clippath show the correct clipped bounding box, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to more intuitive names. <br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [save zip with images - acspike?]<br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* Added and output format for Destop Cutting Plotters, like the Wishblade and Craftrobo. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
<br />
== Important bugfixes ==<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6022Release notes/0.442006-03-15T22:01:01Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* The buffer around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector toolbar.<br />
<br />
== Important bugfixes ==<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
== Misc improvements ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior.<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip <b></b> from the tooltips.] Also, the status bar text is now no longer just cut off if there is no room but, at the end position, ellipses (...) are inserted to show there's more (only with Gtk 2.6 and newer).<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* [pen tool keys - bb]<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now scaling rounded rectangle corners with the rectangles. <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* Objects with clippath show the correct clipped bounding box, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* The contents of the <b>Effects menu</b> are categorized into submenus, and several effects are renamed to more intuitive names. <br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [save zip with images - acspike?]<br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* Added and output format for Destop Cutting Plotters, like the Wishblade and Craftrobo. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bbhttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/0.44&diff=6021Release notes/0.442006-03-15T21:19:27Z<p>Bb: </p>
<hr />
<div>= Inkscape 0.44 =<br />
<br />
== In brief ==<br />
<br />
Bigger and better.<br />
<br />
<br />
== Outline mode ==<br />
<br />
An Outline ("wireframe") display mode is implemented. Use the <i>View > Display Mode > Outline</i> to activate it. In this mode:<br />
<br />
* all paths and shapes are rendered as <b>inverse</b> (black on light background and vice versa) <b>outlines</b> of constant width (1 screen pixel regardless of zoom), without fill;<br />
<br />
* text is painted by inverse fill, without stroke; <br />
<br />
* bitmaps are shown as is;<br />
<br />
* any opacity and gradients are ignored.<br />
<br />
The outline mode is usually not drastically faster than regular mode (usually 10% to 50% faster), and in some special cases it may even be slower. However, the value of the outline mode is not only in its speed; it is a good way to get an idea of the structure and objects of your document, and it is convenient for precision node editing and for finding "stray objects". <br />
<br />
== Selected style indicator ==<br />
<br />
A new control in the left end of the statusbar lets you quickly view and change the <b>fill and stroke of the selected objects</b>. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&amp;Stroke dialog.)<br />
<br />
* The two indicators, labelled <b>F:</b> (top) and <b>S:</b> (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)<br />
<br />
* Each fill/stroke indicator can display either a <b>color+opacity swatch</b> (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying <b>N/A</b> (nothing selected), <b>None</b> (no fill/stroke), <b>Unset</b> (unset fill/stroke), <b>L Gradient</b>, <b>R Gradient</b>, <b>Pattern</b> (corresponding fill/stroke types), or <b>Different</b> (selected objects have different fill/stroke types).<br />
<br />
* Additionally, each indicator may be accompanied by one of two flags, <b>m</b> ("multiple", meaning there are two or more objects all with the same fill/stroke) or <b>a</b> ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).<br />
<br />
* <b>Left-click</b> on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.<br />
<br />
* <b>Right-click</b> on an indicator opens a popup menu with the following items:<br />
** <b>Edit fill/stroke...</b>: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)<br />
** <b>Last set color</b>: Applies to the selected objects the fill/stroke color that was last applied to anythig.<br />
** <b>Last selected color</b>: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)<br />
** <b>Invert</b>: Sets the fill or stroke to the inverse of the current color (does not affect opacity).<br />
** <b>White</b>, <b>Black</b>: Sets the fill or stroke to the corresponding color (fully opaque).<br />
** <b>Copy color</b>, <b>Paste color</b>: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the <code>#rrggbb</code> hex format.<br />
** <b>Swap fill and stroke</b>: Exchanges fill and stroke (both their types and colors, if any). <br />
** <b>Make fill/stroke opaque</b>: Removes fill or stroke transparency (not master transparency!).<br />
** <b>Unset fill/stroke</b>: Unsets fill or stroke from selected objects.<br />
** <b>Remove fill/stroke</b>: Removes fill or stroke from the selected objects.<br />
<br />
* <b>Middle-click</b> on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.<br />
<br />
* The Stroke indicator also displays the <b>stroke width</b> of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.<br />
<br />
* To the right of the fill/stroke indicators, the <b>Opacity</b> numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). <b>Right-clicking </b> the numeric field opens a popup menu with preset opacity levels. <b>Middle-clicking</b> on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).<br />
<br />
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.<br />
<br />
== Color palette ==<br />
<br />
[joncruz]<br />
<br />
<br />
== Transform dialog ==<br />
<br />
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):<br />
<br />
* The <b>Apply to each object separately</b> checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).<br />
<br />
* The <b>Clear</b> button resets the values on the current tab to defaults.<br />
<br />
* The <b>Scale</b> tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a <b>Scale proportionally</b> checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)<br />
<br />
* The <b>Skew</b> tab can now specify the skew as an <b>absolute displacement</b> (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as <b>percentage displacement</b> (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an <b>angle</b> (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).<br />
<br />
* The <b>Matrix</b> tab (previously called "Transform") can either edit the current <code>transform=</code> matrix of an object, or post-multiply the <code>transform=</code> with the matrix you specify, depending on the <b>Edit current matrix</b> checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)<br />
<br />
* The dialog now correctly <b>watches selection changes</b> in the active document window and updates its values accordingly.<br />
<br />
* The layout of the dialog is simplified, tooltips and mnemonics added for better usability.<br />
<br />
* Many bugs are fixed, especially in value conversions between units.<br />
<br />
== Remembering the rotation center ==<br />
<br />
* The position of the center (axis) of rotation and skewing used by Selector is now <b>remembered</b> for all objects and is restored when you select those objects again (even after save and reload). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same.<br />
<br />
* When you have several objects selected, they use the rotation focus of the <b>first selected object</b>. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the center of their common bounding box.<br />
<br />
* <b>Shift+click</b> on the rotation center resets it back to the center of the object's box.<br />
<br />
* Consequently, dragging the transformation center is now an undoable action; you can press Ctrl+Z to undo the drag.<br />
<br />
[TODO: <br />
<br />
- make use of this in keyboard transforms and Transform dialog; <br />
<br />
- make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set<br />
<br />
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position<br />
<br />
- make center snap to grid/guides/objects and to other centers<br />
<br />
- make objects snap with their center to grid/guides/objects]<br />
<br />
== Align &amp; Distribute dialog: remove overlaps ==<br />
<br />
* There is a new button to move the selected objects enough that they don't overlap each other.<br />
This should be a significant addition to Inkscape's usability for diagramming.<br />
<br />
[Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons.]<br />
<br />
== Document Properties / Metadata dialogs ==<br />
<br />
* The Document Preferences dialog is now named <b>Document Properties</b>, and it was split in two: metadata were extracted into the <b>Document Metadata</b> dialog; metadata widgets are now also spread over two pages.<br />
<br />
* New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance.<br />
<br />
* Rearrangements within Document Properties: everything snapping related was collected on one page; Grid and Guide widgets are on their own, the same page. Due to HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.<br />
<br />
* Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license uri; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.<br />
<br />
* HIG compliance: much work went into, and now only a few details are missing from full Gnome-HIG compliance.<br />
<br />
== Keyboard profiles ==<br />
<br />
[mental]<br />
<br />
== Path effects ==<br />
<br />
[acspike]<br />
<br />
== Snapping ==<br />
<br />
* [object snap - carl]<br />
<br />
* [highlight - mtou]<br />
<br />
* [only to visible gridlines - mtou]<br />
<br />
* <b>Guidelines</b> are made easier to pick: now you don't need to position mouse <i>exactly</i> over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).<br />
<br />
== Connectors ==<br />
<br />
* The buffer around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the Connector toolbar.<br />
<br />
== Important bugfixes ==<br />
* inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.<br />
<br />
* <b>Scaling of objects with stroke</b> in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.<br />
<br />
* Bounding box for text objects did not include stroke width.<br />
<br />
* Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel). <br />
<br />
* [win32 font backend - cyreve]<br />
<br />
* Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.<br />
<br />
* An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.<br />
<br />
* Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out. <br />
<br />
* The SVG path parser could not handle fractional numbers with the initial dot. <br />
<br />
* Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.<br />
<br />
* Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.<br />
<br />
* Scaling of stroke didn't work for objects that didn't specify stroke-width and thus had the default 1px stroke.<br />
<br />
* Inkscape no longer crashes when presented with a defect inx file for extensions.<br />
<br />
* There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed. <br />
<br />
* The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.<br />
<br />
== Misc improvements ==<br />
<br />
* Now you can use <b>Shift+middle button drag</b> in any tool to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with <b>middle button drag</b> (panning), <b>middle button click</b> (zoom in) and <b>Shift+middle button click</b> (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.<br />
<br />
* <b>Document templates</b> (listed in <i>File &gt; New</i>) are now first searched in the <code>templates</code> subdirectory of the user's profile directory (on Linux it's <code>~/.inkscape/templates</code>), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (the <code>default.svg</code> in the profile directory has priority over the system-wide one).<br />
<br />
* In Gradient tool, <b>Shift+R reverses the gradient definition</b> (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.<br />
<br />
* When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior.<br />
<br />
* Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.<br />
<br />
* The contents of the <b>statusbar message</b> are now duplicated as a <b>tooltip</b> that is shown when you hover the mouse over the statusbar. [TODO: need to strip <b></b> from the tooltips.] Also, the status bar text is now no longer just cut off if there is no room but, at the end position, ellipses (...) are inserted to show there's more (only with Gtk 2.6 and newer).<br />
<br />
* Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.<br />
<br />
* By popular demand, <b>in Pen tool</b>, if a new path is being drawn but not yet finished, <b>Ctrl+Z cancels</b> that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.<br />
<br />
* In Pen tool, <b>Del</b> works the same as Backspace to delete the last created point on the unfinished path.<br />
<br />
* In Node tool, the <b>!</b> key <b>inverts node selection</b> in the current subpath(s) (i.e. subpaths with at least one selected node); <b>Alt+!</b> inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)<br />
<br />
* The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to <b>Shift+U</b> for better mnemonics.<br />
<br />
* In Calligraphic tool, <b>Esc</b> deselects as in most other tools.<br />
<br />
* In Selector, <b>Ctrl+Enter</b> enters the selected group (making it a temporary layer). <b>Ctrl+Backspace</b> leaves the current layer and goes one layer up in the hierarchy (but not to root).<br />
<br />
* In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.<br />
<br />
* Simplify threshold in Inkscape Preferences can now be set with more precision.<br />
<br />
* [pen tool keys - bb]<br />
<br />
* In the Grid Arrange dialog, row/column spacing can now be negative. <br />
<br />
* The installation default is now scaling rounded rectangle corners with the rectangles. <br />
<br />
* The <code>--query-*</code> command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.<br />
<br />
* Individual <b>&lt;tspan&gt;s</b> within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the <code>--query-*</code> command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)<br />
<br />
* Objects with clippath show the correct clipped bounding box, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)<br />
<br />
* The contents of the Effects menu are categorized into submenus, and several effects are renamed to more intuitive names. <br />
<br />
* The placeholder image which is shown when a bitmap file was no longer accessible reads now "<b>Linked image not found</b>" instead of the confusing "Broken image".<br />
<br />
* <b>Cloning multiple selected objects</b> now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object. <br />
<br />
* [save zip with images - acspike?]<br />
<br />
* [about dialog redesign - mental]<br />
<br />
* [icons prerendering - joncruz, mental]<br />
<br />
* [extensions on windows - ishmal]<br />
<br />
* Inkscape has a <b>new default icon set</b> titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.<br />
<br />
* [python extensions to work out of the box on windows? - ishmal]<br />
<br />
* [new cursors - scislac]<br />
<br />
* Added and output format for Destop Cutting Plotters, like the Wishblade and Craftrobo. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.<br />
<br />
* In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.<br />
<br />
== SVG Output ==<br />
<br />
* <b>Colors</b> are now expressed by name (‘white’) or three-digit form (‘<tt>#f3c</tt>’) when possible.<br />
<br />
== Speed ==<br />
<br />
* Thanks to optimizations in the renderer, Inkscape's screen redraw is <b>faster by at least 10%</b>, and in some cases (such as complex stroked/dashed paths at high zooms) <b>up to three times faster</b>. <br />
* An optimization in the attribute setting method made operations such as moving objects on the canvas at least <b>30% faster</b> compared to 0.43. This is especially noticeable when you are moving clones selected together with their original (e.g. a clone tiling), in which case Inkscape now works <b>three to four times faster</b>.<br />
<br />
== Translations ==<br />
<br />
* INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.<br />
<br />
== Internal ==<br />
<br />
* The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.<br />
<br />
* Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!<br />
<br />
== Known problems ==<br />
<br />
=== Beware: defect themes on Linux ===<br />
<br />
* Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)<br />
* A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.<br />
<br />
== Previous releases ==<br />
<br />
* ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)<br />
* ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)<br />
* ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)<br />
* ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)<br />
* ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)<br />
* ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)<br />
* ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)<br />
* ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)<br />
* ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)</div>Bb