NEWS revision 6b15695578f07a3f72c4c9475c1a261a3021472a
Release Notes
Inkscape 0.43
In brief
The focus of this release is on the exciting new features sponsored by
Google via their Summer of Code program. However, we have quite a bunch of
other stuff too. Here are the highlights:
* Connectors: A new Connector tool implements creation, editing, and
autorouting (object-avoiding) of connector lines between objects.
Indispensable for diagramming. (A Google SoC project.)
* Inkboard collaborative editing: You can now connect to other Inkscape
users over the Net and edit a shared document together, watching
others' changes and making yours! (A Google SoC project.)
* Pressure and tilt sensitivity: the Calligraphy tool can now use a
tablet pen with pressure/tilt support to vary the width and angle of
the calligraphic stroke.
* Better node editing: You can freely drag/bend/stretch a Bezier curve
by any point (not only by a node), as well as add a new node at any
point on the curve.
* New extensions for envelope distortion, whirling, and adding nodes.
* Improved precision, expanded limits, many usability improvements and
bugfixes.
Tavmjong Bah has updated his online book, A Guide to Inkscape
(http://tavmjong.free.fr/INKSCAPE/MANUAL/html/index.php), to cover
the Inkscape 0.43 features. This guide is not included with the Inkscape
release. Users are encouraged to read the guide in addition to these
release notes and the help included with Inkscape.
Connectors
* Inkscape now includes preliminary support for connectors. Connectors
are lines drawn between objects, that stay connected to the objects as
these objects are manipulated. Any object may have a "connector-avoid"
property, which, when set, causes connectors to automatically route
around the object.
* The Connector tool (Ctrl+F2 or the o key) is a new way of creating and
rerouting connectors, as well as marking objects "avoided" for the
purpose of routing connectors.
* A new connector can be drawn by clicking and dragging from any
point on the canvas. The connector is finalized when the mouse is
released. Connectors can also be created with two clicks, rather
than click-and-drag, if this is preferred. In this case, click once
on an empty point on the canvas to begin drawing the connector,
then move the mouse to the new connector's target point and then
click again to finalize the connector. Single clicking on a canvas
object selects/deselects that object, just as in other tools.
* Connection point handles are shown while the mouse cursor is
hovering over a non-connector object in the connector tool.
Currently they are shown only at the center of objects. When
creating a connector, if the connector is started or ended over a
connection point then the connector will be attached to that
object. From then on the connector will be automatically rerouted
whenever the attached object is moved.
* Connectors attached to objects are currently drawn to the bounding
box of those objects. It is planned that they will be drawn instead
to the edges of objects.
* A selected connector will show two endpoint handles. By clicking
and dragging these, the connector can be rerouted and
attached/detached from objects.
* The Make connectors avoid selected objects button marks all objects
in the selection as "avoided", causing all current and future
connectors to automatically avoid these objects.
* The Make connectors ignore selected objects button marks all
objects in the selection as "ignored", causing all current and
future connectors to completely ignore these objects. This is the
default for all canvas items, i.e., no objects are automatically
routed around by default.
Inkboard
A first release of the Inkboard collaborative editing system (also known
as a "white board") is present in this version of Inkscape.
* Inkboard must be enabled at compile time by passing --enable-inkboard
to the configure script: Inkboard has known bugs, and may present
security issues.
* Inkboard uses the XMPP (http://www.xmpp.org/) protocol (used by Jabber
(http://www.jabber.org/)) to link together Inkscape clients in a
shared document session. Therefore, if you have a Jabber account, you
can use Inkboard. (There are some exceptions, which are listed below
in the "Known issues" section.) Inkboard uses the Loudmouth
(http://loudmouth.imendio.org/) library for Jabber connectivity;
versions 0.17.2 and above of the Loudmouth library are known to work.
* Inkboard sessions may occur between two users or a group of users in a
chatroom setting.
Inkboard usage
* You must first connect to a Jabber server before sharing a document.
To do this, go to Whiteboard -> Connect to Jabber server. You will be
prompted to enter a server name, your username, and password. You may
specify a specific port to connect on, and whether or not you would
like to connect via SSL.
* After connecting, you may establish a session with another user or a
chatroom. To connect to another user, go to Whiteboard -> Share with
user. Inkboard can import your Jabber contact list, and will present a
list of online contacts to you. You may select any contact in the
contact list, or enter a Jabber ID to connect to.
* Similarly, you can establish a connection with a chatroom by going to
Whiteboard -> Share with chatroom.
* If you are contacted by another user, Inkscape will present a dialog
telling you that you have received an invitation. The dialog contains
the Jabber ID of the user contacting you, and offers you three
choices: decline the invitation, accept the invitation, or accept the
invitation in a new window.
* Inkboard can record a session's contents for playback at a later time.
* If you are establishing a session, click the Write session file
checkbox in the share with user dialog to enable session
recording. You will need to provide the name of a file to which
the session contents can be written.
* If you are accepting a session invitation, click the Write
session file checkbox in the invitation dialog to enable session
recording. You will need to provide the name of a file to which
the session contents can be written.
* To play back a session, go to Whiteboard -> Open session file.
* The Whiteboard -> Dump XML tracker menu item is intended for debugging
purposes only.
Pressure and tilt sensitivity
Support for extended input devices has been added.
* The Calligraphy tool now has optional pressure and tilt support from
an input device such as a tablet. Pressure can be used to alter the
width of the pen and tilt can be used to alter the angle of the pen's
nib.
* A standard input device dialog has been added (in File menu). Input
device settings are saved to and loaded from the preferences.
Node tool
* Clicking on a selected path selects the two nodes closest to the click
point. Shift+click adds or removes these two nodes to the node
selection (when only one path is selected; otherwise Shift+click works
as in Selector).
* Double click or Ctrl+Alt+click anywhere on the selected path (even if
it is under other objects) creates a new node at the click point,
without changing the shape of the path. (Previously, you could only
add a node in the middle of a segment by using a toolbar button.)
* You can now edit the selected path (even if it's under other objects)
by dragging any curve point, not only node(s) as before. In many cases
it's a much more convenient way to reshape paths than anything
available before. When you drag a curve close enough to one of the
nodes, only that node's handle(s) are affected; if you drag a point
midway between two nodes, both nodes' handles are adjusted.
* When mouse is over a draggable path, the cursor is changed to
include a hand.
* As in Selector, if you press Shift before starting to drag, you always
get a node selection rubberband rectangle (even if you start on a path
but not a node!).
* After duplicating (Shift+D) an endnode, the selected node is always
the new endnode, so you can move it at once.
* Selected nodes are displayed a little larger than non-selected ones.
Extensions
* Add Nodes: Adds nodes to the selected paths. Each segment of the
selected path is subdivided into ceil(Length/Max) equal length
segments. Lengths are measured in SVG User Units calculated from the
path data and does not take into account any transforms.
* Whirl: Twists the selected paths around the specified center point.
* Summer's Night: Linearly distorts a path into the destination
quadrilateral. The destination quadrilateral is specified by a four
node path (closed or not). To use, draw and position a four node path.
Select the four node path first and then add to selection the path you
wish to distort. The original position of the four nodes is considered
to be clockwise around the bounding box of the path to distort
beginning in the upper left corner.
* The Wavy extension is renamed to Function Plotter and got many fixes
and improvements. Importantly, now you don't have to provide an
analytic formula for the derivative; instead, check the "Calculate the
first derivative numerically" checkbox and it will itself calculate
the angle at each node. In the function/derivative formulas, you can
use functions from the math (http://docs.python.org/lib/module-math.html)
and random (http://docs.python.org/lib/module-random.html) Python
modules. As before, you need to have a rectangle selected before calling
this extension.
* Development continues on SVGSlice but it has not yet been fully
integrated into Inkscape. Please visit Digital Unleashed
(http://www.digitalunleashed.com/giving.php) for details and downloads.
More new functionality
* A separate project, the Open Clip Art Library Browser provides an easy
way to browse local and remote clipart collections and insert clipart
into Inkscape. Please visit
http://www.python.org/pypi/clipartbrowser/0.41 for details and
downloads. (A Google SoC project.)
* A separate utility has been developed to convert between DXF and SVG
formats. Please visit http://sourceforge.net/projects/dxf-svg-convert
for details and downloads. (A Google SoC project.)
* Improved support for viewBox: If the root <svg> element of your
document has width/height attributes set in percentage units and
there's a viewBox on that element, then:
* The canvas size is set to the value of the viewBox attribute.
* Changing the canvas size in Document Preferences sets the
viewBox, without touching the width/height values.
This does not affect regular documents created in Inkscape, but
makes it easier to edit other SVG files that use viewBox.
* The new command line parameter, --export-area-snap, used with bitmap
export to snap the export area outwards to the nearest integer SVG
user unit (px) values. If you are using the default export resolution
of 90dpi and your graphics are pixel-snapped to minimize antialiasing,
this switch allows you to preserve this alignment even if you are
exporting an area (for example, with --export-id or
--export-area-drawing) which is itself not pixel-aligned.
* When saving as Postscript, you now have the option to convert or not
convert texts to paths (previously only available for EPS export).
Interface and usability
* The Icon Preview dialog has been improved. A toggle has been added to
switch between previewing the entire document or just the current
selection. A larger 128x128 size has been added to the defaults. The
sizes are now read from the preferences file and can be customized.
* Rectangles and ellipses now use different handle shapes, so it's much
easier to see which handle does what. The two square handles change
the size of the object, while the two round handles adjust the
rounding corners (in rectangles) and arc/segment ends (in ellipses).
* The controls for the Rectangle tool now include W and H fields for
setting the width/height of selected rectangle(s) numerically.
* In the controls of Rectangle and Ellipse tools, the "Not rounded" and
"Make whole" buttons are now grayed out when the selected object
cannot use the corresponding function (i.e. when a rectangle is
already not rounded and the ellipse is already whole, which are the
defaults).
* When editing text with the Text tool, the keypad + and - keys type the
corresponding characters if NumLock is on (otherwise they zoom in and
out as before). (Still does not work on Windows.)
* In the Text tool, Ctrl+Up and Ctrl+Down now move one paragraph up or
down correspondingly.
* The Calligraphic tool, in addition to the Ctrl+F6 shortcut, has a new
one-letter shortcut, `c'.
* The Pen, Pencil, and Calligraphy tools finally have mouse cursors of
their own.
* The canvas width/height fields in Document Preferences are never
grayed out. Instead, the menu of the canvas sizes scrolls itself to
"Custom" or to an appropriate standard size as you edit width/height.
* Rectangle editing handles now snap to grid/guides (snapping for other
shapes' handles is expected to come in subsequent releases).
* The pattern move handle is restricted to horizontal/vertical when Ctrl
is pressed.
* In the Selector, dragging the rotation center handle snaps to the
edges and central axes of the selection's bounding box.
* In the Pen tool, while you are drawing a path, the statusbar displays
the distance and angle of the current mouse point from the last
created node of the path. This makes it easy to create a path from the
given lengths and angles of linear segments. When you are dragging to
create a curve handle, the statusbar also displays the length and the
angle of the handle.
* A new preference option, Compass-like angle display (in the Steps
tab), allows you to have absolute angles specified in a compass
notation (0 at north, 0 to 360 range, increasing clockwise) instead of
the default trigonometric notation (0 at east, -180 to 180 range,
increasing counterclockwise). This affects the statusbar angle display
for path segments and the handles in Pen and Node tools.
* The Pen and Pencil tools now display helpful statusbar hints when the
mouse is over one of the end anchors of the selected path.
* The precision of most editable length fields is increased from 0.01 to
0.001.
* The minimum zoom is extended from 4% to 1%.
* Work has begun on menu sensitivity and configurability, but has been
disabled in the release.
Packaging, documentation, examples
* The windows installer has now a modular structure that allows the
selection of separate features such as examples, tutorials, or
translations. All options are supported for a silent installation.
* Windows packages now contain the release notes (NEWS file), authors
and translators lists, the README file, the GPL and the LGPL license
files.
* The Inkscape man page is updated with additional examples.
* The About dialog now more closely resembles the stock Gtk About
dialog. A full list of authors and translators, as well as the license
are now viewable.
Translations
* The MacOS X package now includes interface translations and reads the
user language setting, as specified in System Preferences, to use the
corresponding translation language.
* Many interface and tutorial translations have been updated.
Important bugfixes
* A systematic error when scaling objects with stroke via the Selector
controls panel (W and H fields) is fixed.
* In stroke dash patterns in CSS, comma separators were erroneously
replaced by spaces upon writing the document. For now, Inkscape will
still be capable of reading both space-separated and comma-separated
lists (for compatibility with old files), but it now always writes
correct comma-separated lists on output.
* Due to a bug, Inkscape tended to replace relative paths to embedded
images by absolute, which made them fail after moving a document to
another computer; this is fixed.
* The precision of most boolean operations and offsets is improved,
especially noticeably for small paths.
* In text on path, in some cases letters were distributed unevenly along
a curve; this is now fixed.
* Searching by text in the Find dialog (Ctrl+F) was broken, now fixed.
* Some of the stock markers were missing in the marker menus in the Fill
& Stroke dialog.
* The bounding box of a stroke with markers now includes the markers.
Internal progress
* Source documentation: the big goal is to have a brief description for
classes and most functions in every source file; this now holds for
more than 100 files of the 1350 files in the source code. The doxygen
index file now shows many useful links to external documentation and a
categorization of main directory files which should be useful for
beginners in particular.
* Removed trailing fractional zeros in SVG for cleaner and more compact
markup.
* C++ Encapsulation: the View class hierarchy has been reimplemented in
C++, after separating the widget classes from each class. The number
of dependencies on the central file desktop.h (about 100) was reduced
by half.
Known issues
Windows 95/98/ME support
* Due to issues in GTK 2.8 beyond our control this version of Inkscape
will not work on Windows 95/98/ME. Please do not send us crash reports
from those platforms. We hope to be able to resume support for these
platforms in the future, but no specific committments can be made at
this point.
Problems on Linux under KDE
* SuSE, Fedora Core 4: Inkscape and other GTK programs are known to
crash if the KDE Baghira theme and 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.
* Kubuntu: For similar reasons, Inkscape can crash on Kubuntu Breezy
when, at the same time, the gtk2-engines-smooth package is installed.
Removing it resolves the problem. Both problems also affect older
versions of Inkscape.
Pressure and tilt sensitivity
* Pressure and tilt sensitivity do not currently work on MacOS X, due to
a limitation of the MacOS X version of X11.
* There are known issues with the current version of the X.org server
not releasing events on extended devices that use pressure
sensitivity. What that translates to is you can start a stroke, but
when you lift your pen, the stroke won't end (and will just continue
when you put your pen back on the tablet). This seem to be linked to
the usage of /dev/psaux for the mouse instead of /dev/input/mouseXX,
see http://linuxwacom.sourceforge.net/index.php/howto/mouse1)
* The current version of GTK for Windows has a bug that affects tilt
sensitivity.
Inkboard
* Imported bitmaps are not transmitted to other users in a whiteboard
session.
* At present, Inkboard relies on Loudmouth
(http://loudmouth.imendio.org/) to provide Jabber connectivity,
which means that it is limited to Linux builds of Inkscape.
Inkboard is currently being redesigned to use a cross-platform
Jabber client; this redesign will be present in a future release.
* Inkboard cannot yet connect to Google Talk clients. This will be
remedied in a future release. (The reason is because it expects the
"server" portion of a Jabber ID to be the same as the server that it
contacts, which is not the case for the Google Talk network.)
* Inkboard's handling of concurrent modifications is still very rough.
Future releases will make this more robust.
See http://sourceforge.net/tracker/?group_id=93438&atid=604306 for a
full list of known issues. If you find a bug not listed here, then please
report the bug: see instructions at http://inkscape.org/report_bugs.php
(the Report Bugs link from http://inkscape.org/).
Previous releases
* ReleaseNotes042 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes042)
* ReleaseNotes041 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes041)
* ReleaseNotes040 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes040)
* ReleaseNotes039 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes039)
* ReleaseNotes038 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes038)
* ReleaseNotes037 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes037)
* ReleaseNotes036 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes036)
* ReleaseNotes035 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes035)