1 Release Notes
2 Inkscape 0.43
4 In brief
6 The focus of this release is on the exciting new features sponsored by
7 Google via their Summer of Code program. However, we have quite a bunch of
8 other stuff too. Here are the highlights:
10 * Connectors: A new Connector tool implements creation, editing, and
11 autorouting (object-avoiding) of connector lines between objects.
12 Indispensable for diagramming. (A Google SoC project.)
13 * Inkboard collaborative editing: You can now connect to other Inkscape
14 users over the Net and edit a shared document together, watching
15 others' changes and making yours! (A Google SoC project.)
16 * Pressure and tilt sensitivity: the Calligraphy tool can now use a
17 tablet pen with pressure/tilt support to vary the width and angle of
18 the calligraphic stroke.
19 * Better node editing: You can freely drag/bend/stretch a Bezier curve
20 by any point (not only by a node), as well as add a new node at any
21 point on the curve.
22 * New extensions for envelope distortion, whirling, and adding nodes.
23 * Improved precision, expanded limits, many usability improvements and
24 bugfixes.
26 Tavmjong Bah has updated his online book, A Guide to Inkscape
27 (http://tavmjong.free.fr/INKSCAPE/MANUAL/html/index.php), to cover
28 the Inkscape 0.43 features. This guide is not included with the Inkscape
29 release. Users are encouraged to read the guide in addition to these
30 release notes and the help included with Inkscape.
32 Connectors
34 * Inkscape now includes preliminary support for connectors. Connectors
35 are lines drawn between objects, that stay connected to the objects as
36 these objects are manipulated. Any object may have a "connector-avoid"
37 property, which, when set, causes connectors to automatically route
38 around the object.
40 * The Connector tool (Ctrl+F2 or the o key) is a new way of creating and
41 rerouting connectors, as well as marking objects "avoided" for the
42 purpose of routing connectors.
44 * A new connector can be drawn by clicking and dragging from any
45 point on the canvas. The connector is finalized when the mouse is
46 released. Connectors can also be created with two clicks, rather
47 than click-and-drag, if this is preferred. In this case, click once
48 on an empty point on the canvas to begin drawing the connector,
49 then move the mouse to the new connector's target point and then
50 click again to finalize the connector. Single clicking on a canvas
51 object selects/deselects that object, just as in other tools.
53 * Connection point handles are shown while the mouse cursor is
54 hovering over a non-connector object in the connector tool.
55 Currently they are shown only at the center of objects. When
56 creating a connector, if the connector is started or ended over a
57 connection point then the connector will be attached to that
58 object. From then on the connector will be automatically rerouted
59 whenever the attached object is moved.
61 * Connectors attached to objects are currently drawn to the bounding
62 box of those objects. It is planned that they will be drawn instead
63 to the edges of objects.
65 * A selected connector will show two endpoint handles. By clicking
66 and dragging these, the connector can be rerouted and
67 attached/detached from objects.
69 * The Make connectors avoid selected objects button marks all objects
70 in the selection as "avoided", causing all current and future
71 connectors to automatically avoid these objects.
73 * The Make connectors ignore selected objects button marks all
74 objects in the selection as "ignored", causing all current and
75 future connectors to completely ignore these objects. This is the
76 default for all canvas items, i.e., no objects are automatically
77 routed around by default.
79 Inkboard
81 A first release of the Inkboard collaborative editing system (also known
82 as a "white board") is present in this version of Inkscape.
84 * Inkboard must be enabled at compile time by passing --enable-inkboard
85 to the configure script: Inkboard has known bugs, and may present
86 security issues.
88 * Inkboard uses the XMPP (http://www.xmpp.org/) protocol (used by Jabber
89 (http://www.jabber.org/)) to link together Inkscape clients in a
90 shared document session. Therefore, if you have a Jabber account, you
91 can use Inkboard. (There are some exceptions, which are listed below
92 in the "Known issues" section.) Inkboard uses the Loudmouth
93 (http://loudmouth.imendio.org/) library for Jabber connectivity;
94 versions 0.17.2 and above of the Loudmouth library are known to work.
96 * Inkboard sessions may occur between two users or a group of users in a
97 chatroom setting.
99 Inkboard usage
101 * You must first connect to a Jabber server before sharing a document.
102 To do this, go to Whiteboard -> Connect to Jabber server. You will be
103 prompted to enter a server name, your username, and password. You may
104 specify a specific port to connect on, and whether or not you would
105 like to connect via SSL.
107 * After connecting, you may establish a session with another user or a
108 chatroom. To connect to another user, go to Whiteboard -> Share with
109 user. Inkboard can import your Jabber contact list, and will present a
110 list of online contacts to you. You may select any contact in the
111 contact list, or enter a Jabber ID to connect to.
113 * Similarly, you can establish a connection with a chatroom by going to
114 Whiteboard -> Share with chatroom.
116 * If you are contacted by another user, Inkscape will present a dialog
117 telling you that you have received an invitation. The dialog contains
118 the Jabber ID of the user contacting you, and offers you three
119 choices: decline the invitation, accept the invitation, or accept the
120 invitation in a new window.
122 * Inkboard can record a session's contents for playback at a later time.
124 * If you are establishing a session, click the Write session file
125 checkbox in the share with user dialog to enable session
126 recording. You will need to provide the name of a file to which
127 the session contents can be written.
128 * If you are accepting a session invitation, click the Write
129 session file checkbox in the invitation dialog to enable session
130 recording. You will need to provide the name of a file to which
131 the session contents can be written.
132 * To play back a session, go to Whiteboard -> Open session file.
134 * The Whiteboard -> Dump XML tracker menu item is intended for debugging
135 purposes only.
137 Pressure and tilt sensitivity
139 Support for extended input devices has been added.
141 * The Calligraphy tool now has optional pressure and tilt support from
142 an input device such as a tablet. Pressure can be used to alter the
143 width of the pen and tilt can be used to alter the angle of the pen's
144 nib.
146 * A standard input device dialog has been added (in File menu). Input
147 device settings are saved to and loaded from the preferences.
149 Node tool
151 * Clicking on a selected path selects the two nodes closest to the click
152 point. Shift+click adds or removes these two nodes to the node
153 selection (when only one path is selected; otherwise Shift+click works
154 as in Selector).
156 * Double click or Ctrl+Alt+click anywhere on the selected path (even if
157 it is under other objects) creates a new node at the click point,
158 without changing the shape of the path. (Previously, you could only
159 add a node in the middle of a segment by using a toolbar button.)
161 * You can now edit the selected path (even if it's under other objects)
162 by dragging any curve point, not only node(s) as before. In many cases
163 it's a much more convenient way to reshape paths than anything
164 available before. When you drag a curve close enough to one of the
165 nodes, only that node's handle(s) are affected; if you drag a point
166 midway between two nodes, both nodes' handles are adjusted.
168 * When mouse is over a draggable path, the cursor is changed to
169 include a hand.
171 * As in Selector, if you press Shift before starting to drag, you always
172 get a node selection rubberband rectangle (even if you start on a path
173 but not a node!).
175 * After duplicating (Shift+D) an endnode, the selected node is always
176 the new endnode, so you can move it at once.
178 * Selected nodes are displayed a little larger than non-selected ones.
180 Extensions
182 * Add Nodes: Adds nodes to the selected paths. Each segment of the
183 selected path is subdivided into ceil(Length/Max) equal length
184 segments. Lengths are measured in SVG User Units calculated from the
185 path data and does not take into account any transforms.
187 * Whirl: Twists the selected paths around the specified center point.
189 * Summer's Night: Linearly distorts a path into the destination
190 quadrilateral. The destination quadrilateral is specified by a four
191 node path (closed or not). To use, draw and position a four node path.
192 Select the four node path first and then add to selection the path you
193 wish to distort. The original position of the four nodes is considered
194 to be clockwise around the bounding box of the path to distort
195 beginning in the upper left corner.
197 * The Wavy extension is renamed to Function Plotter and got many fixes
198 and improvements. Importantly, now you don't have to provide an
199 analytic formula for the derivative; instead, check the "Calculate the
200 first derivative numerically" checkbox and it will itself calculate
201 the angle at each node. In the function/derivative formulas, you can
202 use functions from the math (http://docs.python.org/lib/module-math.html)
203 and random (http://docs.python.org/lib/module-random.html) Python
204 modules. As before, you need to have a rectangle selected before calling
205 this extension.
207 * Development continues on SVGSlice but it has not yet been fully
208 integrated into Inkscape. Please visit Digital Unleashed
209 (http://www.digitalunleashed.com/giving.php) for details and downloads.
211 More new functionality
213 * A separate project, the Open Clip Art Library Browser provides an easy
214 way to browse local and remote clipart collections and insert clipart
215 into Inkscape. Please visit
216 http://www.python.org/pypi/clipartbrowser/0.41 for details and
217 downloads. (A Google SoC project.)
219 * A separate utility has been developed to convert between DXF and SVG
220 formats. Please visit http://sourceforge.net/projects/dxf-svg-convert
221 for details and downloads. (A Google SoC project.)
223 * Improved support for viewBox: If the root <svg> element of your
224 document has width/height attributes set in percentage units and
225 there's a viewBox on that element, then:
227 * The canvas size is set to the value of the viewBox attribute.
228 * Changing the canvas size in Document Preferences sets the
229 viewBox, without touching the width/height values.
231 This does not affect regular documents created in Inkscape, but
232 makes it easier to edit other SVG files that use viewBox.
234 * The new command line parameter, --export-area-snap, used with bitmap
235 export to snap the export area outwards to the nearest integer SVG
236 user unit (px) values. If you are using the default export resolution
237 of 90dpi and your graphics are pixel-snapped to minimize antialiasing,
238 this switch allows you to preserve this alignment even if you are
239 exporting an area (for example, with --export-id or
240 --export-area-drawing) which is itself not pixel-aligned.
242 * When saving as Postscript, you now have the option to convert or not
243 convert texts to paths (previously only available for EPS export).
245 Interface and usability
247 * The Icon Preview dialog has been improved. A toggle has been added to
248 switch between previewing the entire document or just the current
249 selection. A larger 128x128 size has been added to the defaults. The
250 sizes are now read from the preferences file and can be customized.
252 * Rectangles and ellipses now use different handle shapes, so it's much
253 easier to see which handle does what. The two square handles change
254 the size of the object, while the two round handles adjust the
255 rounding corners (in rectangles) and arc/segment ends (in ellipses).
257 * The controls for the Rectangle tool now include W and H fields for
258 setting the width/height of selected rectangle(s) numerically.
260 * In the controls of Rectangle and Ellipse tools, the "Not rounded" and
261 "Make whole" buttons are now grayed out when the selected object
262 cannot use the corresponding function (i.e. when a rectangle is
263 already not rounded and the ellipse is already whole, which are the
264 defaults).
266 * When editing text with the Text tool, the keypad + and - keys type the
267 corresponding characters if NumLock is on (otherwise they zoom in and
268 out as before). (Still does not work on Windows.)
270 * In the Text tool, Ctrl+Up and Ctrl+Down now move one paragraph up or
271 down correspondingly.
273 * The Calligraphic tool, in addition to the Ctrl+F6 shortcut, has a new
274 one-letter shortcut, `c'.
276 * The Pen, Pencil, and Calligraphy tools finally have mouse cursors of
277 their own.
279 * The canvas width/height fields in Document Preferences are never
280 grayed out. Instead, the menu of the canvas sizes scrolls itself to
281 "Custom" or to an appropriate standard size as you edit width/height.
283 * Rectangle editing handles now snap to grid/guides (snapping for other
284 shapes' handles is expected to come in subsequent releases).
286 * The pattern move handle is restricted to horizontal/vertical when Ctrl
287 is pressed.
289 * In the Selector, dragging the rotation center handle snaps to the
290 edges and central axes of the selection's bounding box.
292 * In the Pen tool, while you are drawing a path, the statusbar displays
293 the distance and angle of the current mouse point from the last
294 created node of the path. This makes it easy to create a path from the
295 given lengths and angles of linear segments. When you are dragging to
296 create a curve handle, the statusbar also displays the length and the
297 angle of the handle.
299 * A new preference option, Compass-like angle display (in the Steps
300 tab), allows you to have absolute angles specified in a compass
301 notation (0 at north, 0 to 360 range, increasing clockwise) instead of
302 the default trigonometric notation (0 at east, -180 to 180 range,
303 increasing counterclockwise). This affects the statusbar angle display
304 for path segments and the handles in Pen and Node tools.
306 * The Pen and Pencil tools now display helpful statusbar hints when the
307 mouse is over one of the end anchors of the selected path.
309 * The precision of most editable length fields is increased from 0.01 to
310 0.001.
312 * The minimum zoom is extended from 4% to 1%.
314 * Work has begun on menu sensitivity and configurability, but has been
315 disabled in the release.
317 Packaging, documentation, examples
319 * The windows installer has now a modular structure that allows the
320 selection of separate features such as examples, tutorials, or
321 translations. All options are supported for a silent installation.
322 * Windows packages now contain the release notes (NEWS file), authors
323 and translators lists, the README file, the GPL and the LGPL license
324 files.
325 * The Inkscape man page is updated with additional examples.
326 * The About dialog now more closely resembles the stock Gtk About
327 dialog. A full list of authors and translators, as well as the license
328 are now viewable.
330 Translations
332 * The MacOS X package now includes interface translations and reads the
333 user language setting, as specified in System Preferences, to use the
334 corresponding translation language.
335 * Many interface and tutorial translations have been updated.
337 Important bugfixes
339 * A systematic error when scaling objects with stroke via the Selector
340 controls panel (W and H fields) is fixed.
341 * In stroke dash patterns in CSS, comma separators were erroneously
342 replaced by spaces upon writing the document. For now, Inkscape will
343 still be capable of reading both space-separated and comma-separated
344 lists (for compatibility with old files), but it now always writes
345 correct comma-separated lists on output.
346 * Due to a bug, Inkscape tended to replace relative paths to embedded
347 images by absolute, which made them fail after moving a document to
348 another computer; this is fixed.
349 * The precision of most boolean operations and offsets is improved,
350 especially noticeably for small paths.
351 * In text on path, in some cases letters were distributed unevenly along
352 a curve; this is now fixed.
353 * Searching by text in the Find dialog (Ctrl+F) was broken, now fixed.
354 * Some of the stock markers were missing in the marker menus in the Fill
355 & Stroke dialog.
356 * The bounding box of a stroke with markers now includes the markers.
358 Internal progress
360 * Source documentation: the big goal is to have a brief description for
361 classes and most functions in every source file; this now holds for
362 more than 100 files of the 1350 files in the source code. The doxygen
363 index file now shows many useful links to external documentation and a
364 categorization of main directory files which should be useful for
365 beginners in particular.
366 * Removed trailing fractional zeros in SVG for cleaner and more compact
367 markup.
368 * C++ Encapsulation: the View class hierarchy has been reimplemented in
369 C++, after separating the widget classes from each class. The number
370 of dependencies on the central file desktop.h (about 100) was reduced
371 by half.
373 Known issues
375 Windows 95/98/ME support
377 * Due to issues in GTK 2.8 beyond our control this version of Inkscape
378 will not work on Windows 95/98/ME. Please do not send us crash reports
379 from those platforms. We hope to be able to resume support for these
380 platforms in the future, but no specific committments can be made at
381 this point.
383 Problems on Linux under KDE
385 * SuSE, Fedora Core 4: Inkscape and other GTK programs are known to
386 crash if the KDE Baghira theme and the package gtk_qt_engine are
387 installed. If you experience Inkscape crashes on KDE, please try to
388 install a different theme from Baghira, or uninstall the gtk_qt_engine
389 package from your system.
390 * Kubuntu: For similar reasons, Inkscape can crash on Kubuntu Breezy
391 when, at the same time, the gtk2-engines-smooth package is installed.
392 Removing it resolves the problem. Both problems also affect older
393 versions of Inkscape.
395 Pressure and tilt sensitivity
397 * Pressure and tilt sensitivity do not currently work on MacOS X, due to
398 a limitation of the MacOS X version of X11.
399 * There are known issues with the current version of the X.org server
400 not releasing events on extended devices that use pressure
401 sensitivity. What that translates to is you can start a stroke, but
402 when you lift your pen, the stroke won't end (and will just continue
403 when you put your pen back on the tablet). This seem to be linked to
404 the usage of /dev/psaux for the mouse instead of /dev/input/mouseXX,
405 see http://linuxwacom.sourceforge.net/index.php/howto/mouse1)
406 * The current version of GTK for Windows has a bug that affects tilt
407 sensitivity.
409 Inkboard
411 * Imported bitmaps are not transmitted to other users in a whiteboard
412 session.
413 * At present, Inkboard relies on Loudmouth
414 (http://loudmouth.imendio.org/) to provide Jabber connectivity,
415 which means that it is limited to Linux builds of Inkscape.
416 Inkboard is currently being redesigned to use a cross-platform
417 Jabber client; this redesign will be present in a future release.
418 * Inkboard cannot yet connect to Google Talk clients. This will be
419 remedied in a future release. (The reason is because it expects the
420 "server" portion of a Jabber ID to be the same as the server that it
421 contacts, which is not the case for the Google Talk network.)
422 * Inkboard's handling of concurrent modifications is still very rough.
423 Future releases will make this more robust.
425 See http://sourceforge.net/tracker/?group_id=93438&atid=604306 for a
426 full list of known issues. If you find a bug not listed here, then please
427 report the bug: see instructions at http://inkscape.org/report_bugs.php
428 (the Report Bugs link from http://inkscape.org/).
430 Previous releases
432 * ReleaseNotes042 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes042)
433 * ReleaseNotes041 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes041)
434 * ReleaseNotes040 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes040)
435 * ReleaseNotes039 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes039)
436 * ReleaseNotes038 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes038)
437 * ReleaseNotes037 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes037)
438 * ReleaseNotes036 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes036)
439 * ReleaseNotes035 (http://inkscape.org/cgi-bin/wiki.pl?ReleaseNotes035)