https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&user=Doctormo&feedformat=atomInkscape Wiki - User contributions [en]2024-03-28T18:04:41ZUser contributionsMediaWiki 1.36.1https://wiki.inkscape.org/wiki/index.php?title=Projects&diff=122536Projects2023-08-31T17:02:42Z<p>Doctormo: Removed cruft</p>
<hr />
<div><br />
{{DevDiscussion}}<br />
<br />
This page lists proposed ideas for projects to improve Inkscape. The original list is from Krzysztof Kosiński. Consider it a permanent work-in-progress "brainstorm" list and feel free to add your own comments and project proposals. None of these are "official" and have not been thoroughly reviewed/debated and so may or may not fit with actual development plans.<br />
<br />
== General Codebase ==<br />
<br />
=== Object Printing ===<br />
<br />
Replace the print functions in the SPxxx classes with a generic "Visitor" pattern and port the different export types (e.g. EMF, PDF, PS) to the new routines.<br />
<br />
=== Janitorial Work ===<br />
<br />
Clean up all unnecessary castings in C++ classes. Remove unnecessary use of "this". Etc.<br />
<br />
=== Rename s/SP/Ink/ ===<br />
<br />
Various functions and variables have names from the early versions of Sodipodi, these names no longer makes sense (especially for new developers). Renaming s/SP/Ink/ would be ok if there aren't better ideas. This is most prevalent in the object tree, which may or may not be worth changing, but everything that is not part of the object tree should definitely be converted.<br />
<br />
=== Retire Garbage Collector ===<br />
<br />
We use the Boehm garbage collector, but for smart pointers we can use<br />
support in C++-11 now, so most likely any Inkscape-specific gc code can<br />
probably go. Analyze where this code is, what uses it, and how to port<br />
it to use standard code, then delete our gc bits<br />
<br />
<br />
<br />
== Object Tree ==<br />
<br />
=== Robust ID handling refactoring ===<br />
<br />
Currently ID clash resolution is implemented as a giant switch over object types, listing every possible dependency. Replace this with virtual methods on objects, which provide information on what each object refers to. Improve behavior when a dependency of an object is deleted, and when IDs are changed / deleted from the XML editor.<br />
<br />
See id-class.cpp for specifics.<br />
<br />
<span style="color:blue">It should be possible to change ID and have<br />
Inkscape update all references. It should also not be automatically<br />
created for all objects. Tav</span><br />
<br />
priority: Longer term<br />
<br />
=== Typed XML tree ===<br />
<br />
Improve XML tree so that it can store some attributes in parsed,<br />
binary form. The main target of this are the data URIs used to embed<br />
images, which could be stored as binary data only. This work should be<br />
done after completing task 3 (SAX parser), as this will make it<br />
easier.<br />
<br />
priority: Longer term<br />
<br />
=== XML Refactoring ===<br />
Remove direct manipulation of XML from as many places as possible and replace it with SP tree methods.<br />
<br />
== Interface ==<br />
=== On-canvas tool controls ===<br />
<br />
More tool controls could be available on-canvas right by the object <br />
being edited. An example of this would be having some of the text <br />
tool controls available right by where text editing is happening <br />
akin to what GIMP provides.<br />
<br />
priority: Longer term<br />
<br />
=== Numeric input on the canvas ===<br />
<br />
Right-clicking on nodes should bring up a numeric entry box which<br />
would allow you to specify its position numericaly. This could allow<br />
us to phase out some of the controls on the top bar. For dynamic<br />
offsets, the numeric entry would simply be the width of the offset<br />
<br />
priority: Longer term<br />
<br />
=== Unify document and desktop coordinates ===<br />
<br />
Change the desktop coordinates to match document coordinates. Make it<br />
so that document coordinates are specified in the coordinate system of<br />
the toplevel SVG element, so that it is possible to emulate other<br />
coordinate systems using a suitable transform attribute or viewBox.<br />
<br />
priority: Longer term<br />
<br />
=== Shape manipulators ===<br />
<br />
The idea here is to rewrite shape tools in the same paradigm as the<br />
node tool. Instead of storing all information about the shape in knots<br />
which differ only by their callbacks, allow to store information in a<br />
higher-level manipulator object. This would enable things like<br />
dragging the side of a rectangle and consistent outlining / update<br />
preferences for all shapes.<br />
<br />
priority: Longer term<br />
<br />
== SVG Support ==<br />
<br />
<span style="color: green"><br />
=== [https://inkscape.org/en/projects/svg2-compliant-flowed-text/ SVG-compliant flowed text (FPRJ-003)] ===<br />
<br />
Move the existing flowed text XML representation into an svg:switch<br />
and provide an alternative fallback representation with SVG 1.1 text<br />
objects only.<br />
<br />
This should be done via SVG 2 CSS text wrapping<br />
which provides a simple SVG 1.1 fallback mechanism.</span><br />
<br />
priority: Short term<br />
owner: Tav<br />
<br />
<br />
=== Vector effects ===<br />
<br />
Refactor live path effects so that their XML representation matches<br />
that of SVG 2.0 vector effects. Put them in switches, so that the<br />
output is not limited to a single path. Integrate them better with<br />
core Inkscape. For instance, instead of four actions: inset, outset,<br />
dynamic offset, linked offset, there should be only one: offset. Using<br />
it on a normal path would create a dynamic offset, while using it on a<br />
clone would create a linked offset. The same principle would apply to<br />
vector effects: creating them on a normal path would move the path to<br />
defs and replace it with the vector effect, while creating them on<br />
clones would delete the clone and create a reference to the original<br />
path.<br />
<br />
Update: Vector effects will be dropped from SVG 2 but we can still refactor<br />
our own code to make it easier to use.<br />
<br />
priority: Longer term<br />
<br />
=== Better support for linked SVG images ===<br />
<br />
Create the document and rendering tree for linked SVG images. Use<br />
Inkscape's renderer instead of relying on the librsvg loader to avoid<br />
inconsistencies. Allow importing the linked image as a group via the<br />
context menu.<br />
<br />
There are two main conceptual ways of dealing with linked svg files, one is to treat svg files as 'bitmaps' using our own renderer to generate a bitmap and placing it inside much like we do with including outside png, jpeg files. This has implications involving exporting png with mismatched resolutions and pdf where text and vector elements are no longer vector in the output pdf.<br />
<br />
The second method is to treat the svg as an advanced 'clone' which has it's own defs section. This would preserve the vector nature of the included svg file and allow rendering via pdf and png to happen without much exception. The implications of this have not been thought through completely.<br />
<br />
priority: Medium term<br />
<br />
=== SVG 2 ===<br />
<br />
<span style="color:blue">Mesh gradients, hatches, etc. See [[SVG2|SVG2 page]]. Tav</span><br />
* Improve support for SVG switches: the first recognized element in a switch should appear directly in the SP tree, not as a child of the switch element.<br />
<br />
== Paths ==<br />
<br />
=== Boolean operations and stroking ===<br />
<br />
Add methods to PathVector objects:<br />
<br />
a) Set operators (& | - ^), which perform the relevant boolean<br />
operation on the paths. Use the algorithm from CGAL or devise a new<br />
robust algorithm.<br />
<br />
b) stroke(double line_width, LineJoin join, LineCap cap, double<br />
miter_limit), which performs the stroke-to-path operation.<br />
<br />
c) stroke(double line_width, LineJoin join, LineCap cap, double<br />
miter_limit, std::vector<double> const &dasharray), which performs<br />
stroke-to-path with dashing.<br />
<br />
priority: Longer term<br />
<br />
=== Remove SPCurve (refactoring) ===<br />
<br />
SPCurve is a thin wrapper around Geom::PathVector which exists for<br />
historical reasons. Its functionality should be added to PathVector,<br />
and SPCurve should be purged.<br />
<br />
priority: Medium term term<br />
== Fonts ==<br />
<br />
=== variable fonts usability/UX ===<br />
<br />
=== filters UI usability/UX ===<br />
<br />
== Print ==<br />
<br />
=== Color Management ===<br />
<br />
Analyze what users require for CMYK and other aspects of color management,<br />
including a review of what other software does, and what can currently be<br />
done with Inkscape. Examine off the shelf code that could be used (e.g. libcms).<br />
Define what needs implemented in Inkscape's dependencies (e.g. libcairo) vs.<br />
what can or must be done in Inkscape itself. Outline project(s) to implement<br />
the needed changes.<br />
See [[Color_management]] and [[Color Management Planning]] (which represents a head start into this task)<br />
<br />
* Improve support for CMYK/spot colors<br />
** Minor UI streamlining<br />
** Eliminate the CMS tab<br />
** Change the CMYK tab to allow selecting the CMYK colors directly<br />
** Allow setting the document to CMYK, which sets a global CMYK profile<br />
** Stores RGB colors as RGB, CMYK colors as CMYK<br />
<br />
<br />
priority: short term<br />
<br />
== Animation ==<br />
<br />
There are several distinct types of animation workflows and objectives, such as:<br />
<br />
* CSS/SMIL animation - tweening/easing formulas for individual elements, aiming at e.g web display.<br />
* Sequential animation - each layer is a static frame that can be played back with a time delay, and recorded to a video stream<br />
* Keyframe animation - layers represent points on a timeline with objects whose states change through some interpolation mechanism<br />
* Javascript?<br />
<br />
While the intent, output, and UI for these may vary, the underlying machinery supporting them may have commonality, so the following projects may apply to one or more of the above types of animation.<br />
<br />
=== Object interpolation display ===<br />
<br />
Create routines to morph the properties and/or style of an object according to some proportion (such as elapsed time over a time period).<br />
<br />
This will need modification of object structures to support the animation attributes, following the SMIL and CSS animation specifications.<br />
<br />
contact: Tav<br />
priority: Medium term<br />
<br />
=== Object animation property editor UI/UX design ===<br />
<br />
Conceptualize how users would add and edit animation properties in Inkscape. What should be done in dialogs vs. in the main interface?<br />
Mockup ideas for how the UI could look. Describe the workflow the user would follow.<br />
<br />
=== Time keyed layer display ===<br />
<br />
Functionality to display/hide a list of layers in a fixed or variable sequence, or recorded to a sequential output format (e.g. a video output format or numbered raster images).<br />
<br />
priority: Medium term<br />
<br />
=== Frame transitions ===<br />
<br />
Expand on the above projects by organizing objects in sequential layers, where the layers can mark either transition points for a given object, or an object that replaces one or more objects in an earlier frame.<br />
<br />
priority: Longer term<br />
<br />
=== CSS/SVG Web Animations ===<br />
<br />
Export animation properties as corresponding CSS/SVG parameters to output files, following the model from the Web Animations specification so that both SMIL and CSS animations are supported. Inkscape Community/Tav<br />
<br />
priority: Longer term<br />
<br />
== Technical Writing ==<br />
<br />
=== Improve this Project List ===<br />
<br />
Review all the projects in this list. Cleanup grammar or phrasing to make the descriptions clearer. Expand on points that are vague. Add links to relevant bug reports, feature requests, blueprints, etc. Add "[Please fill in]" to items that need more information; identify particular questions needing addressed where possible.<br />
<br />
=== Inkscape Widgets Doxygen ===<br />
<br />
Over the years Inkscape has collected a number of custom UI objects, which have been consolidated to src/widgets/. Many of these are un- or under-documented. For each widget, write doxygen comments in the header file explaining what the widget is and does, and document the widget's public API. In some cases there may be doxygen in the .cpp file for public API functions - this should move to the header.<br />
<br />
=== Bring inkscape/doc up to date ===<br />
<br />
The doc directory in the Inkscape codebase is used for high level technical documentation including architecture, codebase introduction, and new developer orientation, however it has not been very well maintained and much is obsolete or incorrect. It also needs to be reformatted into Markdown, and appropriate scripts created to generate it into HTML/PDF/SVG. There may be additional developer documentation in Wiki that would be worth inclusion here.<br />
<br />
=== Code Doxygen Documentation ===<br />
<br />
Ensure all functions declared in header files have doxygen-compatible documentation. See items in [[Janitorial tasks]] for the style we're going for. All doxygen of the core Inkscape code (i.e. excluding 3rd party libraries included in src/*/) should have consistently written and formatted doxygen, which should include descriptions of input, output, and return parameters, identification of potential errors, a one-line brief statement and a more detailed explanation of the routine's purpose.<br />
<br />
== User-facing documentation ==<br />
<br />
=== Release Notes Improvement ===<br />
<br />
Review the release notes for the next major Inkscape release. Update wording and phrasing to be more comprehensible for end users. Fill in missing items where possible. Create and add explanatory graphics (c.f as done in past release notes). Add Known Issues from the previous release that are still relevant.<br />
<br />
=== Tutorials ===<br />
<br />
* Review existing tutorials and update as appropriate<br />
* Finish or remove unfinished tutorials<br />
* Solicit community-contributed tutorial contributions<br />
* Introduce new tutorials<br />
<br />
=== Man page ===<br />
<br />
* Update man page<br />
** transcribe the examples to the new command line structure<br />
* Add more helpful examples<br />
<br />
=== Manual ===<br />
<br />
Create a comprehensive, community-owned Inkscape manual: As a first step, devise a plan for how / where it will be created / hosted, and how versioning is going to work. Define its structure, and a set of editing guidelines. Recruit writers and proofreaders. Write the documentation. Keep the documentation up-to-date with the released Inkscape versions (ongoing task).<br />
<br />
<br />
== Packaging and Release Management ==<br />
<br />
=== Library Package De-integration ===<br />
<br />
Several 3rd party codebases are included in Inkscape's codebase (i.e., src/lib*/, src/2geom, possibly livarot?). This has convenience for local patching of our own improvements and simplifies the number of components platform packagers need to deal with, however this increases the weight of our codebase and makes our package larger on platforms such as Linux that have good dependency sharing. Arguably, it may also hinder collaboration with the upstreams or other users of the libraries. Certainly it makes it difficult to roll out fixes to one of those libraries to our users. So, we want these libraries to be packaged and released separately from Inkscape.<br />
<br />
For each of these libraries, create a separate git repository in Inkscape's gitlab project for hosting our branch of that project's code. Make sure any of Inkscape's changes to it are clearly registered as distinct git commits. If there is an active upstream project maintaining that library, make sure each of our changes are registered in their patch or bug tracking systems.<br />
<br />
In theory, Inkscape should only be using the libraries' public APIs; doublecheck that this is indeed the case, and identify any instances where Inkscape code is bypassing it and accessing library internals directly. These should be filed as high priority bugs in Inkscape's bug tracker.<br />
<br />
Lastly, make sure that `make dist` passes successfully for each of our branched libraries, and generates a source tarball. Inform the Release Team of the need to start separately packaging and releasing these libraries in conjunction with Inkscape's release processes.<br />
<br />
== Bug Triage ==<br />
<br />
<br />
With as many bugs as we've accumulated, working on them can seem daunting. Where to start!? Below are some encapsulated projects to try to achieve. Together, the more of these projects that are completed the less daunting the remaining work will be, and the better Inkscape will become!<br />
<br />
The [[Bug management]] page in this wiki includes advice on how to judge bug status and importance levels.<br />
<br />
''Tip: Some of these tasks could be scripted and automated via the Launchpad email interface. See https://help.launchpad.net/BugTrackerEmailInterface''<br />
<br />
<strike><br />
=== (100% Complete) Update Status for Critical Bugs from New ===<br />
<br />
(DONE) Review each Critical bug with Status New, and change status to Incomplete if the last comment on the bug is a question, or Confirmed otherwise. -- Bryce<br />
<br />
<br />
=== (100% Complete) Update Status for Critical Bugs from Fix Committed ===<br />
<br />
Review each Critical bug with Status Fix Committed; most likely these are incorrect. If comments towards the end of the thread indicate a fix was committed to SVN, then it is okay to be in state Fix Committed. Otherwise, move it to a more accurate Status.<br />
<br />
=== (100% Complete) Update Status for High Priority Bugs from Fix Committed ===<br />
<br />
Review each High priority bug with Status Fix Committed; most likely these are incorrect. If comments towards the end of the thread indicate a fix was committed to SVN, then it is okay to be in state Fix Committed. Otherwise, move it to a more accurate Status.<br />
</strike><br />
<br />
=== Update Status for High Priority Bugs from New ===<br />
<br />
Review each High priority bug with Status New, and change status to Incomplete if the last comment on the bug is a question, or Confirmed otherwise.<br />
<br />
=== Tag OSX bugs ===<br />
<br />
Using the Advanced search, identify bugs that are reported against OSX and update them to include the tag 'osx'.<br />
<br />
=== Tag Windows bugs ===<br />
<br />
Using the Advanced search, identify bugs that are reported against Windows and update them to include the tag 'windows'. Some bugs are already tagged with 'win32'<br />
: Searched all entries with 'win' in it. Tagged all appropriate bug reports with 'win32'. Now only 'win32' tags exist, but no 'windows' tags. Renaming the tags via the database should be easier than doing it manually (if at all possible). Is this what you guys had in mind? --[[User:Cerno|Cerno]] 15:40, 30 June 2008 (UTC)<br />
<br />
=== Link Cairo bugs ===<br />
<br />
Do a search for 'cairo'. Review the bugs (there's only about a dozen), and for each, identify if the issue is a Cairo bug. If so, look in the cairo bug tracker at freedesktop.org for a matching bug (or enter a new one if there isn't one already) and link it in via the 'Also affects: +Project'.<br />
<br />
=== Set Importance on Confirmed / Fixed Bugs ===<br />
<br />
Do a search on Importance=Undecided and Status=Fix Committed,Confirmed,In Progress. (There's 18 of these presently). Review each and assign it an Importance (probably Medium or High in most cases, but use best judgement).<br />
<br />
=== Ping Old Low Priority Bugs ===<br />
<br />
Search on bugs with Importance=Low, sorted by Oldest First. Go through the bugs that are more than a year old and review them. If they don't seem to have gotten much activity (e.g. few comments), and don't seem to be worth keeping, mark them Incomplete, with the following text:<br />
<br />
"Thank you for taking the time to report this bug and helping to make Inkscape better. You reported this bug a long while ago and there hasn't been any activity in it recently. We were wondering is this still an issue for you? Can you try with latest Inkscape release? Thanks in advance."<br />
<br />
or if it is a feature request:<br />
"Thank you for taking the time to report this feature request and helping to make Inkscape better. You requested this feature a long while ago and there hasn't been any activity in it recently. We were wondering; is this still on your wishlist? Can you try with latest Inkscape release and see if recent improvements have obsoleted your request? Thanks in advance."<br />
<br />
Wait about a month, then follow up with a search against these bugs that have not received a response; they can then be closed as Invalid.<br />
<br />
https://wiki.ubuntu.com/Bugs/Status<br />
<br />
=== Confirm all appropriate bugs marked Incomplete with responses ===<br />
<br />
Search on 'Incomplete with response', and review the feedback that's been given. If it appears the initial triager's information requests were met, and the bug seems legitimate, move it to Confirmed. If there seems to be further questions needing answered, ask them and leave it as incomplete.<br />
<br />
As well, specify a priority for these bugs. Generally, issues that cause crashes or data loss are high priority unless they only occur in very narrow situations. Issues which are purely cosmetic or involve very obscure or limited conditions are low priority, and everything else is Medium. Only use Critical priority for extremely serious bugs that will be affecting most everyone using Inkscape.<br />
<br />
=== Convert high priority wishlist bugs into blueprints ===<br />
<br />
Browse the collection of bugs marked ''wishlist''. Look for sets of related bugs that are all requesting essentially the same feature. Create a corresponding blueprint at [https://blueprints.launchpad.net/inkscape https://blueprints.launchpad.net/inkscape], and use ''Specify a URL'' to attach it to a wiki page. Then consolidate the wishlist bug reports together onto the blueprint page. Specify if you're willing to act as the Drafter for the spec, and carry it through to acceptance, or if you prefer someone else take that role.<br />
<br />
Once you've created the specification, use ''Link to bug'' to link each of the related bugs.<br />
<br />
=== Close old incomplete bugs with no response ===<br />
<br />
Do a query on bugs marked Incomplete with no response, and sort by age. All bugs older than 1 month with no reply can be closed as out of date.<br />
=== [https://inkscape.org/en/projects/box-blur/ Box blur (FPRJ-001)] ===<br />
<br />
<span style="color: green"><br />
Currently we always use a very accurate method to compute the Gaussian<br />
blur filter. Add an alternate method which approximates Gaussian blur<br />
using three stacked box blurs (simple averages). This is detailed in<br />
the SVG 1.1 SE specification.<br />
</span><br />
<br />
=== Marker Knockout ===<br />
<br />
Idea is to clean up markers where part of the line shows through. For example if a triangular arrowhead's tip is on the end point of a line with a relatively thick stroke, the rectangular end corners of the line shows up. Or if you're doing a mid-line marker that needs to have a transparent hole (e.g. a "subway station marker", it needs to show through.<br />
<br />
To implement this, draw the line on another surface and mask it with the knockout shape. The filters code uses this approach, as an example. See also the [https://www.w3.org/TR/svg-markers/ SVG Markers] specification.<br />
<br />
contact: Tav<br />
priority: Nearer term<br />
=== Restore Ancient Change History ===<br />
<br />
Inkscape's earliest development history is missing, with the first commit being "bzr r1" when we migrated to bzr. Prior history was in CVS and is missing. While not a huge priority, it would be nice to have this pre-bzr history resurrected and prepended to our git history.<br />
<br />
=== Rewrite / reintroduce 3D box ===<br />
** 3-dimensional grid, perspective deformed, with snapping<br />
<br />
=== Git Integration ===<br />
Due to the nature of SVG (text files), versioning might offer a really good way to effectively manage local historical changes even when inkscape is closed. [[https://git-scm.com/ Git]] is a popular versioning software, and is well known among open source contributors. I imagine a versioning system could be "enabled" through the user interface, and allow a user to tag "releases", branch copies if need be, and maintain a historical log of changes. Git could also have been a great way to maintain a branch of different versions of the svg file when the Inkscape project made the change of default dpi for old files recently.<br />
<br />
=== Other Misc. Ideas ===<br />
* Improve support for changing the name of the XML element node in response to SP tree changes<br />
* Inkscape for Android<br />
* CAD drawing functionality<br />
* OCR of bitmap traces<br />
* Excentric radial gradients, see e.g. samples/orav.svg in the distribution. --bb<br />
<br />
= Finished Projects =<br />
<br />
=== [DONE] <s>[https://inkscape.org/en/projects/remove-all-use-of-glist-and-gslist/ Remove all use of GList and GSList]</s> ===<br />
<br />
<span style="color: green"><br />
These GLib data structures are poorly designed (they are simple lists<br />
without sentinels, leading to blunders such as O(N) performance when<br />
appending to a doubly-linked list) and not type-safe. Replace all uses<br />
with standard C++ containers or suitable Boost containers.<br />
</style><br />
<br />
=== [DONE] <s>Common build system for all platforms</s> ===<br />
<br />
Migrate and port all necessary features to the CMake build system and remove Autotools.<br />
<br />
=== [DONE] <s>Use a different data structure for Inkscape::Selection</s> ===<br />
<br />
Inkscape::Selection currently uses GSList as its data structure. This<br />
is suboptimal, since a very common operation is checking whether some<br />
object is selected. Change Inkscape::Selection so that its underlying<br />
structure is a boost::multi_index container which implements the same<br />
semantics as Java's LinkedHashSet.<br />
<br />
=== [DONE] <s>Remove dom/ directory</s> ===<br />
<br />
This directory contains strange code which is barely used. The only<br />
class which is actually used is the URI class.</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.3&diff=122313Release notes/1.32023-04-02T03:52:05Z<p>Doctormo: /* Refactoring of PDF and AI import */</p>
<hr />
<div><br />
{{Box| '''These Release Notes are in Draft Status.'''<br />
<br />
Note: Not all animations work, due to Wiki bugs with resizing images. Release notes will be transferred to website, there animations will be working.<br />
<br />
Important Links:<br />
* [https://gitlab.com/inkscape/inkscape/commits/master Commit History Main Program (starting from: xxx)]<br />
* [https://gitlab.com/inkscape/extensions/-/commits/master Commit History Extensions (starting from: xxx)]<br />
* [https://gitlab.com/inkscape/inkscape-docs/documentation/-/tree/master Commit History Documentation (starting from: xxx)]<br />
<br />
}}<br />
<br />
{{Box| Pending questions:<br />
<br />
<br />
}}<br />
<br />
== Release highlights ==<br />
<br />
<!--'''Released on May xx, 2023 '''--><br />
'''Definitely not released yet.'''<br />
<br />
The highlights of this major Inkscape version are:<br />
<br />
<br />
* [[#Shape_Builder_Tool|Shape builder]] - a new tool for building complex shapes (Boolean tool)<br />
* [[#On-Canvas_Pattern_Editing|On-Canvas Pattern Editing]]<br />
* [[#Pattern_Editor|Pattern Editor]]<br />
* [[#Page_Tool|Page margins & bleed]]<br />
* [[#Document_Resources_Dialog|Document Resources Dialog]]<br />
* Return of [[#Layers_and_Objects_Dialog|Search, opacity & blend modes in Layers & Objects dialog]] and of an optional [[#Snap_toolbar|persistent snap bar]]<br />
* [[#Font_Collections|Font Collections]]<br />
* [[#Syntax_Highlighting|Syntax highlighting in XML Editor]]<br />
* [[#LPE_Dialog|LPE dialog user interface redesign]]<br />
* [[#Performance|Improved performance thanks to fully asynchronous, multithreaded rendering]]<br />
- [[#Refactoring_of_PDF_and_AI_import|Better PDF import]]<br />
* '''And so much more!'''<br />
<br />
== Performance ==<br />
<br />
A lot of effort has gone into improving the performance and speed of all aspects in Inkscape. This involved the refactoring of inefficient code, rewriting how Inkscape works with patterns, moving bitmap tracing into a separate thread and so much more!<br />
<br />
Canvas rendering is now both multithreaded and done outside of Inkscape's main process thread. This should significantly improve performance while zooming/panning/transforming objects if your computer's processor has more than one core (which it most likely does).<br />
<br />
In some cases, this results '''in a 2–4× speedup'''.<br />
<br />
You can set the number of processor cores Inkscape should use for rendering in <code>Edit ➞ Preferences ➞ Rendering ➞ Number of Threads</code>. By default, Inkscape tries to be as fast as possible by using as many cores as possible ([https://gitlab.com/inkscape/inkscape/-/merge_requests?scope=all&state=merged&label_name&#x5B;&#x5D;=Project%3A%3AMultithreading Multithreading MRs], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4760 MR #4760]).<br />
<br />
== General user interface ==<br />
<br />
=== Color Palette ===<br />
<br />
[[File:Indicators of used colors.png|thumb|Indicators for used colors]]<br />
* Color palette fields now have little indicators that show which color is used for the stroke and fill of a selected object. <br />
* Color pinning ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4957 MR #4957]): <br />
** You can select colors from the palette that you are using and 'pin' them to the start of the palette, for faster access. By default, these 4 colors are 'Unset', black, grey and white, but you can choose any other color, too. These fields can be made larger, so they can be easily clicked on.<br />
** To add a color to the pinned colors array, right-click on its palette field and select 'Pin color'. The color will then be moved away from its original location in the palette to the palette start.<br />
** To 'unpin' a color, right-click on the pinned color's field and select 'Unpin color'. <br />
** To choose the pinned colors' size, click on the palette bar's hamburger menu icon and select to 'Configure' it, and check / uncheck the option 'Enlarge pinned colors'.<br />
** '''Note:''' Pinned colors only show up if the current palette contains them. So when you switch the palette, some colors may be dropped, and when you switch back to a palette that contains them, they will show again.<br />
<br />
[[File:Inkscape BHd0t2kzml.gif]]<br />
<br />
<br />
=== Pasting Options Renamed, and Paste on Page ===<br />
<br />
The <code>Paste size</code> entry in the <code>Edit</code> menu has been renamed to <code>Paste…</code>, to hold all 'special' pasting operations that you may need.<br />
<br />
A new pasting feature <code>On Page</code> has been added to this renamed menu to paste the copied object(s) into the same position on a different page ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4695 MR #4695]). <br />
<br />
For this to work correctly, you must first select the page to paste on by either:<br />
<br />
* selecting an object on that page before pasting<br />
* selecting the page with the page tool<br />
* changing the current page using the buttons in the status bar<br />
<br />
<br />
=== Snap toolbar ===<br />
<br />
An option was added in <code>Edit ➞ Preferences ➞ Interface ➞ Toolbars</code> to show snapping options permanently in a dedicated toolbar, similar to Inkscape version 1.1 and earlier.<br />
<br />
<br />
=== Keyboard shortcuts ===<br />
<br />
The keyboard shortcuts for aligning objects vertically and horizontally have been moved to the numeric keypad, where the other alignment shortcuts are, too: <br />
<br />
*Vertical alignment was moved from <kbd>Ctrl+Alt+T</kbd> to <kbd>'''Ctrl+Alt+Numpad 1'''</kbd><br />
*Horizontal alignment was moved from <kbd>Ctrl+Alt+H</kbd> to <kbd>'''Ctrl+Alt+Numpad 7'''</kbd><br />
[[File:OKLAB.png|thumb|474x474px]]<br />
If you find yourself unable to reach the new shortcuts (for example, because your laptop does not have a keypad, or because the shortcuts do not work - may be the case on Linux with Xfce), you can set them to something else by changing '''both''' the alignment shortcut '''and''' the function that now uses that shortcut (if any). Use the search in <code>Edit ➞ Preferences ➞ Interface ➞ Keyboard</code>. It also allows searching for shortcuts, not only for their name (e.g. search for <code>ctrl+alt+t</code> to find the new default action that is executed when that combo is pressed).<br />
<br />
<br />
=== Color Pickers ===<br />
<br />
Color pickers in Inkscape now support choosing colors in the '''OKLch''' color space, which has just been adopted into the CSS Color Module Level 4 [https://www.w3.org/TR/css-color-4/#ok-lab draft recommendation]. For those who would like to learn more, OKLch and OKLab are described in detail by its creator [https://bottosson.github.io/posts/oklab/ in a blog post]. <br />
<br />
This additional option is disabled by default. It can be enabled in <code>Edit ➞ Preferences ➞ Interface ➞ Color Selector</code> as "OKHSL", and will then be available in any color picker's dropdown. Note that color values will still be written as RGB hex codes in the SVG source, and Inkscape also does not support reading colors that are defined in that color space. This change is purely adding a new convenient option for choosing colors.<br />
<br />
<br />
=== Rulers ===<br />
<br />
Inkscape's rulers at the canvas boundaries got two new indicator areas:<br />
<br />
* '''Page:''' the part of the ruler that corresponds to the current page's location is now colored in a different tone, so you can always see where your page ends.<br />
* '''Selection:''' a thin blue line indicates and follows the current selection. This line can be turned off in <code>Edit ➞ Preferences ➞ Interface: Show selection in ruler</code>.<br />
<br />
Ruler performance has been improved along with these changes.<br />
<br />
[needs screenshot of current default]<br />
<br />
<br />
=== Commands Palette ===<br />
<br />
It is no longer necessary to scroll horizontally in the Commands palette (shortcut: <kbd>?</kbd>), as entries are now nicely arranged and formatted and make use of linebreaks. Now all the info for an entry is directly visible ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4988 MR #4988])<br />
<br />
[Needs new screenshot with more up-to-date ruler or entirely without]<br />
<br />
<br />
== Canvas ==<br />
<br />
Pressing '''<code><kbd>F</kbd></code>''' temporarily hides on-canvas overlays (transformation handles, grids, guides...). This allows quick preview of final artwork without any distractions.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4395<br />
<br />
Added display overlay controls in top right corners. You need to have scrollbars enabled to see it (<kbd>CTRL+B</kbd>).<br />
<br />
[[File:Ezgif.com-resizeasd.gif|400x400px]]<br />
<br />
<br />
=== OpenGL (GPU) accelerated canvas ===<br />
An OpenGL-accelerated display mode was added to the canvas to speed up panning, zooming and rotating.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4133<br />
<br />
This is NOT a fully GPU-based renderer; content is still rendered on the CPU in exactly the same way as before, so large performance improvements are not to be expected. It does however result in a smoother display and lower CPU usage, especially on HiDPI screens.<br />
<br />
OpenGL mode is highly experimental and is turned off by default. It can be turned on at<br />
<br />
<code>Preferences ➞ Rendering ➞ Enable OpenGL</code><br />
<br />
Note however the following caveats:<br />
<br />
*Due to packaging problems, when using the Linux AppImage, OpenGL support either does not work (on X11) or crashes (on Wayland).<br />
* Due to GTK3 bugs, OpenGL mode crashes on Windows, blacks out the screen on MacOS, is slower than software rendering on Linux X11, and is only really usable on Wayland.<br />
<br />
For these reasons, it is not expected to be useful until we migrate to GTK4, where we hope that at least some of these bugs have been fixed.<br />
<br />
<br />
=== Smooth auto-scrolling ===<br />
Auto-scrolling happens when you drag an object off the edge of the canvas. We improved smoothness of this action.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5027<br />
<br />
<br />
== Tools ==<br />
<br />
=== General ===<br />
<br />
You can right click on any tool icon in toolbox to see tool preferences.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4982<br />
<br />
<br />
=== Gradient Tool ===<br />
<br />
* Allow changing the ''repeat'' setting when multiple gradients are selected.<br />
* Show 'Multiple gradients' in the stop list when multiple gradients are selected (instead of a random stop).<br />
* Allow editing of the offset of the start/end stops.<br />
* Keep the stop selected after the offset is changed in the toolbar (instead of selecting the first stop of the gradient).<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4339<br />
<br />
<br />
=== Node Tool ===<br />
<br />
[[File:Inkscape xfsvsc2oY9.gif|thumb|editing pattern on canvas]]<br />
<br />
<br />
==== On-Canvas Pattern Editing ====<br />
<br />
Pattern editing on canvas is now easier; you can click on any part of a pattern and it will show you controls at that position. We also added an outline that shows you the edges of the pattern. The first square controls position, the circle controls rotation, and the second square controls size. Hold Shift to constrain proportions. <br />
<br />
We also fixed performance problems with patterns, so now you can have smaller patterns in project and zoom in on them without worrying about Inkscape eating up all your RAM.<br />
<br />
<br />
==== Draw around Selection ====<br />
<br />
We added a new (lasso) selection mode for nodes. Hold <kbd>Alt</kbd> and draw with the Node tool around the nodes that you want to select. This saves a lot of time that was needed before, where you needed to add new nodes to the selection by dragging small rectangles while holding <kbd>Shift</kbd>, whenever nodes were not located together in a convenient rectangular area ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4747 MR #4747]).<br />
<br />
<br />
==== Better shape preservation when deleting nodes ====<br />
New, improved curve fitting algorithm from FontForge used when deleting nodes on a "smooth" path (rather than corners)<br />
<br />
[[File:Spline-fit-1.gif]]<br />
<br />
Attempt to apply "preserve shape" only if selected nodes define relatively smooth path. Trying to preserve shape when deleting corners is rarely what's desirable:<br />
<br />
[[File:Spline-fit-2.gif]]<br />
<br />
With "preserve shape" option ON, algorithm may still decide to insert line segments if it detects what it thinks are corners. Holding <kbd>Ctrl</kbd> key while deleting inverts this decision:<br />
<br />
[[File:Curve-fit-inverted.gif]]<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5082<br />
<br />
<br />
==== Edit Blur on Canvas ====<br />
<br />
New on-canvas blur controls will appear for blur effects from the Fill and Stroke panel, or filters with blur effects from Add Filter. Controls are not linked by default, so you can control horizontal and vertical blurring separately. If you hold '''<kbd>CTRL</kbd>''', you can control both Axes linked. You can control arbitrary angle of blurring if you rotate your object after you set blur.<br />
<br />
[[File:Inkscape fCXLNVIQp7.gif]]<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4867<br />
<br />
==== On canvas Corners editing ====<br />
We added shorcut for '''Rounded corners''' in to tool bar. First click enable corners and show controls second will delete this effect <br />
<br />
[[File:Inkscape E33kBkZM1j.gif]]<br />
<br />
=== Page Tool ===<br />
[[File:Ezgif.com-gif-maker (12).gif|right|600x600px]]The Page tool now has controls for margins and bleed:<br />
<br />
* An attribute on the page element to record the margin<br />
* A new HTML/CSS style box model with tests<br />
* New UI to set margins in the toolbar<br />
* New on-canvas controls for moving margins (with <kbd>ctrl</kbd>/<kbd>shift</kbd>)<br />
* New display of margins in the same canvas group as the page border<br />
* Snapping for page margins<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4523<br />
<br />
<br />
=== Selector Tool ===<br />
<br />
New commands:<br />
<br />
*'''Reapply transform''': ''<kbd>Ctrl+Alt+T</kbd>'' - This allows a user to perform a transformation multiple times and works from the canvas edits or from transform dialog or the select toolbar. <span style="color: red;">Shortcut needs to change, it opens a terminal on Linux.</span><br />
*'''Duplicate and transform''': ''<kbd>Ctrl+Alt+D</kbd>'' -This performs a duplication and then reapplies the previous transform to the duplicate. <span style="color: red;">Shortcut needs to change, it minimizes the window on Linux.</span><br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4506<br />
*'''Clone while dragging:''' drag object + <kbd>C</kbd> - Drag and object and press <kbd>C</kbd> to clone it in the current position. https://gitlab.com/inkscape/inkscape/-/merge_requests/4752<br />
<br />
=== Shape Builder Tool ===<br />
<br />
New tool for fast shape building and Boolean operations. Shortcut: '''<code><kbd>X</kbd></code>'''.<br />
<br />
Use: Select multiple overlapping shapes and select the Shape Builder tool. The selection will be fragmented on overlapping areas, while everything else will be hidden until you leave the shape builder. Now you '''Click and drag''' to combine segments together or hold '''<kbd>Shift</kbd> + Click and drag''' to subtract, and '''Single click''' on segments to split. Adding is represented by a blue color, removing by pink.<br />
<br />
[[File:Shape_builder.gif]]<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4709<br />
<br />
<br />
== Path Operations ==<br />
<br />
=== Fracture Paths ===<br />
<br />
<code>Path ➞ Fracture</code> - every overlapping path will be split into separate object.<br />
<br />
<br />
=== Flatten Paths === <br />
<br />
<code>Path ➞ Flatten</code> - overlapping objects will be flattened visually (it will delete paths that are hidden behind a top path). Useful for separating colors for Screen printing and offset printing as well as for doing any kind of plotting.<br />
<br />
<br />
== Masking / Clipping==<br />
<br />
*A new option to '''preserve clips / masks when ungrouping''' objects has been added (<code>Edit ➞ Preferences ➞ Behavior ➞ Clippaths and masks: When ungroup, clip/mask is preserved in children</code>). The option is active by default. This means that when you now ungroup a group that has been clipped, the elements inside it will inherit the clip. Previously, the clip was removed and everything became un-clipped. To go back to previous default behavior, deactivate this new option. ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3564 MR #3564])<br />
<br />
<br />
== Dialogs ==<br />
=== Document Resources Dialog ===<br />
<br />
[[File:Document resources dialog.gif|thumb|The Document Resources dialog]]<br />
<br />
Added a new dialog that shows you an overview of what assets are currently inside your document. You can edit names and export some of the resources from this dialog.<br />
<br />
It presents the following document assets:<br />
<br />
* fonts<br />
* styles<br />
* colors<br />
* swatches<br />
* gradients<br />
* filters<br />
* patterns<br />
* symbols<br />
* markers<br />
* images<br />
* external references<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5003<br />
<br />
=== Export Dialog ===<br />
<br />
We added new options for how to export multipage in PDF and SVG formats allowing the selection of a single page out of many to export in the single-export tab and improving how batch exporting is done by ordering pages correctly. <br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5002<br />
<br />
<br />
=== Fill and Stroke Dialog ===<br />
[[File:Pattern editor1.gif|alt=Pattern editor|right|Pattern editor]]<br />
<br />
<br />
==== Pattern Editor ====<br />
<br />
Added in to UI. You can preview patterns, change Name, Size, Rotation, Offset, Gaps, and Colors for some specific patterns. We also added collections of patterns in <code>~paint/</code> so it's easier to be organized. Since this allows having many more patterns preinstalled, we also added a search function and a few new default patterns.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4938<br />
<br />
[[File:Inkscape 9yhQG7s68v.gif]]<br />
<br />
<br />
=== Filter Editor ===<br />
[[File:Filter-resize.gif|alt=Filter-resize|Filter-resize|left]]<br />
<br />
Redesign of this dialog:<br />
<br />
*Filter selection moved to a popover<br />
* Effects are listed in a popup menu and can be selected by searching (by name)<br />
* Adjusted connector sizes to make them more compact<br />
* Fixed an issue where all parameters would initially be visible in a docked filter dialog<br />
* Fixed min size of parameters panel to make it fit in a narrow docked dialog<br />
* Reactive layout to accommodate wide dialog<br />
* Added primitive filter attributes to <code>fe-image</code> and <code>fe-tile</code> (#1417)<br />
* Replaced GTK color picker with Inkscape color picker <br />
<br />
*Sources can now be hidden (for most use cases only the source graphic is useful; other inputs are broken or need UX work).<br />https://gitlab.com/inkscape/inkscape/-/merge_requests/4720[[File:Inkscape Y7U4yzIFTq.gif|thumb]]<br />
<br />
<br />
=== Layers and Objects Dialog ===<br />
<br />
UX improvements:<br />
<br />
* You can click and drag to change visibility of multiple objects<br />
* Selecting on group does not auto expand<br />
* Selecting multiple objects and and changing visibility/locking applies to all selected<br />
* We added a search feature; it's a limited implementation - it does not auto-apply search and you need to search for more than 3 characters.<br />
* We added a hover indicator for rows and layer colors<br />
* Added controls for opacity and blending mode<br />
<br />
We added shortcuts for layers navigation and actions:<br />
<br />
* Arrows to navigate<br />
* <kbd>Space bar</kbd> confirms (select, apply, open)<br />
* <kbd>Shift+→</kbd> and <kbd>Shift+←</kbd> to open/close group<br />
* <kbd>Shift+↑</kbd> and <kbd>Shift+↓</kbd> to move in Z order <br />Improved performance for editing of many obejcts at once<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5183[[File:VirtualBoxVM I675gipqe1.gif|thumb|1017x1017px|Place holder demo of new LPE dialog]]<br />
<br />
<br />
=== Live Path Effects (LPE) ===<br />
<br />
==== LPE Dialog ====<br />
The compact new design merges organization and controls into one unit. You can reorder LPE by dragging and dropping the whole effect. It adds a fast search box, and a fast dropdown for adding effects.<br />
<br />
Each LPE has 5 controls:<br />
<br />
* Show/hide controls<br />
* Visibility of effect<br />
* Delete effect<br />
* Context menu <br />
** Re-order<br />
** Duplicate<br />
** Set as default<br />
** Flatten<br />
<br />
[[File:LPE organization.png|right|266x266px]]<br />
<br />
[<span style="color:red;">TODO: gif file needs to be edited!</span>]<br />
<br />
==== Reorganization of LPEs ====<br />
<br />
Since we needed a more compact way to show all LPEs, we decided on a list that is organized into 6 categories:<br />
Tools, Distort, Generate, Convert, Experimental, and Favorite<br />
<br />
<br />
==== Changes ====<br />
<br />
* Setting presets for LPE was moved into contextual menu<br />
* Setting Favorite LPE was moved into contextual menu<br />
* Added new feature: flatten - This will apply effect to geometry. It will apply all effects in the stack.<br />
* We removed LPE gallery (you can still enable it in preferences if you wish: <code>Preferences ➞ Behavior ➞ LPE</code>)<br />
* To see experimental LPEs you need to enable it in Preferences: <code>Preferences ➞ Behavior ➞ LPE</code><br />
* Added an indicator showing which object is selected<br />
* Added conversion commands when you select text objects - since text does not support LPEs yet we added a workaround that converts text to paths or clones the text.<br />
* If you select an object that is associated with an LPE (Clone, Boolean operations, Bend, Fill between many, etc…) you will see a button in the dialog that will take you to the linked geometry/controls.<br />
* Labels inside effects are aligned nicely<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4677<br />
<br />
<br />
=== Swatches Dialog ===<br />
<br />
In the Swatches dialog, the option to display colors together with their names (from the .gpl palette file), in a vertical list, is back again. <br />
<br />
Enable it by clicking on the Hamburger menu, choosing 'Configure' and selecting the option 'Show color labels' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4957 MR #4957]).[[File:Ezgif.com-optimizeasda.gif|right]]<br />
<br />
<br />
=== Symbols Dialog ===<br />
<br />
This dialog got a new redesign:<br />
<br />
* Migrated dialog settings to a popover.<br />
* Saving dialog UI state in preferences (current symbol set and settings are remembered).<br />
* Larger range for scaling (tile size) and symbol zooming.<br />
* Fixed symbol selection color for dark themes.<br />
* Added option to show symbols names.<br />
* Rendering symbols at screen resolution - sharp (high-dpi aware).<br />
* List of symbol sets is searchable and can be filtered.<br />
* Symbol search is live (no need to press enter).<br />
* Symbol rendering is done on-demand, to limit memory use and time needed to switch sets.<br />
* Stats: total number of symbols / how many are visible.<br />
<br />
<br />
==== New features ====<br />
<br />
* You can drag and drop symbols on canvas and they are going to be placed exactly where you dropped them.<br />
* A new icon - the "peace" symbol.<br />
* Improved performance.<br />
* Add Visio modern formats <code>vssx</code> and <code>vsdx</code>. Symbols are loaded once, not in each window.<br />
* We added new stock symbols SJJB map icons.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4975 <br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4994 <br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4666<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4883<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4793<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4784<br />
<br />
<br />
=== Text and Font Dialog ===<br />
<br />
==== Font Collections ====<br />
<br />
[[File:Font collections opt.gif|thumb|Font collections]]<br />
<br />
[todo: document features and how to use them ]<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4694<br />
<br />
<br />
=== Trace Bitmap Dialog ===<br />
<br />
Got significant performance boost and a progress bar. Now it runs in the background, allowing you to cancel it if it's taking too long. <br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4702<br />
<br />
<br />
=== Welcome Dialog ===<br />
Files are sorted by their last modified date. We Added recovery for files in this list after crash. You can see then by text Emergency save next to file.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5058<br />
<br />
<br />
=== XML Editor ===<br />
<br />
[[File:Syntax highlighting.png|thumb|Syntax highlighting in XML Editor]]<br />
We did small cosmetic changes to UI of this dialog: <br />
<br />
* smaller icons (16×16px),<br />
* removed text tool tips.<br />
* Added responsive layout and moved layout controls to the top in a dropdown (auto layout is the default option).<br />
<br />
<br />
==== Syntax Highlighting ====<br />
<br />
For improving readability we added syntax highlighting and auto line-breaking. This works for CSS style tag, inline styling, <code>d <var>«path data»</var></code>. You can change highlighting themes in <code>Preferences ➞ Interface ➞ Theming</code>.<br />
<br />
<br />
==== Rounding path data ====<br />
We added a feature to round path data. You can also set how many decimal points you want to round to. This gives you granular control over optimizing size of SVGs. <br />
<br />
[[File:Inkscape GAlKvNTcCm.gif]]<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4885<br />
<br />
<br />
== Filters ==<br />
<br />
<br />
== Live path effects ==<br />
LPE Dialog was completely redesign see [[New redesigned LPE dialog]] for more details. Performance of most of the effects was improved. <br />
=== Roughen ===<br />
UI clean-up and reordering of the controls.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4872<br />
<br />
=== Taper Stroke ===<br />
Added support for sub-paths.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4906<br />
<br />
=== Power Stroke ===<br />
Added support for sub-paths.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4880<br />
<br />
=== Corners ===<br />
New design for canvas controls that should improve usability. You can add this Live Path Effect from Node tool toolbar: [[File:Asdasdasdasdasd 123.png]]. You can also assign a shortcut to this effect. (No shortcut is set by default.) <br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5164<br />
<br />
<br />
<br />
== Import / Export ==<br />
<br />
=== Refactoring of PDF and AI import ===<br />
The PDF importer was using the svg group as a way of tracking the GfxState matrix, but this actually causes a lot of problems. Using the Sfx CTM matrix state directly provides dependable positions and transformations for creating objects.<br />
<br />
* New import PDF dialog GUI using glade<br />
* Added PDF layer support<br />
* Merging of similar path stroke/fill objects<br />
* Removal of state groups<br />
* Rendering text methods, to glyphs and to text<br />
* Embedded font handling for rendering methods<br />
* Much better font-name detection<br />
* ICC Color Profile support retains your CMYK colors in the PDF<br />
* Margins, bleeds and page sizes retained.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4757<br />
<br />
=== Rewrite of XAML export ===<br />
XAML export has been completely rewritten and now supports AvaloniaUI, export to DrawingGroup, conserving swatches for easy styling and exporting Layers to individual resources which allows to maintain an icon library in a single SVG file. For more info, check the [https://inkscape.gitlab.io/extensions/documentation/extensions/svg2xaml.html extensions documentation]. ([https://inkscape.gitlab.io/extensions/documentation/extensions/svg2xaml.html MR extensions#498])<br />
<br />
=== Improved HPGL import ===<br />
HP-GL/2 import has been rewritten to support more complex HPGL files including fill and line style, non-linear draw commands, scaling and rotating of the document.<br />
<br />
== Templates ==<br />
<br />
All template dialogs (Welcome screen, New from Template, Page tool default sizes) now use the same template sizes ([https://gitlab.com/inkscape/extensions/-/merge_requests/479] MR #479)<br />
<br />
<br />
== Customization / Theming ==<br />
Added <code>user.css</code> to UI folder to allow tweaking UI without interfering with or fully overriding other CSS files. https://gitlab.com/inkscape/inkscape/-/merge_requests/5004<br />
<br />
Fixed hidden icons on menus: https://gitlab.com/inkscape/inkscape/-/merge_requests/4686<br />
<br />
<br />
== Other ==<br />
Added support for <code>href</code> and <code>xlink:href</code> in SVG header. This makes Inkscape more compatible with SVG 2.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4596<br />
<br />
<br />
== MacOS-specific Changes ==<br />
<br />
<br />
== Windows-specific Changes ==<br />
<br />
Inkscape detects dark and light theme and maches color of the title bar.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5144<br />
== Extensions ==<br />
<br />
=== Features ===<br />
Speed up processing especially on complex documents: https://gitlab.com/inkscape/inkscape/-/merge_requests/4996<br />
<br />
<br />
==== General Extension Changes ====<br />
<br />
<br />
==== New Extensions ====<br />
<br />
<br />
==== Particular extensions ====<br />
<br />
<br />
=== Bugs fixed ===<br />
<br />
<br />
==== All extensions ====<br />
<br />
<br />
==== Particular extensions ====<br />
<br />
<br />
=== Extension Development ===<br />
<br />
<br />
==== API Changes for Third-Party Extension Developers ====<br />
<br />
<br />
==== Extension Development Documentation ====<br />
<br />
<br />
==== Under the hood ====<br />
<br />
<br />
== Command line ==<br />
<br />
Added a new parameter <code>--actions-file</code>. You specify a list like in <code>--actions</code> but in a file to allow bypassing Windows comandline length limit, and also to allow reuse of action lists.<br />
<br />
Added a new parameter <code>--active-window</code> / <code>-q</code> that runs all commands on the active window of an already-running instance of Inkscape.<br />
<br />
<br />
== Behind the curtains ==<br />
<br />
<br />
== Notable bugfixes ==<br />
=== Crash fixes ===<br />
<br />
Fixed a crash that occurred…<br />
<br />
* When…<br />
<br />
<br />
=== Other bug fixes ===<br />
<br />
* LPE related undo bugs: https://gitlab.com/inkscape/inkscape/-/merge_requests/4520<br />
* Fixed bspline LPE with cusp nodes when initially using with node tool. https://gitlab.com/inkscape/inkscape/-/merge_requests/5016<br />
* <code>&lt;use&gt;</code>s retain their LPE correctly when unlinked or converted to paths. The old convert to paths behaviour is still available in the Preferences. https://gitlab.com/inkscape/inkscape/-/merge_requests/5016<br />
<br />
=== Even more bug fixes ===<br />
<br />
There were even more issues fixed than those listed above, but these probably only affect a small proportion of users, or are relevant for development and packaging only.<br />
<br />
For a complete list, visit [https://gitlab.com/inkscape/inkscape/-/issues?milestone_title=Inkscape+1.3 our GitLab issue tracker] and see the [https://gitlab.com/inkscape/inkscape/-/commits/1.3.x commit history].<br />
<br />
<br />
== Translations ==<br />
<br />
The following UI translations received updates:<br />
<br />
*…<br />
<br />
The Windows installer translation was updated for:<br />
<br />
*…<br />
<br />
The following documentation translations received updates:<br />
<br />
*…<br />
<br />
<br />
=== Contributing to interface translations ===<br />
<br />
Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]<br />
<br />
<br />
== Documentation ==<br />
<br />
=== Contributing to documentation and documentation translation ===<br />
Contributions to the documentation translations, as well as improvements to its contents, are welcome at [https://gitlab.com/inkscape/inkscape-docs/documentation the inkscape-docs repository].<br />
<br />
<br />
== Website ==<br />
<br />
<br />
== Important changes for packagers ==<br />
<br />
<br />
== Known issues ==<br />
<br />
<br />
== Other releases ==<br />
<br />
{{:Release notes}}</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.3&diff=122296Release notes/1.32023-03-29T02:16:14Z<p>Doctormo: /* Export Dialog */</p>
<hr />
<div><br />
{{Box| '''These Release Notes are in Draft Status.'''<br />
<br />
Note: Not all animations work, due to Wiki bugs with resizing images. Release notes will be transferred to website, there animations will be working.<br />
<br />
Important Links:<br />
* [https://gitlab.com/inkscape/inkscape/commits/master Commit History Main Program (starting from: xxx)]<br />
* [https://gitlab.com/inkscape/extensions/-/commits/master Commit History Extensions (starting from: xxx)]<br />
* [https://gitlab.com/inkscape/inkscape-docs/documentation/-/tree/master Commit History Documentation (starting from: xxx)]<br />
<br />
}}<br />
<br />
{{Box| Pending questions:<br />
<br />
<br />
}}<br />
<br />
== Release highlights ==<br />
<br />
<!--'''Released on May xx, 2023 '''--><br />
'''Definitely not released yet.'''<br />
<br />
The highlights of this major Inkscape version are:<br />
<br />
<br />
* [[#Shape_Builder_Tool|Shape builder]] - a new tool for building complex shapes (Boolean tool)<br />
* [[#On-Canvas_Pattern_Editing|On-Canvas Pattern Editing]]<br />
* [[#Pattern_Editor|Pattern Editor]]<br />
* [[#Page_Tool|Page margins & bleed]]<br />
* [[#Document_Resources_Dialog|Document Resources Dialog]]<br />
* Return of [[#Layers_and_Objects_Dialog|Search, opacity & blend modes in Layers & Objects dialog]] and of an optional [[#Snap_toolbar|persistent snap bar]]<br />
* [[#Font_Collections|Font Collections]]<br />
* [[#Syntax_Highlighting|Syntax highlighting in XML Editor]]<br />
* [[#LPE_Dialog|LPE dialog user interface redesign]]<br />
* '''And so much more!'''<br />
<br />
== Performance ==<br />
<br />
A lot of effort has gone into improving the performance and speed of all aspects in Inkscape. This involved the refactoring of inefficient code, rewriting how Inkscape works with patterns, moving bitmap tracing into a separate thread and so much more!<br />
<br />
Canvas rendering is now both multithreaded and done outside of Inkscape's main process thread. This should significantly improve performance while zooming/panning/transforming objects if your computer's processor has more than one core (which it most likely does).<br />
<br />
In some cases, this results '''in a 2- to 4-fold speedup'''.<br />
<br />
You can set the number of processor cores Inkscape should use for rendering in <code>Edit > Preferences > Rendering > Number of Threads</code>. By default, Inkscape tries to be as fast as possible by using as many cores as possible ([https://gitlab.com/inkscape/inkscape/-/merge_requests?scope=all&state=merged&label_name&#x5B;&#x5D;=Project%3A%3AMultithreading Multithreading MRs], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4760 MR #4760]).<br />
<br />
== General user interface ==<br />
<br />
=== Color Palette ===<br />
<br />
[[File:Indicators of used colors.png|thumb|Indicators for used colors]]<br />
* Color palette fields now have little indicators that show which color is used for the stroke and fill of a selected object. <br />
* Color pinning ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4957 MR #4957]): <br />
** You can select colors from the palette that you are using and 'pin' them to the start of the palette, for faster access. By default, these 4 colors are 'Unset', black, grey and white, but you can choose any other color, too. These fields can be made larger, so they can be easily clicked on.<br />
** To add a color to the pinned colors array, right-click on its palette field and select 'Pin color'. The color will then be moved away from its original location in the palette to the palette start.<br />
** To 'unpin' a color, right-click on the pinned color's field and select 'Unpin color'. <br />
** To choose the pinned colors' size, click on the palette bar's hamburger menu icon and select to 'Configure' it, and check / uncheck the option 'Enlarge pinned colors'.<br />
** Note: Pinned colors only show up if the current palette contains them. So when you switch the palette, some colors may be dropped, and when you switch back to a palette that contains them, they will show again.<br />
<br />
[[File:Inkscape BHd0t2kzml.gif]]<br />
<br />
<br />
=== Pasting Options Renamed, and Paste on Page ===<br />
<br />
The <code>Paste size</code> entry in the <code>Edit</code> menu has been renamed to <code>Paste…</code>, to hold all 'special' pasting operations that you may need.<br />
<br />
A new pasting feature <code>On Page</code> has been added to this renamed menu to paste the copied object(s) into the same position on a different page ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4695 MR #4695]). <br />
<br />
For this to work correctly, you must first select the page to paste on by either:<br />
<br />
* selecting an object on that page before pasting<br />
* selecting the page with the page tool<br />
* changing the current page using the buttons in the status bar<br />
<br />
<br />
=== Snap toolbar ===<br />
<br />
An option was added in <code>Edit → Preferences → Interface → Toolbars</code> to show snapping options permanently in a dedicated toolbar, similar to Inkscape version 1.1 and earlier.<br />
<br />
<br />
=== Keyboard shortcuts ===<br />
<br />
The keyboard shortcuts for aligning objects vertically and horizontally have been moved to the numeric keypad, where the other alignment shortcuts are, too: <br />
<br />
*Vertical alignment was moved from <kbd>Ctrl+Alt+T</kbd> to <kbd>'''Ctrl+Alt+Numpad 1'''</kbd><br />
*Horizontal alignment was moved from <kbd>Ctrl+Alt+H</kbd> to <kbd>'''Ctrl+Alt+Numpad 7'''</kbd><br />
[[File:OKLAB.png|thumb|474x474px]]<br />
If you find yourself unable to reach the new shortcuts (for example, because your laptop does not have a keypad, or because the shortcuts do not work - may be the case on Linux with Xfce), you can set them to something else by changing '''both''' the alignment shortcut '''and''' the function that now uses that shortcut (if any). Use the search in <code>Edit > Preferences > Interface > Keyboard</code>. It also allows searching for shortcuts, not only for their name (e.g. search for 'ctrl+alt+t' to find the new default action that is executed when that combo is pressed).<br />
<br />
<br />
=== Color Pickers ===<br />
<br />
Color pickers in Inkscape now support choosing colors in the '''OKLch''' color space, which has just been adopted into the CSS Color Module Level 4 [https://www.w3.org/TR/css-color-4/#ok-lab draft recommendation]. For those who would like to learn more, OKLch and OKLab are described in detail by its creator [https://bottosson.github.io/posts/oklab/ in a blog post]. <br />
<br />
This additional option is disabled by default. It can be enabled in <code>Edit → Preferences → Interface → Color Selector</code> as "OKHSL", and will then be available in any color picker's dropdown. Note that color values will still be written as RGB hex codes in the SVG source, and Inkscape also does not support reading colors that are defined in that color space. This change is purely adding a new convenient option for choosing colors.<br />
<br />
<br />
=== Rulers ===<br />
<br />
Inkscape's rulers at the canvas boundaries got two new indicator areas:<br />
<br />
* Page: the part of the ruler that corresponds to the current page's location is now colored in a different tone, so you can always see where your page ends.<br />
* Selection: a thin blue line indicates and follows the current selection. This line can be turned off in <code>Edit > Preferences > Interface: Show selection in ruler</code>.<br />
<br />
Ruler performance has been improved along with these changes.<br />
<br />
[needs screenshot of current default]<br />
<br />
<br />
=== Commands Palette ===<br />
<br />
It is no longer necessary to scroll horizontally in the Commands palette (shortcut: <kbd>?</kbd>), as entries are now nicely arranged and formatted and make use of linebreaks. Now all the info for an entry is directly visible ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4988 MR #4988])<br />
<br />
[Needs new screenshot with more up-to-date ruler or entirely without]<br />
<br />
<br />
== Canvas ==<br />
<br />
Pressing '''<code>F</code>''' temporarily hides on-canvas overlays (transformation handles, grids, guides...). This allows quick preview of final artwork without any distractions.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4395<br />
<br />
Added display overlay controls in top right corners. You need to have scrollbars enabled to see it (CTRL+B).<br />
<br />
[[File:Ezgif.com-resizeasd.gif|400x400px]]<br />
<br />
<br />
=== OpenGL (GPU) accelerated canvas ===<br />
An OpenGL-accelerated display mode was added to the canvas to speed up panning, zooming and rotating.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4133<br />
<br />
This is NOT a fully GPU-based renderer; content is still rendered on the CPU in exactly the same way as before, so large performance improvements are not to be expected. It does however result in a smoother display and lower CPU usage, especially on HiDPI screens.<br />
<br />
OpenGL mode is highly experimental and is turned off by default. It can be turned on at<br />
<br />
Preferences -> Rendering -> Enable OpenGL<br />
<br />
Note however the following caveats:<br />
<br />
*Due to packaging problems, when using the Linux AppImage, OpenGL support either does not work (on X11) or crashes (on Wayland).<br />
* Due to GTK3 bugs, OpenGL mode crashes on Windows, blacks out the screen on MacOS, is slower than software rendering on Linux X11, and is only really usable on Wayland.<br />
<br />
For these reasons, it is not expected to be useful until we migrate to GTK4, where we hope that at least some of these bugs have been fixed.<br />
<br />
<br />
=== Smooth auto-scrolling ===<br />
Auto-scrolling happens when you drag an object off the edge of the canvas. We improved smoothness of this action.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5027<br />
<br />
<br />
== Tools ==<br />
<br />
=== General ===<br />
<br />
You can right click on any tool icon in toolbox to see tool preferences.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4982<br />
<br />
<br />
=== Gradient Tool ===<br />
<br />
* Allow changing the ''repeat'' setting when multiple gradients are selected.<br />
* Show 'Multiple gradients' in the stop list when multiple gradients are selected (instead of a random stop).<br />
* Allow editing of the offset of the start/end stops.<br />
* Keep the stop selected after the offset is changed in the toolbar (instead of selecting the first stop of the gradient).<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4339<br />
<br />
<br />
=== Node Tool ===<br />
<br />
[[File:Inkscape xfsvsc2oY9.gif|thumb|editing pattern on canvas]]<br />
<br />
<br />
==== On-Canvas Pattern Editing ====<br />
<br />
Pattern editing on canvas is now easier; you can click on any part of a pattern and it will show you controls at that position. We also added an outline that shows you the edges of the pattern. The first square controls position, the circle controls rotation, and the second square controls size. Hold shift to constrain proportions. <br />
<br />
We also fixed performance problems with patterns, so now you can have smaller patterns in project and zoom in on them without worrying about Inkscape eating up all your RAM.<br />
<br />
<br />
==== Draw around Selection ====<br />
<br />
We added a new (lasso) selection mode for nodes. Hold <kbd>Alt</kbd> and draw with the Node tool around the nodes that you want to select. This saves a lot of time that was needed before, where you needed to add new nodes to the selection by dragging small rectangles while holding <kbd>Shift</kbd>, whenever nodes were not located together in a convenient rectangular area ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4747 MR #4747]).<br />
<br />
<br />
==== Better shape preservation when deleting nodes ====<br />
New, improved curve fitting algorithm from FontForge used when deleting nodes on a "smooth" path (rather than corners)<br />
<br />
[[File:Spline-fit-1.gif]]<br />
<br />
Attempt to apply "preserve shape" only if selected nodes define relatively smooth path. Trying to preserve shape when deleting corners is rarely what's desirable:<br />
<br />
[[File:Spline-fit-2.gif]]<br />
<br />
With "preserve shape" option ON, algorithm may still decide to insert line segments if it detects what it thinks are corners. Holding <code>Ctrl</code> key while deleting inverts this decision:<br />
<br />
[[File:Curve-fit-inverted.gif]]<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5082<br />
<br />
<br />
==== Edit Blur on Canvas ====<br />
<br />
New canvas controls for blurring is showed on canvas, if you add blur in fill and stroke panel or add filter that has Blur. Controls are not linked by default so you can control horizontal and vertical blurring separately. If you hold '''<code>CTRL</code>''' you can control both Axiies linked. You can control arbitrary angle of blurring if you rotate your object after you set your blur.<br />
<br />
[[File:Inkscape fCXLNVIQp7.gif]][[File:Ezgif.com-gif-maker (12).gif|right|600x600px]]<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4867<br />
<br />
<br />
=== Page Tool ===<br />
The Page tool now has controls for margins and bleed:<br />
<br />
* An attribute on the page element to record the margin<br />
* A new html/css style box model with tests<br />
* New UI to set margins in the toolbar<br />
* New on-canvas controls for moving margins (with ctrl/shift)<br />
* New display of margins in the same canvas group as the page border<br />
* Snapping for page margins<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4523<br />
<br />
<br />
=== Selector Tool ===<br />
<br />
New commands:<br />
<br />
*'''Reapply transform''': ''Ctrl+Alt+T'' - This allows a user to perform a transformation multiple times and works from the canvas edits or from transform dialog or the select toolbar. <span style="color: red;">Shortcut needs to change, it opens a terminal on Linux.</span><br />
*'''Duplicate and transform''': ''Ctrl+Alt+D'' -This performs a duplication and then reapplies the previous transform to the duplicate. <span style="color: red;">Shortcut needs to change, it minimizes the window on Linux.</span><br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4506<br />
*'''Clone while dragging:''' drag object + C - Drag and object and press C to clone it in the current position. https://gitlab.com/inkscape/inkscape/-/merge_requests/4752<br />
<br />
=== Shape Builder Tool ===<br />
<br />
New tool for fast shape building and Boolean operations. Shortcut: <code>'''X'''</code>.<br />
<br />
Use: Select multiple overlapping shapes and select the Shape Builder tool. The selection will be fragmented on overlapping areas, while everything else will be hidden until you leave the shape builder. Now you '''Click and drag''' to combine segments together or hold '''Shift + Click and drag''' to subtract, and '''Single click''' on segments to split. Adding is represented by a blue color, removing by pink.<br />
<br />
[[File:Shape_builder.gif]]<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4709<br />
<br />
<br />
== Path Operations ==<br />
<br />
=== Fracture Paths ===<br />
<br />
<code>Path → Fracture</code> - every overlapping path will be split into separate object.<br />
<br />
<br />
=== Flatten Paths === <br />
<br />
<code>Path → Flatten</code> - overlapping objects will be flattened visually (it will delete paths that are hidden behind a top path). Useful for separating colors for Screen printing and offset printing as well as for doing any kind of plotting.<br />
<br />
<br />
== Masking / Clipping==<br />
<br />
*A new option to '''preserve clips / masks when ungrouping''' objects has been added (<code>Edit → Preferences → Behavior → Clippaths and masks: When ungroup, clip/mask is preserved in children</code>). The option is active by default. This means that when you now ungroup a group that has been clipped, the elements inside it will inherit the clip. Previously, the clip was removed and everything became un-clipped. To go back to previous default behavior, deactivate this new option. ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3564 MR #3564])<br />
<br />
<br />
== Dialogs ==<br />
=== Document Resources Dialog ===<br />
<br />
[[File:Document resources dialog.gif|thumb|The Document Resources dialog]]<br />
<br />
Added a new dialog that shows you an overview of what assets are currently inside your document. You can edit names and export some of the resources from this dialog.<br />
<br />
It presents the following document assets:<br />
<br />
* fonts<br />
* styles<br />
* colors<br />
* swatches<br />
* gradients<br />
* filters<br />
* patterns<br />
* symbols<br />
* markers<br />
* images<br />
* external references<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5003<br />
<br />
=== Export Dialog ===<br />
<br />
We added new options for how to export multipage in PDF and SVG formats allowing the selection of a single page out of many to export in the single-export tab and improving how batch exporting is done by ordering pages correctly. <br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5002<br />
<br />
<br />
=== Fill and Stroke Dialog ===<br />
[[File:Pattern editor1.gif|alt=Pattern editor|right|Pattern editor]]<br />
<br />
<br />
==== Pattern Editor ====<br />
<br />
Added in to UI. You can preview patterns, change Name, Size, Rotation, Offset, Gaps and Colors for some specific patterns. We also added collections of patterns in <code>~paint/</code> so it's easier to be organized. Since this allows having many more patterns preinstalled, we also added a search function and a few new default patterns.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4938<br />
<br />
[[File:Inkscape 9yhQG7s68v.gif]]<br />
<br />
<br />
=== Filter Editor ===<br />
[[File:Filter-resize.gif|alt=Filter-resize|Filter-resize|left]]<br />
<br />
Redesign of this dialog:<br />
<br />
*Filter selection moved to a popover<br />
* Effects are listed in a popup menu and can be selected by searching (by name)<br />
* Adjusted connector sizes to make them more compact<br />
* Fixed an issue where all parameters would initially be visible in a docked filter dialog<br />
* Fixed min size of parameters panel to make it fit in a narrow docked dialog<br />
* Reactive layout to accommodate wide dialog<br />
* Added primitive filter attributes to fe-image and fe-tile (#1417)<br />
* Replaced GTK color picker with Inkscape color picker <br />
<br />
*Sources can now be hidden (for most use cases only the source graphic is useful; other inputs are broken or need ux work).<br />https://gitlab.com/inkscape/inkscape/-/merge_requests/4720[[File:Inkscape Y7U4yzIFTq.gif|thumb]]<br />
<br />
<br />
=== Layers and Objects Dialog ===<br />
<br />
UX improvements:<br />
<br />
* You can click and drag to change visibility of multiple objects<br />
* Selecting on group does not auto expand<br />
* Selecting multiple objects and and changing visibility/locking applies to all selected<br />
* We added a search feature; it's a limited implementation - it does not auto-apply search and you need to search for more than 3 characters.<br />
* We added a hover indicator for rows and layer colors<br />
* Added controls for opacity and blending mode<br />
<br />
We added shortcuts for layers navigation and actions:<br />
<br />
* Arrows to navigate<br />
* Space bar confirms (select, apply, open)<br />
* Shift -> <- open close group<br />
* Shift up down to move in Z orde <br />Improved performance for editing of many obejcts at once<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5183[[File:VirtualBoxVM I675gipqe1.gif|thumb|1017x1017px|Place holder demo of new LPE dialog]]<br />
<br />
<br />
=== Live Path Effects (LPE) ===<br />
<br />
==== LPE Dialog ====<br />
The compact new design merges organization and controls into one unit. You can reorder LPE by dragging and dropping the whole effect. It adds a fast search box, and a fast dropdown for adding effects.<br />
<br />
Each LPE has 5 controls:<br />
<br />
* Show/hide controls<br />
* Visibility of effect<br />
* Delete effect<br />
* Context menu <br />
** Re-order<br />
** Duplicate<br />
** Set as default<br />
** Flatten<br />
<br />
[[File:LPE organization.png|right|266x266px]]<br />
<br />
[<span style="color:red;">TODO: gif file needs to be edited!</span>]<br />
<br />
==== Reorganization of LPEs ====<br />
<br />
Since we needed a more compact way to show all LPEs, we decided on a list that is organized into 6 categories:<br />
Tools, Distort, Generate, Convert, Experimental + Favorite<br />
<br />
<br />
==== Changes ====<br />
<br />
* Setting presets for LPE was moved into contextual menu<br />
* Setting Favorite LPE was moved into contextual menu<br />
* Added new feature: flatten - This will apply effect to geometry. It will apply all effects in the stack.<br />
* We removed LPE gallery (you can still enable it in preferences if you wish: <code>Preferences > Behavior > LPE</code>)<br />
* To see experimental LPEs you need to enable it in Preferences: <code>Preferences > Behavior > LPE</code><br />
* Added an indicator showing which object is selected<br />
* Added conversion commands when you select text objects - since text does not support LPEs yet we added a workaround that converts text to paths or clones the text.<br />
* If you select an object that is associated with an LPE (Clone, Boolean operations, Bend, Fill between many, etc...) you will see a button in the dialog that will take you to the linked geometry/controls.<br />
* Labels inside effects are aligned nicely<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4677<br />
<br />
<br />
=== Swatches Dialog ===<br />
<br />
In the Swatches dialog, the option to display colors together with their names (from the .gpl palette file), in a vertical list, is back again. <br />
<br />
Enable it by clicking on the Hamburger menu, choosing 'Configure' and selecting the option 'Show color labels' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4957 MR #4957]).[[File:Ezgif.com-optimizeasda.gif|right]]<br />
<br />
<br />
=== Symbols Dialog ===<br />
<br />
This dialog got a new redesign:<br />
<br />
* Migrated dialog settings to a popover.<br />
* Saving dialog UI state in preferences (current symbol set and settings are remembered).<br />
* Larger range for scaling (tile size) and symbol zooming.<br />
* Fixed symbol selection color for dark themes.<br />
* Added option to show symbols names.<br />
* Rendering symbols at screen resolution - sharp (high-dpi aware).<br />
* List of symbol sets is searchable and can be filtered.<br />
* Symbol search is live (no need to press enter).<br />
* Symbol rendering is done on-demand, to limit memory use and time needed to switch sets.<br />
* Stats: total number of symbols / how many are visible.<br />
<br />
<br />
==== New features ====<br />
<br />
* You can drag and drop symbols on canvas and they are going to be placed exactly where you dropped them.<br />
* A new icon - the "peace" symbol.<br />
* Improved performance.<br />
* Add visio modern formats vssx and vsdx. Symbols are loaded once, not in each window.<br />
* We added new stock symbols SJJB map icons.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4975 <br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4994 <br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4666<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4883<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4793<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4784<br />
<br />
<br />
=== Text and Font Dialog ===<br />
<br />
==== Font Collections ====<br />
<br />
[[File:Font collections opt.gif|thumb|Font collections]]<br />
<br />
[todo: document features and how to use them ]<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4694<br />
<br />
<br />
=== Trace Bitmap Dialog ===<br />
<br />
Got significant performance boost and a progress bar. Now it runs in the background, allowing you to cancel it if it's taking too long. <br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4702<br />
<br />
<br />
=== Welcome Dialog ===<br />
Files are sorted by their last modified date. We Added recovery for files in this list after crash. You can see then by text Emergency save next to file.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5058<br />
<br />
<br />
=== XML Editor ===<br />
<br />
[[File:Syntax highlighting.png|thumb|Syntax highlighting in XML Editor]]<br />
We did small cosmetic changes to UI of this dialog: <br />
<br />
* smaller icons (16x16px),<br />
* removed text tool tips.<br />
* Added responsive layout and moved layout controls to the top in a dropdown (auto layout is the default option).<br />
<br />
<br />
==== Syntax Highlighting ====<br />
<br />
For improving readability we added syntax highlighting and auto line-breaking. This works for CSS style tag, inline styling, d <path data>. You can change highlighting themes in <code>Preferences > Interface > Theming</code><br />
<br />
<br />
==== Rounding path data ====<br />
We added a feature to round path data. You can also set how many decimal points you want to round to. This gives you granular control over optimizing size of svgs <br />
<br />
[[File:Inkscape GAlKvNTcCm.gif]]<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4885<br />
<br />
<br />
== Filters ==<br />
<br />
<br />
== Live path effects ==<br />
LPE Dialog was completely redesign see [[New redesigned LPE dialog]] for more details. Performance of most of the effects was improved. <br />
=== Roughen ===<br />
UI clean-up and reordering of the controls.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4872<br />
<br />
=== Taper Stroke ===<br />
Added support for sub-paths.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4906<br />
<br />
=== Power Stroke ===<br />
Added support for sub-paths.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4880<br />
<br />
=== Corners ===<br />
New design for canvvas controls that should improve usability<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5164<br />
<br />
<br />
<br />
== Import / Export ==<br />
<br />
=== Refactoring of PDF and AI import ===<br />
The PDF importer was using the svg group as a way of tracking the GfxState matrix, but this actually causes a lot of problems. Using the Sfx CTM matrix state directly provides dependable positions and transformations for creating objects.<br />
<br />
* New import PDF dialog GUI using glade<br />
* Added PDF layer support<br />
* Merging of similar path stroke/fill objects<br />
* Removal of state groups<br />
* Rendering text methods, to glyphs and to text<br />
* Embedded font handling for rendering methods<br />
* Much better font-name detection<br />
* ICC Color Profile support<br />
* Margins, bleeds and page sizes retained.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4757<br />
<br />
<br />
== Templates ==<br />
<br />
All template dialogs (Welcome screen, New from Template, Page tool default sizes) now use the same template sizes ([https://gitlab.com/inkscape/extensions/-/merge_requests/479] MR #479)<br />
<br />
<br />
== Customization / Theming ==<br />
Added user.css to UI folder to allow tweaking UI without interfering with or fully overriding other css files. https://gitlab.com/inkscape/inkscape/-/merge_requests/5004<br />
<br />
Fixed hidden icons on menus: https://gitlab.com/inkscape/inkscape/-/merge_requests/4686<br />
<br />
<br />
== Other ==<br />
Added support for <code>href</code> and <code>xlink:href</code> in SVG header. This makes Inkscape more compatible with SVG 2.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/4596<br />
<br />
<br />
== MacOS-specific Changes ==<br />
<br />
<br />
== Windows-specific Changes ==<br />
<br />
Inkscape detect dark and light theme and maches color of the title bar.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/5144<br />
== Extensions ==<br />
<br />
=== Features ===<br />
Speed up processing especially on complex documents: https://gitlab.com/inkscape/inkscape/-/merge_requests/4996<br />
<br />
<br />
==== General Extension Changes ====<br />
<br />
<br />
==== New Extensions ====<br />
<br />
<br />
==== Particular extensions ====<br />
<br />
<br />
=== Bugs fixed ===<br />
<br />
<br />
==== All extensions ====<br />
<br />
<br />
==== Particular extensions ====<br />
<br />
<br />
=== Extension Development ===<br />
<br />
<br />
==== API Changes for Third-Party Extension Developers ====<br />
<br />
<br />
==== Extension Development Documentation ====<br />
<br />
<br />
==== Under the hood ====<br />
<br />
<br />
== Command line ==<br />
<br />
Added a new parameter --actions-file. You specify a list like in --actions but in a file to allow bypassing Windows comandline length limit, and also to allow reuse of action lists.<br />
<br />
Added a new parameter --active-window / -q that runs all commands on the active window of an already-running instance of Inkscape.<br />
<br />
<br />
== Behind the curtains ==<br />
<br />
<br />
== Notable bugfixes ==<br />
=== Crash fixes ===<br />
<br />
Fixed a crash that occurred…<br />
<br />
* When…<br />
<br />
<br />
=== Other bug fixes ===<br />
<br />
* LPE related undo bugs: https://gitlab.com/inkscape/inkscape/-/merge_requests/4520<br />
* Fixed bspline LPE with cusp nodes when initially using with node tool. https://gitlab.com/inkscape/inkscape/-/merge_requests/5016<br />
* <use>s retain their LPE correctly when unlinked or converted to paths. The old convert to paths behaviour is still available in the Preferences. https://gitlab.com/inkscape/inkscape/-/merge_requests/5016<br />
<br />
=== Even more bug fixes ===<br />
<br />
There were even more issues fixed than those listed above, but these probably only affect a small proportion of users, or are relevant for development and packaging only.<br />
<br />
For a complete list, visit [https://gitlab.com/inkscape/inkscape/-/issues?milestone_title=Inkscape+1.3 our GitLab issue tracker] and see the [https://gitlab.com/inkscape/inkscape/-/commits/1.3.x commit history].<br />
<br />
<br />
== Translations ==<br />
<br />
The following UI translations received updates:<br />
<br />
*…<br />
<br />
The Windows installer translation was updated for:<br />
<br />
*…<br />
<br />
The following documentation translations received updates:<br />
<br />
*…<br />
<br />
<br />
=== Contributing to interface translations ===<br />
<br />
Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]<br />
<br />
<br />
== Documentation ==<br />
<br />
=== Contributing to documentation and documentation translation ===<br />
Contributions to the documentation translations, as well as improvements to its contents, are welcome at [https://gitlab.com/inkscape/inkscape-docs/documentation the inkscape-docs repository].<br />
<br />
<br />
== Website ==<br />
<br />
<br />
== Important changes for packagers ==<br />
<br />
<br />
== Known issues ==<br />
<br />
<br />
== Other releases ==<br />
<br />
{{:Release notes}}</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=BlueprintNewMethodForResizingAndPositioning&diff=122247BlueprintNewMethodForResizingAndPositioning2023-03-13T15:17:29Z<p>Doctormo: Replaced content with "{{Deleted}} Category:Proposals"</p>
<hr />
<div>{{Deleted}}<br />
[[Category:Proposals]]</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Inkscape047-PRannounce-ja&diff=122246Inkscape047-PRannounce-ja2023-03-13T15:14:31Z<p>Doctormo: Replaced content with "{{Deleted}}"</p>
<hr />
<div>{{Deleted}}</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=GtkMMification&diff=122245GtkMMification2023-03-13T15:11:43Z<p>Doctormo: Replaced content with "{{Deleted}}"</p>
<hr />
<div>{{Deleted}}</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Why_Inkscape&diff=122244Why Inkscape2023-03-13T14:55:39Z<p>Doctormo: Replaced content with "{{Deleted}}"</p>
<hr />
<div>{{Deleted}}</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=ArticlesEtPresentations&diff=122243ArticlesEtPresentations2023-03-13T14:55:01Z<p>Doctormo: Replaced content with "{{Moved to the website}}"</p>
<hr />
<div>{{Moved to the website}}</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Adding_interface_verbs&diff=122241Adding interface verbs2023-03-13T14:51:57Z<p>Doctormo: Replaced content with "{{Deleted}}"</p>
<hr />
<div>{{Deleted}}</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Stable_branch_updates&diff=122239Stable branch updates2023-03-13T14:51:26Z<p>Doctormo: Replaced content with "{{Deleted}}"</p>
<hr />
<div>{{Deleted}}</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Moho&diff=122238Moho2023-03-13T14:50:15Z<p>Doctormo: Replaced content with "{{Deleted}}"</p>
<hr />
<div>{{Deleted}}</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Template:Deleted&diff=122236Template:Deleted2023-03-13T14:48:52Z<p>Doctormo: Created page with "This page has been deleted. 👢"</p>
<hr />
<div>This page has been deleted. 👢</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2023_Bensberg&diff=122200Hackfest2023 Bensberg2023-02-27T18:04:59Z<p>Doctormo: </p>
<hr />
<div>[[File:Hackfest bensberg sticker.png|left|thumb|150x150px]]<br />
This page '''<big>IS WORK IN PROGRESS</big>''' and details the planning of Inkscape's 2023 hackfest in Bensberg, Germany. The hackfest will take place on '''March 13-17, 2023'''. We are looking to bring together a group of '''10 attendees'''. <s>but do not let that number discourage you from throwing your hat in the ring in case we reach/go over it.</s> We are fully booked and the number of participants is final now.<br />
<br />
This hackfest is a standalone event and not organized around any other event or FOSS conference.<br />
<br />
Previous events: [[Hackfest2019 Saarbrücken]], [[Hackfest2019 SCALE]], [[Hackfest2018 Kiel]], [[Hackfest2018 LGM]], [[Hackfest2018]], [[Hackfest2017]], [[Hackfest2016]], [[Hackfest2015]].<br />
[[Category:Hackfest]]<br />
<br />
<br />
=Description=<br />
It's a hackfest! We will work on Inkscape bugs, new features, packaging, website issues, ... in fact anything that can benefit from us being physically in the same space. And let's not forget about the social component - we get to hang and talk and laugh in person since we usually only meet virtually :).<br />
==Bensberg==<br />
Bensberg is part of Bergisch Gladbach, a city in the western part of Germany, about 15 km east of Cologne. It is beautifully located in the countryside, surrounded by lush forests slightly elevated to give a great view depending on weather conditions. The nearest airport is Cologne Bonn (CGN) which is an international airport. <br />
*[https://en.wikipedia.org/wiki/Bergisch_Gladbach Bergisch Gladbach on Wikipedia]<br />
[[File:Bensberg.png|none|thumb|Bensberg (range indicated to Cologne's Cathedral). Screenshot from Google Maps.]]<br />
<br />
==Venue==<br />
Our host is the [https://www.akademie-generali.de/en/home Generali Akademie], the dedicated education and conference center of the Generali Group in Germany (it's an insurance company). The location's special appeal is its all-inclusive package: conference rooms, hotel rooms and full catering service are conveniently provided on-site.<br />
<br />
''(full disclosure: as an employee, RdH has been there multiple times)''<br />
{| class="wikitable"<br />
|+<br />
!official address<br />
!for navigation systems<br />
|-<br />
|Generali Akademie<br />
Am Schloss 1-3<br />
<br />
51429 Bergisch-Gladbach<br />
<br />
Germany<br />
|Generali Akademie<br />
Jan-Wellem-Straße<br />
<br />
51429 Bergisch-Gladbach<br />
<br />
Germany<br />
|}<br />
<br />
===Catering===<br />
We have full catering on-site, i.e. breakfast, lunch and dinner including non-alcoholic drinks. Our meeting room also comes with coffee and beverages throughout the day.<br />
===Facilities===<br />
*Wireless networking (fast broadband), powered by [https://www.m3connect.de/ m3connect]<br />
* <u>No wired network available</u><br />
*Europlug type F<br />
** we should bring some power strips<br />
*LCD projector, DVD player, VHS VCR (lol!)<br />
*swimming pool, whirlpool, sauna<br />
=== Vicinity===<br />
Nature. A castle. A small city.<br />
<br />
=== Arrival and Departure ===<br />
All times UTC+1.<br />
<br />
* earliest arrival on Monday: 8am<br />
** hotel rooms available: 3pm<br />
* latest departure on Friday: 5pm<br />
** We have some flexibility here, but we need to tell our hosts in advance.<br />
<br />
==Travel information==<br />
Your main destination is Cologne.<br />
<br />
=== from Cologne/Bonn airport (CGN) to central station ===<br />
Take the tram [https://ekap-download.vrs.de/downloads/linien/mini-fahrplan/2023_1219_S19.pdf?1671001552 S19] to Cologne central station. Travel time is about 15 minutes. The tram is scheduled every 20 minutes for most of the day.<br />
<br />
=== from Cologne central station to Bensberg (public transportation) ===<br />
Take the bus [https://ekap-download.vrs.de/downloads/linien/mini-fahrplan/2023_40_SB40.pdf?1670826858 Schnellbus SB 40] that directly connects Cologne central station to Bensberg (final stop). Travel time is about 30 minutes. This bus is scheduled every half hour between 6am and 8pm.<br />
[[File:Central station.png|none|thumb]]<br />
Once you arrive at the [https://ekap-download.vrs.de/downloads/haltestellen/lageplan/u_Bergisch_Gladbach_Bensberg.pdf?1670243814 bus stop in Bensberg], you can either take a taxi or walk about 900m to our location.<br />
[[File:Bus stop bensberg.png|none|thumb]]<br />
<br />
=== from Cologne central station to Bensberg (cab) ===<br />
Our hosts have special conditions with a local cab service (https://www.transfer-nurdogan.de/). I can't tell if that's cheaper compared to the others or just for a classy look:<br />
<br />
* 45 € (standard)<br />
* 50 € (large cab, suitable for sharing)<br />
<br />
== Hotels ==<br />
Hotel rooms are provided on-site and are part of our conference package, no dedicated booking necessary.<br />
<br />
==Cost calculation==<br />
<br />
=== per attendee ===<br />
<br />
The fee for housing and catering per attendee is 837 € and is due on the last day of the event, payable via debit or credit card (VISA, Mastercard) by each individual themself. A billing address needs to be provided in advance.<syntaxhighlight lang="text"><br />
hotel room incl. breakfast 127 € x 4 days = 508 €<br />
catering service (days 1-4) 70 € x 4 days = 280 €<br />
catering service (day 5) 49 € x 1 day = 49 €<br />
-------------------------------------------- 837 €<br />
</syntaxhighlight><br />
<br />
=== joint event ===<br />
One attendee (RdH) needs to pay the additional fees for the joint event. This covers the meeting room (900 €) and all the alcoholic drinks (estimated 500 €) that have been consumed during the event. ''(Alcoholic drinks are not included in our otherwise "all inclusive" package and individual payment is not possible.)''<syntaxhighlight lang="text"><br />
meeting room (days 1-5) 180 € x 5 days = 900 €<br />
alcoholic drinks 500 € x 1 = 500 €<br />
-------------------------------------------- 1,400 €<br />
</syntaxhighlight><br />
<br />
=== Total ===<br />
<br />
Using the interim results from above, this brings us to a total cost (excl. travel) of 9,770 €.<syntaxhighlight lang="text"><br />
participants 837 € x 10 = 8,370 €<br />
joint event 1400 € x 1 = 1,400 €<br />
-------------------------------------------- 9,770 €<br />
</syntaxhighlight><br />
=Attendance =<br />
<br />
*Hackfest Bensberg 2023 takes place on '''March 13-17, 2023'''<br />
*deadline to apply for attendance is '''February 01, 2023'''<br />
<br />
== preface==<br />
In an initial poll, 8 people expressed their interest/availability for this hackfest. Based on this number we are planning for 10 attendees. Should more people be interested, we'll try our best to expand - the earlier we know, the better! If we don't reach 10, we will try to scale down our booking. If you are interested, don't hold yourself back!<br />
<br />
==I want to attend!==<br />
That's great! Be aware of the following: <br />
<br />
*You are making a commitment here which will produce expenses for the project. Please make sure that you will be able to honor this commitment! ''(Are you table to take the week off from your day job? Are you able to travel? etc.)''<br />
* Every attendee will have to pay their fee of 837 € on the last day of the hackfest. There is something special about payment methods that we will have to talk about privately, I'll contact everyone. ''(After the hackfest you can follow the reimbursement procedure.)''<br />
*You are eligible to apply no matter if you participated in the initial poll/"call for interest". ''(Only in case we end up being seriously overbooked and cannot accommodate for everybody we will take the initial poll into account.)''<br />
<br />
Now go ahead and add yourself to this table (or ask in [https://gitlab.com/inkscape/inbox/-/issues/8109 this issue] and it will be done for you):<br />
<br />
<br />
Join the Signal phone group to keep in touch with everyone during the event.<br />
{| class="wikitable"<br />
|+<br />
!Name<br />
!GitLab handle<br />
!Inbound<br />
!Outbound<br />
|-<br />
|Martin Owens<br />
|@doctormo<br />
|LH423 13T05:15 FRA<br />
|UA8853 21T10:50 FRA<br />
|-<br />
|Jonathan Neuhauser<br />
|@joneuhauser<br />
|13.03. 9:55 (Bensberg)<br />
|17.03. 16:08 (Bensberg)<br />
|-<br />
|Tavmjong Bah<br />
|@Tavmjong<br />
|13.03 13:15 Cologne<br />
|17.03 18:43 Cologne<br />
|-<br />
|Marc Jeanmougin<br />
|@marcjeanmougin<br />
|12.03 13h15 Cologne Hbf<br />
|19.03 13h42 Cologne Hbf<br />
|-<br />
|Chris Rogers<br />
|@CRogers <br />
|booked - ok!<br />
|booked - ok!<br />
|-<br />
|René de Hesselle<br />
|@dehesselle<br />
|13.03. 9:00 (Bensberg)<br />
|17.03. 17:00 (Bensberg)<br />
|-<br />
|Jabier Arraiza<br />
|@jabiertxof<br />
|<br />
|<br />
|-<br />
|Thomas Holder<br />
|@speleo3<br />
|13.03. 12:05 Cologne Hbf<br />
|17.03. 17:55 Cologne Hbf<br />
|-<br />
|Ted Gould<br />
|@ted.gould<br />
|booked - ok!<br />
|booked - ok!<br />
|-<br />
|Nicco Kunzmann<br />
|@niccokunzmann<br />
|Booked<br />
|Booked<br />
|}<br />
<br />
== I want SFC to pay for my flight/train ==<br />
<br />
* @doctormo<br />
* @jabiertxof<br />
* @niccokunzmann<br />
*@speleo3<br />
<br />
== Hackfest Agenda ==<br />
<br />
=== Add your ideas here! We'll make a tentative agenda at the start ===<br />
<br />
* Organization<br />
** Community: Vectors, Testers, Translators, etc.<br />
*** Social video call with Vectors.<br />
***Is there interest in merging communities? E.g. our user channel and Discord?<br />
** Board election<br />
** Financial status<br />
** Paid development<br />
* Infrastructure<br />
** Website, social media<br />
** Resources for developers<br />
* GSoC and Outreachy<br />
**rework [[Google Summer of Code]] page to give more guidance for first-timers so that Vectors and others don't have to answer the same questions across dozens of channels every year https://chat.inkscape.org/channel/team_vectors?msg=9TPcKXybuSWZNSndw<br />
**"raising the bar": beginner friendly vs minimum required experience<br />
* Development discussions<br />
** Releases<br />
** Dependencies<br />
** Bug fixing<br />
** GTK4<br />
** Refactoring<br />
**advancing C++ standard (depends on change in macOS pipeline)<br />
***getting rid of boost<br />
***using newer stuff from std<br />
** etc.<br />
* Hacking<br />
** Code reviews<br />
** Critical bugs for 1.3</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=CrossCompilingWindows&diff=122182CrossCompilingWindows2023-02-21T15:16:14Z<p>Doctormo: </p>
<hr />
<div>See https://gitlab.com/inkscape/devel/crossink/-/tree/main</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2023_Bensberg&diff=122152Hackfest2023 Bensberg2023-02-14T17:24:25Z<p>Doctormo: Add signal note.</p>
<hr />
<div>[[File:Hackfest bensberg sticker.png|left|thumb|150x150px]]<br />
This page '''<big>IS WORK IN PROGRESS</big>''' and details the planning of Inkscape's 2023 hackfest in Bensberg, Germany. The hackfest will take place on '''March 13-17, 2023'''. We are looking to bring together a group of '''10 attendees'''. <s>but do not let that number discourage you from throwing your hat in the ring in case we reach/go over it.</s> We are fully booked and the number of participants is final now.<br />
<br />
This hackfest is a standalone event and not organized around any other event or FOSS conference.<br />
<br />
Previous events: [[Hackfest2019 Saarbrücken]], [[Hackfest2019 SCALE]], [[Hackfest2018 Kiel]], [[Hackfest2018 LGM]], [[Hackfest2018]], [[Hackfest2017]], [[Hackfest2016]], [[Hackfest2015]].<br />
[[Category:Hackfest]]<br />
<br />
<br />
=Description=<br />
It's a hackfest! We will work on Inkscape bugs, new features, packaging, website issues, ... in fact anything that can benefit from us being physically in the same space. And let's not forget about the social component - we get to hang and talk and laugh in person since we usually only meet virtually :).<br />
==Bensberg==<br />
Bensberg is part of Bergisch Gladbach, a city in the western part of Germany, about 15 km east of Cologne. It is beautifully located in the countryside, surrounded by lush forests slightly elevated to give a great view depending on weather conditions. The nearest airport is Cologne Bonn (CGN) which is an international airport. <br />
*[https://en.wikipedia.org/wiki/Bergisch_Gladbach Bergisch Gladbach on Wikipedia]<br />
[[File:Bensberg.png|none|thumb|Bensberg (range indicated to Cologne's Cathedral). Screenshot from Google Maps.]]<br />
<br />
==Venue==<br />
Our host is the [https://www.akademie-generali.de/en/home Generali Akademie], the dedicated education and conference center of the Generali Group in Germany (it's an insurance company). The location's special appeal is its all-inclusive package: conference rooms, hotel rooms and full catering service are conveniently provided on-site.<br />
<br />
''(full disclosure: as an employee, RdH has been there multiple times)''<br />
{| class="wikitable"<br />
|+<br />
!official address<br />
!for navigation systems<br />
|-<br />
|Generali Akademie<br />
Am Schloss 1-3<br />
<br />
51429 Bergisch-Gladbach<br />
<br />
Germany<br />
|Generali Akademie<br />
Jan-Wellem-Straße<br />
<br />
51429 Bergisch-Gladbach<br />
<br />
Germany<br />
|}<br />
<br />
===Catering===<br />
We have full catering on-site, i.e. breakfast, lunch and dinner including non-alcoholic drinks. Our meeting room also comes with coffee and beverages throughout the day.<br />
===Facilities===<br />
*Wireless networking (fast broadband), powered by [https://www.m3connect.de/ m3connect]<br />
* <u>No wired network available</u><br />
*Europlug type F<br />
** we should bring some power strips<br />
*LCD projector, DVD player, VHS VCR (lol!)<br />
*swimming pool, whirlpool, sauna<br />
=== Vicinity===<br />
Nature. A castle. A small city.<br />
<br />
=== Arrival and Departure ===<br />
All times UTC+1.<br />
<br />
* earliest arrival on Monday: 8am<br />
** hotel rooms available: 3pm<br />
* latest departure on Friday: 5pm<br />
** We have some flexibility here, but we need to tell our hosts in advance.<br />
<br />
==Travel information==<br />
Your main destination is Cologne.<br />
<br />
=== from Cologne/Bonn airport (CGN) to central station ===<br />
Take the tram [https://ekap-download.vrs.de/downloads/linien/mini-fahrplan/2023_1219_S19.pdf?1671001552 S19] to Cologne central station. Travel time is about 15 minutes. The tram is scheduled every 20 minutes for most of the day.<br />
<br />
=== from Cologne central station to Bensberg (public transportation) ===<br />
Take the bus [https://ekap-download.vrs.de/downloads/linien/mini-fahrplan/2023_40_SB40.pdf?1670826858 Schnellbus SB 40] that directly connects Cologne central station to Bensberg (final stop). Travel time is about 30 minutes. This bus is scheduled every half hour between 6am and 8pm.<br />
[[File:Central station.png|none|thumb]]<br />
Once you arrive at the [https://ekap-download.vrs.de/downloads/haltestellen/lageplan/u_Bergisch_Gladbach_Bensberg.pdf?1670243814 bus stop in Bensberg], you can either take a taxi or walk about 900m to our location.<br />
[[File:Bus stop bensberg.png|none|thumb]]<br />
<br />
=== from Cologne central station to Bensberg (cab) ===<br />
Our hosts have special conditions with a local cab service (https://www.transfer-nurdogan.de/). I can't tell if that's cheaper compared to the others or just for a classy look:<br />
<br />
* 45 € (standard)<br />
* 50 € (large cab, suitable for sharing)<br />
<br />
== Hotels ==<br />
Hotel rooms are provided on-site and are part of our conference package, no dedicated booking necessary.<br />
<br />
==Cost calculation==<br />
<br />
=== per attendee ===<br />
<br />
The fee for housing and catering per attendee is 837 € and is due on the last day of the event, payable via debit or credit card (VISA, Mastercard) by each individual themself. A billing address needs to be provided in advance.<syntaxhighlight lang="text"><br />
hotel room incl. breakfast 127 € x 4 days = 508 €<br />
catering service (days 1-4) 70 € x 4 days = 280 €<br />
catering service (day 5) 49 € x 1 day = 49 €<br />
-------------------------------------------- 837 €<br />
</syntaxhighlight><br />
<br />
=== joint event ===<br />
One attendee (RdH) needs to pay the additional fees for the joint event. This covers the meeting room (900 €) and all the alcoholic drinks (estimated 500 €) that have been consumed during the event. ''(Alcoholic drinks are not included in our otherwise "all inclusive" package and individual payment is not possible.)''<syntaxhighlight lang="text"><br />
meeting room (days 1-5) 180 € x 5 days = 900 €<br />
alcoholic drinks 500 € x 1 = 500 €<br />
-------------------------------------------- 1,400 €<br />
</syntaxhighlight><br />
<br />
=== Total ===<br />
<br />
Using the interim results from above, this brings us to a total cost (excl. travel) of 9,770 €.<syntaxhighlight lang="text"><br />
participants 837 € x 10 = 8,370 €<br />
joint event 1400 € x 1 = 1,400 €<br />
-------------------------------------------- 9,770 €<br />
</syntaxhighlight><br />
=Attendance =<br />
<br />
*Hackfest Bensberg 2023 takes place on '''March 13-17, 2023'''<br />
*deadline to apply for attendance is '''February 01, 2023'''<br />
<br />
== preface==<br />
In an initial poll, 8 people expressed their interest/availability for this hackfest. Based on this number we are planning for 10 attendees. Should more people be interested, we'll try our best to expand - the earlier we know, the better! If we don't reach 10, we will try to scale down our booking. If you are interested, don't hold yourself back!<br />
<br />
==I want to attend!==<br />
That's great! Be aware of the following: <br />
<br />
*You are making a commitment here which will produce expenses for the project. Please make sure that you will be able to honor this commitment! ''(Are you table to take the week off from your day job? Are you able to travel? etc.)''<br />
* Every attendee will have to pay their fee of 837 € on the last day of the hackfest. There is something special about payment methods that we will have to talk about privately, I'll contact everyone. ''(After the hackfest you can follow the reimbursement procedure.)''<br />
*You are eligible to apply no matter if you participated in the initial poll/"call for interest". ''(Only in case we end up being seriously overbooked and cannot accommodate for everybody we will take the initial poll into account.)''<br />
<br />
Now go ahead and add yourself to this table (or ask in [https://gitlab.com/inkscape/inbox/-/issues/8109 this issue] and it will be done for you):<br />
<br />
<br />
Join the Signal phone group to keep in touch with everyone during the event.<br />
{| class="wikitable"<br />
|+<br />
!Name<br />
!GitLab handle<br />
!Inbound<br />
!Outbound<br />
|-<br />
|Martin Owens<br />
|@doctormo<br />
|LH423 13T05:15 FRA<br />
|UA8853 21T10:50 FRA<br />
|-<br />
|Jonathan Neuhauser<br />
|@joneuhauser<br />
|<br />
|<br />
|-<br />
|Tavmjong Bah<br />
|@Tavmjong<br />
|<br />
|<br />
|-<br />
|Marc Jeanmougin<br />
|@marcjeanmougin<br />
|<br />
|<br />
|-<br />
|Chris Rogers<br />
|@CRogers <br />
|<br />
|<br />
|-<br />
|René de Hesselle<br />
|@dehesselle<br />
|<br />
|<br />
|-<br />
|Jabier Arraiza<br />
|@jabiertxof<br />
|<br />
|<br />
|-<br />
|Thomas Holder<br />
|@speleo3<br />
|<br />
|<br />
|-<br />
|Ted Gould<br />
|@ted.gould<br />
|<br />
|<br />
|-<br />
|Nicco Kunzmann<br />
|@niccokunzmann<br />
|<br />
|<br />
|}<br />
<br />
== I want SFC to pay for my flight/train ==<br />
<br />
* @doctormo<br />
* @jabiertxof<br />
* @niccokunzmann<br />
<br />
== Hackfest Agenda ==<br />
<br />
=== Add your ideas here! We'll make a tentative agenda at the start ===<br />
<br />
* Organization<br />
** Community: Vectors, Testers, Translators, etc.<br />
*** Social video call with Vectors.<br />
***Is there interest in merging communities? E.g. our user channel and Discord?<br />
** Board election<br />
** Financial status<br />
** Paid development<br />
* Infrastructure<br />
** Website, social media<br />
** Resources for developers<br />
* GSoC and Outreachy<br />
* Development discussions<br />
** Releases<br />
** Dependencies<br />
** Bug fixing<br />
** GTK4<br />
** Refactoring<br />
**advancing C++ standard (depends on change in macOS pipeline)<br />
***getting rid of boost<br />
***using newer stuff from std<br />
** etc.<br />
* Hacking<br />
** Code reviews<br />
** Critical bugs for 1.3</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2023_Bensberg&diff=122134Hackfest2023 Bensberg2023-02-10T16:43:05Z<p>Doctormo: </p>
<hr />
<div>[[Category:Hackfest]]<br />
<br />
This page '''<big>IS WORK IN PROGRESS</big>''' and details the planning of Inkscape's 2023 hackfest in Bensberg, Germany. The hackfest will take place on '''March 13-17, 2023'''. We are looking to bring together a group of '''10 attendees'''. <s>but do not let that number discourage you from throwing your hat in the ring in case we reach/go over it.</s> We are fully booked and the number of participants is final now.<br />
<br />
This hackfest is a standalone event and not organized around any other event or FOSS conference.<br />
<br />
Previous events: [[Hackfest2019 Saarbrücken]], [[Hackfest2019 SCALE]], [[Hackfest2018 Kiel]], [[Hackfest2018 LGM]], [[Hackfest2018]], [[Hackfest2017]], [[Hackfest2016]], [[Hackfest2015]].<br />
=Description=<br />
It's a hackfest! We will work on Inkscape bugs, new features, packaging, website issues, ... in fact anything that can benefit from us being physically in the same space. And let's not forget about the social component - we get to hang and talk and laugh in person since we usually only meet virtually :).<br />
==Bensberg==<br />
Bensberg is part of Bergisch Gladbach, a city in the western part of Germany, about 15 km east of Cologne. It is beautifully located in the countryside, surrounded by lush forests slightly elevated to give a great view depending on weather conditions. The nearest airport is Cologne Bonn (CGN) which is an international airport. <br />
*[https://en.wikipedia.org/wiki/Bergisch_Gladbach Bergisch Gladbach on Wikipedia]<br />
[[File:Bensberg.png|none|thumb|Bensberg (range indicated to Cologne's Cathedral). Screenshot from Google Maps.]]<br />
<br />
==Venue==<br />
Our host is the [https://www.akademie-generali.de/en/home Generali Akademie], the dedicated education and conference center of the Generali Group in Germany (it's an insurance company). The location's special appeal is its all-inclusive package: conference rooms, hotel rooms and full catering service are conveniently provided on-site.<br />
<br />
''(full disclosure: as an employee, RdH has been there multiple times)''<br />
{| class="wikitable"<br />
|+<br />
!official address<br />
!for navigation systems<br />
|-<br />
|Generali Akademie<br />
Am Schloss 1-3<br />
<br />
51429 Bergisch-Gladbach<br />
<br />
Germany<br />
|Generali Akademie<br />
Jan-Wellem-Straße<br />
<br />
51429 Bergisch-Gladbach<br />
<br />
Germany<br />
|}<br />
<br />
===Catering===<br />
We have full catering on-site, i.e. breakfast, lunch and dinner including non-alcoholic drinks. Our meeting room also comes with coffee and beverages throughout the day.<br />
===Facilities===<br />
*Wireless networking (fast broadband), powered by [https://www.m3connect.de/ m3connect]<br />
* <u>No wired network available</u><br />
*Europlug type F<br />
** we should bring some power strips<br />
*LCD projector, DVD player, VHS VCR (lol!)<br />
*swimming pool, whirlpool, sauna<br />
=== Vicinity===<br />
Nature. A castle. A small city.<br />
<br />
=== Arrival and Departure ===<br />
Earliest arrival on Monday is TBA<br />
<br />
Latest departure on Friday is TBA<br />
<br />
==Travel information==<br />
Your main destination is Cologne.<br />
<br />
=== from Cologne/Bonn airport (CGN) ===<br />
Take the tram [https://ekap-download.vrs.de/downloads/linien/mini-fahrplan/2023_1219_S19.pdf?1671001552 S19] to Cologne central station. Travel time is about 15 minutes. The tram is scheduled every 20 minutes for most of the day.<br />
<br />
=== from Cologne central station ===<br />
Take the bus [https://ekap-download.vrs.de/downloads/linien/mini-fahrplan/2023_40_SB40.pdf?1670826858 Schnellbus SB 40] that directly connects Cologne central station to Bensberg (final stop). Travel time is about 30 minutes. This bus is scheduled every half hour between 6am and 8pm.<br />
[[File:Central station.png|none|thumb]]<br />
Once you arrive at the [https://ekap-download.vrs.de/downloads/haltestellen/lageplan/u_Bergisch_Gladbach_Bensberg.pdf?1670243814 bus stop in Bensberg], you can either take a taxi or walk about 900m to our location.<br />
[[File:Bus stop bensberg.png|none|thumb]]<br />
<br />
== Hotels ==<br />
Hotel rooms are provided on-site and are part of our conference package, no dedicated booking necessary.<br />
<br />
==Cost calculation==<br />
<br />
=== per attendee ===<br />
<br />
The fee for housing and catering per attendee is 837 € and is due on the last day of the event, payable via debit or credit card (VISA, Mastercard) by each individual themself. A billing address needs to be provided in advance.<syntaxhighlight lang="text"><br />
hotel room incl. breakfast 127 € x 4 days = 508 €<br />
catering service (days 1-4) 70 € x 4 days = 280 €<br />
catering service (day 5) 49 € x 1 day = 49 €<br />
-------------------------------------------- 837 €<br />
</syntaxhighlight><br />
<br />
=== joint event ===<br />
One attendee (RdH) needs to pay the additional fees for the joint event. This covers the meeting room (900 €) and all the alcoholic drinks (estimated 500 €) that have been consumed during the event. ''(Alcoholic drinks are not included in our otherwise "all inclusive" package and individual payment is not possible.)''<syntaxhighlight lang="text"><br />
meeting room (days 1-5) 180 € x 5 days = 900 €<br />
alcoholic drinks 500 € x 1 = 500 €<br />
-------------------------------------------- 1,400 €<br />
</syntaxhighlight><br />
<br />
=== Total ===<br />
<br />
Using the interim results from above, this brings us to a total cost (excl. travel) of 9,770 €.<syntaxhighlight lang="text"><br />
participants 837 € x 10 = 8,370 €<br />
joint event 1400 € x 1 = 1,400 €<br />
-------------------------------------------- 9,770 €<br />
</syntaxhighlight><br />
=Attendance =<br />
<br />
*Hackfest Bensberg 2023 takes place on '''March 13-17, 2023'''<br />
*deadline to apply for attendance is '''February 01, 2023'''<br />
<br />
== preface==<br />
In an initial poll, 8 people expressed their interest/availability for this hackfest. Based on this number we are planning for 10 attendees. Should more people be interested, we'll try our best to expand - the earlier we know, the better! If we don't reach 10, we will try to scale down our booking. If you are interested, don't hold yourself back!<br />
<br />
==I want to attend!==<br />
That's great! Be aware of the following: <br />
<br />
*You are making a commitment here which will produce expenses for the project. Please make sure that you will be able to honor this commitment! ''(Are you table to take the week off from your day job? Are you able to travel? etc.)''<br />
* Every attendee will have to pay their fee of 837 € on the last day of the hackfest. There is something special about payment methods that we will have to talk about privately, I'll contact everyone. ''(After the hackfest you can follow the reimbursement procedure.)''<br />
*You are eligible to apply no matter if you participated in the initial poll/"call for interest". ''(Only in case we end up being seriously overbooked and cannot accommodate for everybody we will take the initial poll into account.)''<br />
<br />
Now go ahead and add yourself to this table (or ask in [https://gitlab.com/inkscape/inbox/-/issues/8109 this issue] and it will be done for you):<br />
{| class="wikitable"<br />
|+<br />
!Name<br />
!GitLab handle<br />
!Inbound<br />
!Outbound<br />
|-<br />
|Martin Owens<br />
|@doctormo<br />
|LH423 13T05:15 FRA<br />
|UA8853 21T10:50 FRA<br />
|-<br />
|Jonathan Neuhauser<br />
|@joneuhauser<br />
|<br />
|<br />
|-<br />
|Tavmjong Bah<br />
|@Tavmjong<br />
|<br />
|<br />
|-<br />
|Marc Jeanmougin<br />
|@marcjeanmougin<br />
|<br />
|<br />
|-<br />
|Chris Rogers<br />
|@CRogers <br />
|<br />
|<br />
|-<br />
|René de Hesselle<br />
|@dehesselle<br />
|<br />
|<br />
|-<br />
|Jabier Arraiza<br />
|@jabiertxof<br />
|<br />
|<br />
|-<br />
|Thomas Holder<br />
|@speleo3<br />
|<br />
|<br />
|-<br />
|Ted Gould<br />
|@ted.gould<br />
|<br />
|<br />
|-<br />
|Nicco Kunzmann<br />
|@niccokunzmann<br />
|<br />
|<br />
|}<br />
<br />
== I want SFC to pay for my flight/train ==<br />
<br />
* @doctormo<br />
* @jabiertxof<br />
* @niccokunzmann<br />
<br />
== Hackfest Agenda ==<br />
<br />
=== Add your ideas here! We'll make a tentative agenda at the start ===<br />
<br />
* Organization<br />
** Community: Vectors, Testers, Translators, etc.<br />
*** Social video call with Vectors.<br />
** Board election<br />
** Financial status<br />
** Paid development<br />
* Infrastructure<br />
** Website, social media<br />
** Resources for developers<br />
* GSoC and Outreachy<br />
* Development discussions<br />
** Releases<br />
** Dependencies<br />
** Bug fixing<br />
** GTK4<br />
** Refactoring<br />
** etc.<br />
* Hacking<br />
** Code reviews<br />
** Critical bugs for 1.3</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2023_Bensberg&diff=122044Hackfest2023 Bensberg2023-01-15T21:42:28Z<p>Doctormo: Add myself</p>
<hr />
<div>[[Category:Hackfest]]<br />
<br />
This page '''<big>IS WORK IN PROGRESS</big>''' and details the planning of Inkscape's 2023 hackfest in Bensberg, Germany. The hackfest will take place on '''March 13-17, 2023'''. We are looking to bring together a group of '''10 attendees''', but do not let that number discourage you from throwing your hat in the ring in case we reach or go over it.<br />
<br />
This hackfest is a standalone event and not organized around any other event or FOSS conference.<br />
<br />
Previous events: [[Hackfest2019 Saarbrücken]], [[Hackfest2019 SCALE]], [[Hackfest2018 Kiel]], [[Hackfest2018 LGM]], [[Hackfest2018]], [[Hackfest2017]], [[Hackfest2016]], [[Hackfest2015]].<br />
=Description=<br />
It's a hackfest! We will work on Inkscape bugs, new features, packaging, website issues, ... in fact anything that can benefit from us being physically in the same space. And let's not forget about the social component - we get to hang and talk and laugh in person since we usually only meet virtually :).<br />
==Bensberg==<br />
Bensberg is part of Bergisch Gladbach, a city in the western part of Germany, about 15 km east of Cologne. It is beautifully located in the countryside, surrounded by lush forests slightly elevated to give a great view depending on weather conditions. The nearest airport is Cologne Bonn (CGN) which is an international airport. <br />
*[https://en.wikipedia.org/wiki/Bergisch_Gladbach Bergisch Gladbach on Wikipedia]<br />
[[File:Bensberg.png|none|thumb|Bensberg (range indicated to Cologne's Cathedral). Screenshot from Google Maps.]]<br />
<br />
==Venue==<br />
Our host is the [https://www.akademie-generali.de/en/home Generali Akademie], the dedicated education and conference center of the Generali Group in Germany (it's an insurance company). The location's special appeal is its all-inclusive package: conference rooms, hotel rooms and full catering service are conveniently provided on-site.<br />
<br />
''(full disclosure: as an employee, RdH has been there multiple times)''<br />
<br />
===Catering===<br />
We have full catering on-site, i.e. breakfast, lunch and dinner including non-alcoholic drinks. Our meeting room also comes with coffee and beverages throughout the day.<br />
===Facilities===<br />
*Wireless networking (fast broadband), powered by [https://www.m3connect.de/ m3connect]<br />
*<u>No wired network available</u><br />
*Europlug type F<br />
**we should bring some power strips<br />
*(TODO - not sure if we have that) LCD projector<br />
*flip chart<br />
*(TODO add additional info e.g. pool)<br />
===Vicinity===<br />
tbd (we're not in a city, we're in the country)<br />
<br />
=== Travel information ===<br />
tbd<br />
<br />
=== Cost calculation ===<br />
The fee per attendee is 837 € and is due on the last day of the event, payable via debit or credit card (VISA, Mastercard). A billing address needs to be provided in advance.<syntaxhighlight lang="text"><br />
hotel room incl. breakfast 127 € x 4 days = 508 €<br />
catering service (days 1-4) 70 € x 4 days = 280 €<br />
catering service (day 5) 49 € x 1 day = 49 €<br />
-------------------------------------------- 837 €<br />
</syntaxhighlight>One attendee (RdH) needs to pay the additional fee for the meeting room.<syntaxhighlight lang="text"><br />
meeting room (days 1-5) 180 € x 5 days = 900 €<br />
</syntaxhighlight><br />
<br />
==Hotels==<br />
Hotel rooms are provided on-site and are part of our conference package, no dedicated booking necessary.<br />
<br />
=Attendance=<br />
<br />
* Hackfest Bensberg 2023 takes place on '''March 13-17, 2023'''<br />
* deadline to apply for attendance is '''February 01, 2023'''<br />
<br />
== preface ==<br />
In an initial poll, 8 people expressed their interest/availability for this hackfest. Based on this number we are planning for 10 attendees. Should more people be interested, we'll try our best to expand - the earlier we know, the better! If we don't reach 10, we will try to scale down our booking. If you are interested, don't hold yourself back!<br />
<br />
== I want to attend! ==<br />
That's great! Be aware of the following:<br />
<br />
* You are making a commitment here which will produce expenses for the project. Please make sure that you will be able to honor this commitment! ''(Are you table to take the week off from your day job? Are you able to travel? etc.)''<br />
* Every attendee will have to pay their fee of 837 € on the last day of the hackfest. For our non-German attendees it is paramount that you own either a VISA or Mastercard as those are the only accepted methods of payment. If you don't own one of these we will have to organize for someone else to pay for you. ''(That's why this question is being asked in the table below.)''<br />
* You are eligible to apply no matter if you participated in the initial poll/"call for interest". ''(Only in case we end up being seriously overbooked and cannot accommodate for everybody we will take the initial poll into account.)''<br />
<br />
Now go ahead and add yourself to this table (or ask in [https://gitlab.com/inkscape/inbox/-/issues/8109 this issue] and it will be done for you):<br />
{| class="wikitable"<br />
|+<br />
!Name<br />
!GitLab handle<br />
!I own a VISA or<br />
Mastercard<br />
|-<br />
|John Doe<br />
|@johndoe<br />
|yes<br />
|-<br />
|Martin Owens<br />
|@doctormo<br />
|yes<br />
|-<br />
|3<br />
|<br />
|<br />
|-<br />
|4<br />
|<br />
|<br />
|-<br />
|5<br />
|<br />
|<br />
|-<br />
|6<br />
|<br />
|<br />
|-<br />
|7<br />
|<br />
|<br />
|-<br />
|8<br />
|<br />
|<br />
|-<br />
|9<br />
|<br />
|<br />
|-<br />
|10<br />
|<br />
|<br />
|}</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.2&diff=121285Release notes/1.22022-05-13T14:11:17Z<p>Doctormo: /* Importing (Merge) / Exporting (Split) */</p>
<hr />
<div><br />
<br />
{{Box| '''These Release Notes are in Draft Status.'''<br />
<br />
Note: Not all animations work, due to Wiki bugs with resizing images. Release notes will be transferred to website, there animations will be working.<br />
<br />
Important Links:<br />
* [https://gitlab.com/inkscape/inkscape/commits/master Commit History Main Program (starting from: xxx)]<br />
* [https://gitlab.com/inkscape/extensions/-/commits/master Commit History Extensions (starting from: xxx)]<br />
* [https://gitlab.com/inkscape/inkscape-docs/documentation/-/tree/master Commit History Documentation (starting from: xxx)]<br />
<br />
}}<br />
<br />
{{Box| Pending questions:<br />
<br />
List:<br />
<br />
}}<br />
<br />
<br />
<br />
== Release highlights ==<br />
<br />
'''Definitely not released yet.'''<br />
<br />
* Inkscape documents can now hold '''multiple pages''', which are managed by the new '''[[#Page_tool|Page tool]]'''<br />
* '''Editable [[#Markers|markers]]''' and [[#Custom_Dash_patterns|'''dash patterns''']]<br />
* '''[[#Layers_and_Objects_dialog|Layers and objects dialog merged]]'''<br />
* '''[[#Alignment_and_Distribution_snapping|On-canvas alignment snapping]]''' and '''[[#Snapping|Snap settings redesign]]'''<br />
* '''[[#Tiling|New 'Tiling' Live Path Effect]]'''<br />
* [[#Export Dialog|'''Redesigned Export dialog''']] with preview and ability to select objects/layers/pages and even multiple file formats to export to<br />
* [[#New_Extensions|'''Import SVG images from Open Clipart, Wikimedia Commons and other online sources''']]<br />
* [[#Selector_Tool|'''Selectable object origin''' for numerical scaling and moving]]<br />
* '''[[#Align_and_distribute|All alignment options in a single dialog]]'''<br />
* '''[[#Gradient_Editor_is_back|Gradient editing in the Fill and Stroke dialog]]'''<br />
* '''[[#Dithering|Gradient dithering]]'''<br />
* [[#SVG Font Editor|'''SVG Font Editor''' updated]]<br />
* '''[[#Text_Tool|Flowing text around shapes and text padding]]'''<br />
* '''[[#Path_Operations|Convenience Boolean operation for splitting paths]]'''<br />
* '''[[#Customization_.2F_Theming|Configurable Tool bar''', '''continuous icon scaling''' and many more new customization options]]<br />
* '''Performance gains''' for many parts of the interface and many different functions<br />
* '''Lots of improvements to the user interface''' <br />
* '''Numerous crash & bug fixes''' in [[#Notable_bugfixes|the main Inkscape program]] and in [[#Bugs_fixed|in the stock extensions]]<br />
* '''and so much more!'''<br />
<br />
== General user interface ==<br />
<br />
=== Color palette ===<br />
<br />
The overall look and options of the Color palette and the Swatches dialog got a massive overhaul ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2881 MR #2881]):<br />
<br />
* When switching the color palette, the switcher shows a '''colorful preview line''' for each palette<br />
* Between 1 and 5 '''palette rows''' that can be displayed all at once, or scrolled through vertically / using the arrow buttons<br />
* Improved and reliably working settings for '''padding, tile size and tile shape / auto-stretching'''<br />
<br />
[[File:Color pallet demo.gif|frame|center|Color palette layout options]]<br />
<br />
<br />
=== Context menus ===<br />
<br />
* Context menus '''no longer contain functionality that is not available''' for the selected object (no greyed-out items anymore), making it easier to find what you're looking for. This also helps find objects you've hidden, as the option to unhide objects under the cursor only appears if there are hidden objects in that location ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3800 MR #3800]).<br />
* The '''Extract image''' command has been improved and works with multiple images now. You can now enter a base filename; if none is entered, the ids of the selected images are used as filename. You can also choose whether the embedded image data should be replaced by a link to the exported file ([https://gitlab.com/inkscape/extensions/-/merge_requests/461 MR extensions#461], [https://gitlab.com/inkscape/extensions/-/issues/167 Bug extensions#167]).<br />
<br />
=== Dithering ===<br />
<br />
Inkscape's gradients sometimes suffered from visible steps between colors, a phenomenon also known as '''gradient banding'''. Gradient banding is caused by the difference between how many different colors are available for the selected image file format and how many colors a human eye can discern. The effect becomes especially prominent when exporting a gradient that only spans a small color range to a high-resolution image. There just aren't enough colors available for a smooth transition.<br />
<br />
'''Dithering''' softens these steps '''by scattering pixels''' of the different adjacent colors along the gradient, a little bit like a blur.<br />
<br />
Dithering is now used both for '''Export of raster images''' as well as for '''displaying gradients on canvas''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3812 MR #3812]). This functionality requires a special version of Cairo, our rendering engine. This means that it will '''only be available in the pre-packaged builds''' (for '''macOS''', '''Windows''' and for the '''Linux AppImage'''). <br />
<br />
Dithering can be turned off (better performance / smaller exported file size for raster images) in <code>Preferences → Rendering → Use dithering</code>.<br />
<br />
'''Note:'''<br />
* ''Dithering does not work for mesh gradients!''<br />
* ''For standard Linux package formats (deb, rpm, …), it depends upon your Linux distribution maintainers whether they will patch up the version of Cairo they want to distribute. We hope that this change will one day also be included in the official Cairo packages ([https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/24 Link to ongoing discussion]).''<br />
<br />
[[File:Dithering_comparison.png|frame|center|Top: Gradient banding, bottom: dithered, smooth gradient]]<br />
<br />
<br />
=== Menu ===<br />
<br />
* The option '''<code>View → Custom</code>''' was removed, as the difference was the location of the snap controls bar, and that [[#Snap_popover|is gone now]] ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3647 MR #3647]).<br />
* After installing a new extension with the Extensions Manager, the menu now '''updates without the need to restart Inkscape''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3611/diffs?commit_id=0bb51adf076ead63d8aa149ad2547d8f96833761 Commit #0bb51a])<br />
<br />
<br />
=== Performance ===<br />
<br />
* Various performance improvements for rendering while panning and zooming ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3838 MR 3838])<br />
* Improved performance on macOS<br />
<br />
<br />
=== Settings ===<br />
<br />
Some '''default settings''' have been changed to make Inkscape easier to use for new users:<br />
<br />
* Rotation is now locked by default<br />
* The default handle size has been increased (to 4)<br />
* The default number of autosave files has been increased (to 50)<br />
<br />
=== Status Bar ===<br />
<br />
* The layer selection drop-down has been replaced by a '''layer indicator'''. Clicking on the indicator opens the new [[#Layers_and_Objects_dialog|Layers and object dialog]]. This change improves Inkscape's performance for documents with many layers ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3648 MR #3648]).<br />
* The '''layer lock and hide icons''' now come after the layer indicator, which is more logical ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3856 MR #3856], [https://gitlab.com/inkscape/inkscape/-/issues/3104 Bug #3104])<br />
* The status bar '''contents are now configurable''' from <code>Edit → Preferences → Interface: Status bar</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3445 MR #3445])<br />
* When your document has more than one page, the status bar shows the '''page navigation''' to the right of the message area, allowing you to leaf through the pages or to select a specific page directly<br />
<br />
<gallery mode="packed" heights=350px><br />
File:Page navigation.png|Page navigation in status bar<br />
File:Status bar items toggle.gif|Toggling visibility of items in the status bar (click to see animation)<br />
</gallery><br />
<br />
<br />
=== Tool Bar ===<br />
<br />
* The Tool bar '''width can now be adjusted''' by dragging its edge. The tool icons will wrap into '''multiple columns''', separated by tool category, depending upon the width.<br />
* You can now '''hide tools''' from the tool bar at <code>Edit → Preferences → Interface → Toolbars: Toolbars</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3515 MR #3515])<br />
<br />
[[File:X5pWfteMzW.gif|frame|center|Toggling tool visibility for the tool bar]]<br />
<br />
== Canvas ==<br />
<br />
=== Page ===<br />
<br />
* Inkscape documents can now hold '''multiple pages'''! Learn more in the [[#Page_tool|'''section about the new Page tool''']].<br />
* '''Page shadows''' now have a '''more realistic''', blurry, fade-out look ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3128 MR #3128]). <br />
* '''Settings for the page background / decoration''' (shadow, border) were refactored, see [[#Document_Properties|section about Document properties dialog]].<br />
* The page's '''default color''' is white, and the default desk color is set to light gray. This way, it is easier to differentiate what is '''on''' the page(s) and what is '''outside''' of the page(s).<br />
<br />
[[File:Page shadow.png|center|thumb|800x400px|Page shadow comparison. Left: Inkscape 1.1, right: Inkscape 1.2]]<br />
<br />
=== Snapping ===<br />
<br />
[[File:Snapping popover .gif|frame|right|New snap settings layout]]<br />
<br />
==== Snap popover ====<br />
<br />
The snap bar has been replaced with a new ''''popover'-type dialog''', which will '''unfold''' when you click on the little arrow symbol in the top right corner, next to the snap symbol.<br />
Snap options now have '''always-visible descriptions''', to make them easier to understand ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3323 MR #3323]).<br />
<br />
To activate / deactivate snapping globally, click on the snap symbol in the top right corner or press '''<kbd>%</kbd>'''.<br />
<br />
The popover dialog has two different modes:<br />
* '''Simple''': Only 3 options: snap bounding boxes and paths, activate / deactivate the new alignment snapping). This provides simple presets for many use cases.<br />
* '''Advanced''': Gives the familiar granular control over every snapping option. <br />
<br />
'''''Note:''' Switching from 'Advanced' back to 'Simple' is not merely a visual change, but will reset snap settings to defaults.''<br />
<br />
<br />
==== Alignment and Distribution snapping ====<br />
<br />
During Google Summer of Code 2021, GSOC student '''[https://gitlab.com/ParthPant Parth Pant]''' worked on adding '''on-canvas alignment and distribution snapping''', with the support of his mentors Thomas Holder and Marc Jeanmougin. <br />
As a result, '''two new modes of on-canvas snapping''' have been added. These new modes make aligning and distributing objects a '''very easy drag-and-drop operation''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3294 MR #3294])..<br />
<br />
* When '''on-canvas alignment''' is active (option '''Alignment'''), Inkscape will display horizontal or vertical temporary guide lines that indicate when the selected object can be aligned relative to another object on the canvas. It connects the points of the objects that are in alignment. With the option '''Nodes in same path''', alignment snapping is also available for nodes while editing a path with the node tool.<br />
* With '''distribution snapping''' (option '''Same distances'''), multiple objects close by are taken into account, making it possible to align objects in a grid with very little effort.<br />
<br />
The '''temporary guide lines''' only appear while editing / moving objects on the canvas. Once a guide shows up, the movement of the selection is loosely constrained in the direction of the guide.<br />
<br />
Alignment and Distribution snapping guide lines can '''display the distance(s)''' between objects as a little label. This can be enabled from <code>Edit → Preferences → Snapping: Show snap distance in case of alignment or distribution snap</code>.<br />
<br />
The 'Simple' mode of the snapping popover dialog allows you to simply activate or deactivate Alignment snapping. <br />
The 'Advanced' mode gives you additional control by allowing you to en-/disable:<br />
<br />
==== Other Changes to Snapping ====<br />
<br />
* Snap settings are '''no longer saved with the document''', but are set '''globally for all documents''' in the preferences and in the snap popover dialog. <br />
* The option for '''enabling snapping in new documents''' has been '''removed''', as it no longer makes sense ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3580 MR #3580])<br />
* The options for '''snapping perpendicularly''' and '''tangentially''' to paths or guide lines have been '''moved''' from the document preferences to the snap popover to make them more discoverable.<br />
* The options to '''configure snap tolerances''' per snap target type that previously could be set in the document preferences have been '''removed''' to simplify snapping for users.<br />
<br />
<br />
<gallery mode="packed" heights="350px"><br />
File:Self snapping.gif|Snapping nodes in the same path<br />
File:Aligment and distribution snapping exemple.gif|Demo of alignment and distribution snapping<br />
</gallery><br />
<br />
=== Guides and Grids ===<br />
<br />
* The '''size of the guide handles''' is now '''adjustable''' via the existing setting <code>Edit → Preferences → Interface → Handle size</code>. Nonetheless, the guide handles react to this setting at half the rate of other handles; at large settings, the effective size of a guide handle is about half the size of an auto-smooth node. At the same time, a minimum size is enforced, equal to the previously hard-coded size. As a result of this mechanism, the handle is only enlarged when the <code>Handle size</code> preference is set to a value of 7 or larger. Since the default value is 3, the size of guide handles does not change on new installs or for users on default settings ([https://gitlab.com/inkscape/inkscape/-/issues/3111 Bug #3111], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3870 MR #3870])<br />
* Larger '''handles can now easily be grabbed''' with the mouse, because the handles themselves are now 'grabb-able', not only the guide lines below ([https://gitlab.com/inkscape/inkscape/-/issues/3111 Bug #3111], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3870 MR #3870])<br />
* Handles '''now take on the guide's color'''. Only when the guide is locked, its handle turns grey (and changes the shape to an "x", as before) ([https://gitlab.com/inkscape/inkscape/-/issues/3111 Bug #3111], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3870 MR #3870])<br />
* The '''default color''' of guides and grids was changed to a '''softer shade of blue''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4012 MR #4012])<br />
<br />
[[File:Guide changes.png|frame|center|New guide appearance (enlarged for better visibility, and thus pixelated)]]<br />
<br />
== Tools ==<br />
<br />
=== Tool settings ===<br />
<br />
* The '''Pen, Pencil, Text and Tweak tool''' now use the ''''last used style' by default''', and will not constantly reset to black fill / stroke respectively for new users with default preferences ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3533 MR #3533]).<br />
* The default ''''Mass' value''' of the '''Eraser tool''' has been '''increased''', so the result is now much smoother ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3440 MR #3440], [https://gitlab.com/inkscape/ux/-/issues/107 Bug UX#107])<br />
* The '''default 'Smoothing' value''' for the '''Pencil tool''' has been increased, so first-time users' first drawings will look less squiggly ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3966 MR #3966])<br />
* The '''default font unit''' for the '''Text tool''' is pt.<br />
<br />
=== Gradient Tool ===<br />
<br />
To allow you to keep gradients, even when the last object that was using it has been deleted, we added a setting for '''automatically removing unused gradients''' at <code>Preferences → Gradient Tool → Auto delete gradients that are not used</code>. This is turned on by default, which corresponds to the behavior of the previous Inkscape version, but you can now turn it off ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3897 MR #3897]).<br />
<br />
=== Node tool ===<br />
<br />
* The box (lasso) selection mode gained two new features: '''node deselection''' and '''inverted node selection''':<br />
** to '''deselect''' some of the selected nodes, drag a box around those nodes while holding <kbd>Shift + Ctrl</kbd>.<br />
** to '''select all nodes but those that end up within the box''', hold <kbd>Ctrl</kbd> while dragging the box around the nodes.<br />
* When '''clicking on a path segment while holding <kbd>Ctrl</kbd>''', the path segment becomes a '''straight line'''<br />
* When '''double-clicking on a path segment while holding <kbd>Ctrl</kbd>''', the path segment is '''removed'''<br />
<br />
[[File:Node deselection lasso.gif|frame|center|Deselecting nodes / selecting all other nodes by dragging the mouse and using Ctrl and Shift]]<br />
<br />
=== Page tool === <br />
[[File:Page tool context menu.png|frame|right|Context menu for the Page tool]]<br />
The new Page tool (lowest button in the tool bar) allows you to create multi-page Inkscape documents, and to import as well as export multi-page PDF documents. ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3486 MR #3486], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3785 MR #3785], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3821 MR #3821]). It supports overlapping pages and pages of different sizes in a single document.<br />
<br />
==== Importing (Merge) / Exporting (Split) ====<br />
Multi-page documents can be imported with their pages appended as new pages in the existing document. Select the correct option in the window that pops up to append pages rather than import shapes as usual. This can be used to merge multiple pdf files.<br />
<br />
Exporting multiple pages can be done in the new export dialog in batch mode. As well as each individual page in the Single export tab. Use this to split into single page svg or pdf documents. ''Note: it's not yet possible to select a sub-selection of multiple pages to export yet.''<br />
<br />
'''Tool usage:'''<br />
* To '''create a new page''' either:<br />
** click-and-drag on the canvas<br />
** or click on the 'Create a new page' button in the tool controls<br />
* To '''delete a page''', click on the page to select it, then click on the button <code>Delete selected page</code> or use the <code>Del</code> or <code>Backspace</code> keys.<br />
* To '''move a page''' on the canvas, click-and-drag it to the desired new position. If the option to <code>Move overlapping objects</code> is active, this will also move any objects that touch the page along with it.<br />
* To '''change a page's size''':<br />
** click on a page whose size you want to change to select it, then drag the square-shaped handle in its bottom right corner<br />
** click on the page, and then choose one of the predefined sizes in the page size dropdown, or enter your size values for the 'Custom' option, by typing them into the field in the form of <code>10cm x 15cm</code><br />
* To '''fit a page''' to:<br />
** the size of '''the drawing''': make sure to have no object selected before you switch to the Page tool. Then select a page by clicking on it, then click on the button 'Fit page to drawing or selection' in the tool controls<br />
** '''a selected object''': first select the object(s) with the selection tool, then switch to the Page tool, click on a page to select it, then press the the button 'Fit page to drawing or selection' in the tool controls<br />
* To '''add a label''' to your page, select the page by clicking on it, then enter a name or label for it into the text field in the page tool's tool controls. Labels are always visible, no matter which tool is currently selected.<br />
* To '''export a multi-page PDF''' file, use <code>File → Save a copy … → PDF</code>. This will automatically include all pages. If you only want to export a certain page, or a selection of pages, the updated [[#Export_Dialog|<code>File → Export</code> dialog]]'s batch export tab can help you get that done (one file per page).<br />
* To '''open or import a multi-page PDF or AI (pdf-based)''' file, use <code>File → Open/Import → select file name → choose to import 'All' pages</code> [Known issue: 'import' moves content of some pages to some far out place in the drawing]<br />
*You can navigate pages with page navigator on that will show up in right down corner of status bar<br />
<br />
''Note: Multi-page SVG files are an Inkscape-specific concept. Web browsers will only display the first page of your document, which corresponds to the 'viewbox' area of the SVG file.''<br />
<br />
<gallery mode="packed" heights=450px><br />
File:Page Tool-New Pages.gif|Creating a page using the tool controls<br />
File:Page Tool-Navigate-Pages-from-Status-bar.gif|Navigating pages from the status bar<br />
File:Page Tool-Moving-Objects-with-Pages.gif|Moving objects along with the page<br />
File:Page Tool-Label Pages.gif|Labelling pages<br />
File:Page Tool-Delete Pages.gif|Deleting pages and their contents<br />
</gallery><br />
<br />
=== Selector Tool ===<br />
<br />
The tool now allows to '''set the origin of the selection''' for precise numerical positioning to one out of 8 possible positions:<br />
<br />
# If no handle is selected, the '''default origin is the top left corner''' of the bounding box.<br />
# To change, '''click''' on '''one of the other 7 outside object handles''' to select your desired origin for the scaling. <br />
# The selected handle is now highlighted in blue and the '''x/y position''' in the tool controls will adjust to the new origin.<br />
# Now '''edit the x, y, width or height values''' to move and scale your object using the new origin ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2700 MR #2700])<br />
# To '''reset''' the transformation origin, <kbd>Shift + Click</kbd> on the highlighted handle.<br />
<br />
[TODO: needs new gifs, center movable handle has been removed]<br />
<br />
<gallery style="border: 1px solid #c8ccd1;padding: 3px;background-color: #f8f9fa;" mode="packed" heights=350px><br />
File:Change origin of selection.gif|Changing the origin for scaling numerically<br />
File:Change origin to TOP right.gif|Changing the origin to move one corner to a specified coordinate<br />
</gallery><br />
<br />
=== Text Tool ===<br />
[[File:Kerning popover.png|frame|right|Text spacing/kerning options in a popover dialog]]<br />
* '''Kerning options''' are now symbolized by a '''button''' between the subscript and text direction selectors. Clicking on it will open a so-called pop-over, where all previously available options can be found. This change saves space in the Text tool's toolbar.<br />
* '''Negative kerning''' values can now take on values as small as <code>-1000</code> (previously -100), making them symmetrical to their positive counterparts ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2569 MR #2569], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3434 MR #3434])<br />
* '''Padding''': Text that is flowed into a shape and standard flowed text now has an '''additional square-shaped handle''' in the top right corner. Move the handle to adjust the text padding inside the frame ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2769 MR #2769])<br />
* '''Exclusion zones''': Text can now '''flow around one or more movable objects''': <br />
*# Select all object(s) (use only shapes and paths on the same object hierarchy level as the text; no groups / clones / images supported) and the text.<br />
*# Set the exclusion zone by going to <code>Text → Set subtraction frames</code>.<br />
*# Now you can move the exclusion objects around or edit their shape, and the text will adjust automatically.<br />
*# If you want to change the exclusion zones again at a later point, repeat the process with all objects that the text should flow around.<br/>''Background info:''<br/>''SVG 2.0 flowed text allows for <code>shape-padding</code> and <code>shape-subtract</code> attributes. <code>shape-padding</code> lets the text flow into a shape and leave some space between its edges and w where the text will start to flow. <code>shape-subtract</code> subtracts shapes with margin, so text can flow around other objects in the scene. These attributes were supported in Inkscape 1.0, but not exposed to the user. This version of Inkscape includes both an adjustable on-canvas knot for changing the padding as well as a Text menu item for setting text subtraction properties with a further knot to adjust it's margins.''<br />
<br />
[[File:Text-subtract opt.gif|frame|center|Text flowing around a shape and then text padding being adjusted]]<br />
<br />
== Path Operations ==<br />
<br />
With <code>'''Path → Split path'''</code>, Inkscape now has functionality to separate a path object that consists of multiple subpaths into a set of path objects that 'belong together'. This means that parts of a path that have holes in them are kept as whole objects. The function works by splitting up a path into non-intersecting bits, keeping intersecting bits together.<br />
<br />
''Example'': A path that consists of a word, like 'Inkscape' will be split into 8 parts, one for each letter. With the familiar 'Break apart' function, there would be 12 parts, because of the holes in the letters that would be split off as their own objects, too ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3738 MR #3738]).<br />
<br />
[[File:Split.gif|center|frame|Top: Break path function separates all subpaths into single objects (not new)<br/>Bottom: Splitting a text into letters with the new 'Split path' operation]]<br />
<br />
== Masking / Clipping ==<br />
<br />
* A new option to '''preserve clips / masks when ungrouping''' objects has been added (<code>Edit → Preferences → Behavior → Clippaths and Masks: When ungroup, clip/mask is preserved in childrens</code>). The option is active by default. This means that when you now ungroup a group that has been clipped, the elements inside it will inherit the clip. Previously, the clip was removed and everything became un-clipped. To go back to previous default behavior, deactivate this new option. ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3564 MR #3564])<br />
<br />
== Dialogs ==<br />
<br />
<br />
[[File:Inkscape PyFNUY7fCi.gif|frame|right|Close current tab or open any dialog directly from a dialog dock/window]]<br />
<br />
=== General Dialog Changes ===<br />
<br />
* A '''mini-menu''' (downward pointing arrow symbol) was added into the title bar of every multi-dialog panel (also called 'notebook'). You can use it to close the current tab, to undock it, or to close the whole panel. It also shows a list of available dialogs, sorted by purpose, allowing you to open them with a click (([https://gitlab.com/inkscape/inkscape/-/merge_requests/3728 MR #3728])<br />
* The '''right-click menu for tabs''' now contains a '''list of all open dialogs'''.<br />
* Open dialogs are now '''less costly for performance''', because they do not update when it's not needed ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3369 MR #3369]), or when they are hidden ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3761 MR #3761])<br />
* '''Docking zones now expand and flash slowly''' when a dialog is dragged close to them. This makes it easier to see where docking is possible ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3729 MR #3729])<br />
* The text labels of docked dialogs are now more responsive to the width of dialog ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3627 MR #3627])<br />
* A new '''option for text labels''' for docked dialogs has been added. <code>Edit → Preferences → Windows: Dialogs settings : Labels Behavior : Active</code> reduces all except the active tabs' labels to icons. The option is no longer available from the right-click menu of the tabs ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3644 MR #3644])<br />
<br />
=== About Screen ===<br />
<br />
The 'About Inkscape' dialog uses [https://inkscape.org/news/2022/03/22/new-discoveries-await-upcoming-inkscape-12-about/ the winner art from our Inkscape 1.2 About Screen Contest], '''"New discoveries await..." by Chris Hildenbrand'''.<br />
<br />
=== Align and Distribute ===<br />
<br />
* The formerly separate <code>Arrange</code> dialog is now '''integrated''' with the <code>Align and Distribute</code> dialog. With its '''three tabs''', more '''user-friendly names''' and some '''small visual tweaks''', the dialog now holds everything that is needed for aligning, distributing and arranging objects in your drawing ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3382 MR #3382], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3667 MR #3667]).<br />
* The icons inside this dialog are now smaller. <br />
[[File:Inkscape R6cB6sFN07.gif|center|frame|All alignment and distribution options in a single dialog]]<br />
<br />
=== Document Properties ===<br />
<br />
[[File:Document Properties.png|alt=Document Properties|thumb|right|First tab of the Document Properties dialog]]<br />
<br />
* The ''''Snapping' tab was removed''' in favor of a global snapping preference, see [[#Snapping|Snapping section]]. <br />
* The '''first tab''' of the Document properties dialog was '''refactored''' thoroughly to make it easier to use ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3700 MR #3700]):<br />
** It's now labelled 'Display' instead of 'Page'.<br />
** The long list of different document formats is now available from a dropdown.<br />
** There is a preview available of the page format and colors.<br />
** The '''page area(s)''' in a document can now have a '''different color''' than the underlying ''''desk' area'''.<br />
** The other options have been rearranged to look tidier.<br />
** ''Note: The option to '''add margins''' to a document when resizing it is '''currently unavailable'''''<br />
* Grid precision has been reduced to 3 decimal places ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2941 MR #2941])<br />
<div style="clear:both;">&nbsp;</div><br />
<br />
=== Export ===<br />
<br />
The former <code>Export PNG image</code> dialog was updated to a general <code>Export</code> dialog by '''[https://gist.github.com/SlayerAnsh/bc932d86c8f846b9c2042a0255231563 2021 GSOC student Anshudhar Kumar Singh]''' with the mentors Michael Kowalski, Ted Gould and Tavmjong Bah, and finished by Martin Owens ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3825 MR #3825]).<br />
<br />
The new name reflects the increased range of functionality of the dialog.<br />
<br />
==== General Export Dialog Changes ====<br />
<br />
* the '''confusing number entry fields''' for export area coordinates have been '''hidden from all but the 'Custom' tab'''<br />
* the dialog now features a '''preview''' that allows you to see what is going to be in the exported file(s). The preview can also be turned off when you do not need one, or in case performance suffers.<br />
<br />
==== Available Export File Formats ====<br />
<br />
* by default, the dialog allows you to export images to multiple raster and vector formats: – '''PNG, Optimized PNG, JPEG, WebP, Tiff, SVG, Inkscape SVG, PDF'''<br />
* by activating <code>Edit → Preferences → Input/Output → Show all outputs in Export dialog</code>, even '''more export formats''', provided by Inkscape extensions, will become accessible from the dialog. By default, this includes a long list almost as high as your Inkscape window - ranging from 'Compressed Inkscape SVG with media' and .dxf to 'Scribus CMYK pdf' and 'Windows Metafile (.wmf)'.<br />
* '''third-party Inkscape Python extensions''' can be added to '''extend the dialog's functionality''' even further<br />
<br />
==== Batch Export ====<br />
<br />
In addition to exporting single images, one at a time, or simple batch export of objects in the selection to separate files, the dialog has gained the ability to:<br />
<br />
* also batch export '''top level layers''' and '''pages'''<br />
* to export to '''multiple image resolutions at once''', by setting a different DPI value for each export format/size<br />
* to export to '''multiple file formats at once'''<br />
* to '''select''' objects, pages or top level layers to export (with preview)<br />
* '''file names''' are constructed as <code><filename>_<object id>_<suffix>.<extension></code>, where each export file format/size can have '''its own suffix'''<br />
<br />
This functionality lives in the dialog's '''new second tab'''. To add another export file format or size, click on <code>'''Add export'''</code>, and a new line with selectable suffix, file format and dpi value settings becomes available. Layer export will include '''all objects in the layer''' (i.e. crop to content). <br />
<br />
''Hint: If you need a background for export that is the same over all layers (e.g. for a presentation or slideshow, or for an animation), you can move that background object into the root of the SVG file, by dragging it out of a layer and placing it below all layers with the Layers/Objects dialog in Objects mode. To have all layers exported at the same size, you'd still need an (invisible) object in each layer with the desired size.''<br />
<br />
[TODO: Add images / gifs / video link]<br />
<br />
=== Fill and Stroke dialog ===<br />
==== Color selector ====<br />
<br />
[[File:HSLuv_color_picker.png|thumb|200px|HSLuv color picker mode with color wheel]]<br />
<br />
* The more intuitive '''HSL mode''' (hue, saturation, lightness) is now the '''default mode''' of the color selector. <br />
* All color selection modes (e.g. HSL, HSV, RGB, CMYK, CMS, HSLuv) have been moved into a '''drop-down menu''', with icons. You can get the old, tabbed look back by disabling the option in <code>Edit → Preferences → Interface: Use compact color selector mode switch</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3443 MR #3443]).<br />
* New: '''HSLuv mode''' added for color picker. This mode lets you more intuitively select optically similar saturation of different hues ([https://en.wikipedia.org/wiki/HSLuv Wikipedia]).<br />
* A '''color wheel''' can now be used for '''HSL, HSV and HSLuv''' color selection modes (in previous Inkscape versions, it was its own mode). Activate it by clicking on 'Color Wheel' above the color sliders area.<br />
<br />
==== Gradient Editor is back ====<br />
<br />
A replacement for the [https://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.1#Legacy_Gradient_Editor_dialog_removed|lost gradient editor] was added to the 'Fill and Stroke' dialog ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2688 MR #2688], [https://gitlab.com/inkscape/ux/-/issues/67 Bug UX#67]).<br />
<br />
This allows you to add, edit and delete gradient stops directly in the 'Fill and Stroke' dialog again:<br />
<br />
* to '''add''' a new stop, '''double click''' on the gradient preview<br />
* to '''move''' a stop, '''click and drag''' it along the gradient preview or '''enter the stop offset value numerically''' for more precision after selecting one stop<br />
* to '''remove''' a stop, click on it to '''select it, then press the <code>Del</code> or <code>Backspace</code> key'''<br />
* The Gradient tool's options `repeat mode`, `reverse gradient direction`, a '''gradient selection library''' and a '''list of all stops''' have been added here, too, so all the options pertaining to gradients are in easy reach.<br />
<br />
<div><ul> <br />
<li style="display: inline-block;">[[File:Gradient editor adding stops.gif|frame|Changing gradient stop color, moving it, adding a new stop]]</li><br />
<li style="display: inline-block;">[[File:Gradient editor - repete.gif|frame|Inverting the gradient's direction and changing its repeat mode]]</li><br />
<li style="display: inline-block;">[[File:Adding and removing stops in to list.gif|frame|Another way to add, edit and delete single stops is to use the list of gradient stops. Users can add stops by clicking on the <code>+</code> button, and can delete them by clicking on the <code>-</code> button.]]</li><br />
<li style="display: inline-block;">[[File:Gradients Library.gif|frame|With the new gradient selection dropdown, users can duplicate gradients by clicking on the <code>+</code> button.]]</li><br />
<li style="display: inline-block;">[[File:First and last node offset.gif|frame|Users can offset (move) the first and last stops of a gradient. The color beyond the last/first gradient stop is uniformly that of the last/first stop.]]</li><br />
</ul></div><br />
<br />
[TODO: would be cool if all recordings could be resized to same height. This looks very confusing.]<br />
<br />
==== Markers ====<br />
<br />
[[File:Fun markers.png|thumb|right|Some new markers to play with – the pencil automatically takes on the stroke color]]<br />
<br />
The markers drop down list has been replaced by a little dialog that displays '''all available markers in a grid''', and even allows you to '''edit the selected marker's size, distance from the line and orientation'''! This project was undertaken by '''[https://gitlab.com/inkscape/devel/mentoring/-/issues/2 GSOC student Rachana Podaralla]''' with the mentors Michael Kowalski, Marc Jeanmougin and Martin Owens ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3394 MR #3394], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3420 MR #3420]).<br />
<br />
When clicking on the drop down for choosing the start, middle or end markers, you will see the following:<br />
* a '''list of markers''' used in the current document at the top<br />
* below that, a '''list of all default markers''', which also contains some '''fun new markers'''!<br />
* at the bottom, the ''''Edit' section''', with:<br />
** A '''preview''' of how the marker will look<br />
** some '''number fields''' to change the '''size''' of the marker (keep the lock on to scale proportionally)<br />
** an option to '''scale the markers when the stroke width is changed'''<br />
** options for '''switching the marker direction'''<br />
** the option to '''change the marker's angle and to have that angle fixed'''<br />
** marker '''offsetting options'''<br />
** a button to '''enable editing of markers''' (rotate, scale, move) '''on the canvas'''<br />
<br />
<br />
[[File:Working with new markers.gif|center|frame|Adding and editing markers with the new dialog]]<br />
[[File:Edit markers on canvas.gif|center|frame|Editing markers directly on the canvas]]<br />
<br />
==== Custom Dash patterns ====<br />
<br />
Inkscape comes with a big choice of dash patterns by default - from tightly spaced dots to widely spaced lines, and many options and combinations in between.<br />
Now it includes an option to '''make your own dash pattern''', in addition to the stock patterns. <br />
<br />
To create one:<br />
<br />
* Select '''Custom''' in the dash pattern drop-down menu. This will make '''a new text field''' show up where you can add your new custom dash pattern. <br />
* The field accepts '''numbers and spaces'''. Each number corresponds to the length of a dash or a gap. It always starts with a dash, and when it reaches the end, it will continue with the first number again, for the next gap or dash. So if you enter an even number of numbers, e.g. '1 1 4.5 4.5' the pattern will be 'dot - short gap - dash - long gap' and then repeat again, and for an uneven number of numbers, the pattern will be inverted when the first 'set' ends. <br />
<br />
On the canvas, you can watch how your object changes while you change the custom dash pattern numbers.<br />
<br />
[[File:Inkscape yrHv1frJlF.gif|center|frame|Adjusting the dash pattern in a drawing]]<br />
<br />
==== Other small changes ====<br />
<br />
Line cap and line join order buttons have been reordered, so they match vertically ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3402 MR #3402]).<br />
[[File:Before after caps.png|frame|left|339x339px|New, more logical ordering of line cap and line join buttons]]<br />
<div style="clear:both;">&nbsp;</div><br />
<br />
=== Layers and Objects dialog ===<br />
<br />
[[File:Layers and objects.png|thumb|right|The new 'Layers and Objects' dialog in 'Objects' mode]]<br />
<br />
A new dialog was created that '''merges the functionality of the familiar 'Layers' and 'Objects' dialogs''', with better performance ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2466 MR #2466], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3635 MR #3635], [https://gitlab.com/inkscape/inkscape/-/merge_requests/2466 MR #2466], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3741 MR #3741], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3597 MR #3597], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3645 MR #3645]).<br />
<br />
It is available from both the 'Layers' and the 'Objects' menu and offers the following functionality:<br />
<br />
* a button to '''toggle between 'Layers' and 'Objects' view'''<br />
* buttons to move objects '''up and down in the stack'''.<br />
* a '''list of all layers and objects''' in the drawing, featuring new icons for the different object types<br />
* '''8 alternating default colors''' for layers and the objects in them:<br />
** these colors are '''used for drawing the paths''' in the respective layers<br />
** the colors '''can be set''' (in case they clash with your theme, or you cannot see the paths that you draw) in the file <code>share/inkscape/ui/highlight-colors.css</code> in your Inkscape directory<br />
* layer and object '''colors can be customized for each layer/object on its own''', by clicking on the vertical color bar at the end of each line<br />
* tiny '''mask and scissor symbols''' indicate that a clip or mask is applied to an object<br />
* object and layer '''names''' (label, not id) can be changed after a '''double-click on the current name'''<br />
* icons for '''locking and hiding''' a layer/object light up when you hover over the layer's row (when not locked or hidden):<br />
** <kbd>click</kbd> to '''hide/unhide''' or '''lock/unlock''', <kbd>Shift+click</kbd> to '''hide/lock other items'''<br />
* holding <kbd>Alt</kbd> while '''hovering over an object in the dialog''' will '''highlight that object on canvas'''<br />
* layers as well as objects can be '''multi-selected'''<br />
* the '''context (right-click) menu for layers''' provides options '''to move, delete, rename the current layer, to lock/hide all/other/the current layers, to add a new layer and to convert a layer to a group'''<br />
* the '''context menu for objects''' provides the same options as it would when you right-click on the object on canvas directly<br />
<br />
''Note:''<br />
<br />
* ''the (hidden) setting for path colors in the preferences file and the path outline color (available in Node tool preferences section) are no longer respected. If you used those previously, adjust the style.css file as a workaround (see above).''<br />
* ''the dialog no longer offers the options to change opacity, blur or blend mode. Use the Fill and Stroke dialog as a workaround.''<br />
* ''the type-forward search to filter for objects is no longer available. For objects, use the Search and Replace dialog as a workaround, for layers there is currently no replacement.''<br />
* ''the buttons to move objects or layers to the bottom or to the top have been removed to improve the user interface. For both objects and layers, as a workaround you can use the buttons in the selector tool's tool controls. <kbd>Home</kbd> and <kbd>End</kbd> navigate in the dialog instead of changing positions, if the dialog has focus.''<br />
<br />
=== Preferences ===<br />
[[File:Require restart.png|frame|Restart Inkscape when you changed an option with this icon]]<br />
<br />
* The preferences '''zoom ruler now respects your theme's look''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3450 MR #3450])<br />
* An option to make '''<code>Select same</code>''' behave like <code>Select all</code> with respect to whether it '''selects objects only in the current layer or in all layers''' was added to <code>Edit → Preferences → Behavior → Selecting</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2832 MR #2832])<br />
* Preferences options that '''require restarting Inkscape''' to take effect now '''display an icon''' next to them<br />
* A set of options to '''tweak rendering performance''' and to '''test run different render settings''' has been added to the <code>Rendering</code> section. It becomes visible when you activate <code>Enable developer mode</code><br />
<br />
=== SVG Font Editor ===<br />
<br />
With lots of user feedback, the '''Font Editor workflow has been updated''' with '''better previews''', '''better performance''' and a '''higher degree of organization''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3381 MR #3381], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3396 MR #3396], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3552 MR #3552], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3628 MR #3628] [https://gitlab.com/inkscape/inkscape/-/merge_requests/3916 3916]).<br />
<br />
These changes result in a new recommended workflow:<br />
<br />
# Open the '''SVG Font Editor dialog'''<br />
# '''Select a name''' for your new font, using the <code>+</code> icon in the top right corner of the dialog<br />
# Adjust the '''horizontal advance''' and the major '''font metrics''' to your liking<br />
# '''Click on''' <code>Setup Canvas</code> to change the document format to the font size and get some guides that help you draw your letters<br />
# Switch to the <code>Glyphs</code> tab of the dialog<br />
# Click <code>+</code> to '''add your first letter/glyph/character''' to the list. You can also '''click the button repeatedly to automatically create a list of commonly used font characters''', from <code>Space</code> to common special characters, numbers and then upper case and lower case letters A to Z, and then even more special characters after that.<br />
# If you like to, '''switch from list preview to grid preview''' in the bottom right corner.<br />
# '''Select one''' of the lines / blocks in the glyphs list.<br />
# Click on <code>Edit</code>. This will: <br />
#* '''Create a new layer''' for the selected glyph (if there isn't one yet) and activate that layer.<br />
#* '''Hide all other layers'''<br />
# Now '''draw''' your letter/number/… in the new layer<br />
# Make sure it's '''a single path''' (e.g. do <code>Path > Union</code>)<br />
# Keep it selected, and '''click on''' <code>Get curves</code>.<br />
# '''Continue''' selecting glyphs from the list, adding / editing them and turning them into SVG font characters until your font is complete.<br />
# In the last tab, <code>Kerning</code>, you can select two different glyphs from the two dropdown lists, to '''adjust the default distance''' between them. <br />
## After you've selected them, '''click on''' <code>Add pair</code>.<br />
## Now '''adjust the distance''' between them. In addition to the preview that shows just these two glyphs, you can also make use of the '''sample text''' to see how it will look in a sentence.<br />
## '''Continue''' adjusting letter distances until you're happy with the result.<br />
# Save your file as '''Inkscape SVG''', and open it with another program (e.g. FontForge) to be able to '''convert that SVG font into a ttf or otf font'''.<br />
<br />
The workflow is based upon the following SVG Font Editor dialog improvements:<br />
<br />
* '''speed improvements''': Inkscape can now handle fonts with thousands of glyphs!<br />
* '''automatic glyph generation''': adding a new glyph creates a new entry and populates its unicode string, based upon the previously defined glyph (next in unicode order)<br />
* '''glyph management''': glyph editing action creates glyph-specific layers to keep glyphs organized<br />
* '''grid glyph view''': offers a larger preview than a list<br />
<br />
<gallery mode="packed" heights="450"><br />
File:Svg font editor tab 1.png|First tab of refactored SVG Font Editor dialog<br />
File:Svg font editor tab 2 list.png|Second tab of SVG Font Editor, list view<br />
File:Svg font editor tab 2 grid.png|Second tab, grid view<br />
</gallery><br />
<br />
=== Swatches ===<br />
<br />
The '''Swatches dialog''' (<code>View → Swatches</code>) uses the same improved settings as [[#Color_palette|the color palette]] (without the 'rows' setting).<br />
[[File:Inkscape GK3kLW1E2O.gif|none|frame|Updated Swatches dialog settings]]<br />
<br />
=== Text and Font dialog ===<br />
<br />
The dialog's '''width has been reduced''', so it won't take up excessive amounts of space when docked ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3314 MR #3314]).<br />
<br />
=== Trace Bitmap ===<br />
<br />
The '''Trace Bitmap''' dialog received a new, shiny interface ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3405 MR #3405]):<br />
<br />
* The tabs list and options have been detangled a bit, so you now have the following three tabs: '''Single scan, Multicolor, Pixel art'''<br />
* The '''preview auto-updates''' more reliably and shows a better preview image.<br />
* The '''preview location''' now adjusts to the dialog's format: if it is wider than tall, it moves to the right side, and if it is taller than wide, the preview appears at the bottom of the dialog.<br />
* The number entry fields are now accompanied by '''draggable sliders''' for easier tweaking of values.<br />
[[File:Inkscape haeFSZbdHk.gif|center|frame|Draggable sliders]]<br />
[[File:Ezgif.com-gif-maker (24).gif|center|frame|Self-adjusting preview location]]<br />
<br />
=== Transform dialog ===<br />
<br />
The buttons for applying or resetting the transformation have been moved to the center, the dialog's width has been reduced, and a small visual explanation for matrix transformations has been added ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3363 MR #3363]).<br />
<br />
=== Welcome dialog ===<br />
<br />
* The images have been updated with '''images from the [https://inkscape.org/gallery/=about-screen-contest/contest-for-12/ About Screen Contest for Inkscape 1.2]'''.<br />
* A set of '''new icons for the web links''' in the second tab will hopefully help encourage user contributions to the project ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4309 MR #4309])<br />
* There is a ''''Close' button''' now in the top right corner of the dialog.<br />
* An option to 'Browse for other files' has been added to the dialog, so you can finally '''open any file''' (not just templates and recent files) from the dialog ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4112 MR #4112])<br />
<br />
<!-- == Filters == --><br />
<br />
== Live path effects ==<br />
[[File:Select satelit.png|right|Select path with LPE that is responsible for the existence of this object|thumb|333x333px]]<br />
<br />
=== Select Path Effect Parent Object ===<br />
<br />
If you have an object selected that was created by the Live Path Effect of another object, you can now quickly '''find the responsible LPE object''' by clicking on '''the new button''' at the bottom of the 'Path Effects' dialog. This is very useful for all Live Path effects that create dependent objects which can be selected independently, like the new <code>Copies LPE</code>, the <code>Boolean Operations LPE</code>, the <code>Rotate Copies LPE</code> and many more ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3479 MR #3479]).<br />
<br />
=== Boolean Operations ===<br />
<br />
* The mode ''''division both'''' has been added. Its result only becomes visible when you convert the resulting object to a path, where then both objects will be cut along their intersection lines.<br />
<br />
=== Offset ===<br />
<br />
* '''Improved performance''' while editing an offset by mouse<br />
<br />
=== Rotate copies ===<br />
<br />
* New option to '''link styles''' for the case when you want a gradient or a pattern extend over all objects<br />
<br />
=== Tiling ===<br />
<br />
[[File:Copie LPE.gif|frame|right|The new Tiling LPE]]<br />
<br />
Internally, we call this the ''\'Tiled Clones dialog on steroids\'''. This new LPE allows for interactive tiling, using a '''huge range of different tiling types''', setting the '''distance''' between objects numerically, changing '''scale''', '''location''', '''rotation''' per row / column or '''adding more rows and columns''' on the fly. This can be used to '''quickly copy large numbers of objects''' non-destructively and to '''create interesting grids and patterns''' and variations quickly ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3814 MR #3814]).<br />
<br />
Features:<br />
<br />
* Create '''identical copies of objects in a grid''' by indicating the number of rows and columns<br />
* '''Change the horizontal and vertical spacing''' between copies by mouse or numerically, and choose the unit of those distances<br />
* The '''gap size''' can also be '''randomized'''<br />
* '''Offset every other row or column''' by a specified percentage of object width / height<br />
* '''16 different mirroring modes''' (requires the setting <code>Edit → Preferences → Behavior → Live Path Effects (LPE) → Tiling → Add advanced tiling options</code> to be active!)<br />
* '''Scale interpolation''' (5 modes):<br />
** '''Uniform''' scaling (no interpolation)<br />
** Blend size from '''top to bottom'''<br />
** Blend size from '''left to right'''<br />
** Blend size '''diagonally''' (top left: original size – bottom right: new size)<br />
** '''Random scaling'''<br />
* '''Rotation interpolation''' with the same 5 modes<br />
* Option to '''automatically minimize gaps''' between copies of different sizes (does not work with rotation or diagonal mode)<br />
* Option to allow for '''independently styling and moving''' each copy ('Split elements', moving works when the object is grouped as a 1 object group)<br />
* Option to '''link styles''' for the case when you want '''a gradient or a pattern extend over all objects'''<br />
<br />
== Import / Export ==<br />
<br />
[[File:Linked image not found.png|thumb|right|New placeholder for images that cannot be found]]<br />
<br />
=== SVG Import ===<br />
<br />
When importing an SVG document, you can now also choose to '''open it in a new window''' ('Open SVG image directly using its path'). This option makes sense when using '''drag and drop''' to get Inkscape to open a new file ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4034 MR #4034])<br />
<br />
=== Import Formats ===<br />
<br />
* The '''DXF Import''' now supports '''more DXF features''' ([https://gitlab.com/inkscape/extensions/-/merge_requests/357 MR extensions#357]).<br />
<br />
=== Linked Images ===<br />
<br />
* The design of the '''placeholder for linked images''' was changed ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3842 MR #3842])<br />
<br />
=== Export Formats ===<br />
<br />
* The file format of the '''Synfig Export''' has been '''updated to &gt; 1.4.0''' ([https://gitlab.com/inkscape/extensions/-/merge_requests/299 MR extensions#299]).<br />
<br />
== Customization / Theming ==<br />
<br />
<br />
=== Customizing the User Interface ===<br />
<br />
* The '''overall font size''' of the user interface can be adjusted at <code>Edit → Preferences → Interface → Theming: Font scale</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3690 MR #3690])<br />
* The <code>+</code>/<code>-</code> '''buttons for number entry fields''' are now '''smaller'''. If you prefer the old, wider buttons, they can be turned on again by disabling <code>Preferences → Interface : Use narrow number entry boxes</code>. ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3358 MR #3358])<br />
* Tool bar '''icon sizes''' can now be scaled on a '''continuous scale''' from 100% to 300% size in <code>Edit → Preferences → Interface → Toolbars: Toolbox icon size / Control bar icon size</code>. Changing the size '''no longer requires a restart'''.<br />
<br />
=== Cursors ===<br />
<br />
* The '''drop shadow is now optional''' for mouse cursors. You can turn it off in <code>Edit → Preferences → Interface → Mouse cursors: Show drop shadow</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3352 MR #3352]).<br />
<br />
=== Icon Sets ===<br />
<br />
* Multiple icons in the '''Multicolor icons set''' were tweaked to improve readability or contrast, e.g. the green color is now a little brighter when using a dark theme. <br />
* '''Cursors and tool bar icons''' for the Bézier tool and the Calligraphy tool in the Multicolor icon theme '''now use the same imagery'''.<br />
<br />
=== Themes ===<br />
<br />
* The suggested '''default theme''' is now using the multicolor icons set ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4043 MR #4043])<br />
* A '''contrast slider''' was added for fine tuning the selected theme's colors at <code>Edit → Preferences → Interface → Theming: Contrast</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/906 MR #906])<br />
<br />
<gallery mode=packed heights=550px><br />
File:Contrast slider.gif|The contrast slider allows to fine-tune the theme's colors<br />
</gallery><br />
<br />
== Other ==<br />
<br />
* The '''number of possible autosave files''' has been increased to 10000 (was 100) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3582 MR #3582])<br />
<br />
== macOS-specific Changes ==<br />
<br />
* The '''minimum operating system version''' supported is now '''macOS 10.13'''. (The prior version, Inkscape 1.1.x, supported macOS 10.11 and newer.)<br />
* All '''special menu items''' in the application menu have been enabled and hidden from other menus, so Inkscape '''feels more integrated''' with macOS ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3767 MR #3767])<br />
* Inkscape now provides a '''.dmg file for arm64''' (M1) Apple computers<br />
<br />
''Tip: Inkscape performance is better on macOS with the 'Minwaita' theme!''<br />
<br />
== Windows-specific Changes ==<br />
<br />
* Modifier keys now work with graphics tablet stylus input ([https://gitlab.com/freedesktop-sdk/mirrors/gnome/gtk/-/commit/46c12b2c922d5592cedd29624cbf3be6b4411084 Commit #46c12b])<br />
* The Extension Manager is now an optional component in the installer for Windows ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3106 MR #3106])<br />
<br />
== Extensions ==<br />
<br />
=== Features ===<br />
<br />
==== General Extension Changes ====<br />
<br />
* Extensions now better support documents with CSS styles and inherited styles. <br />
<br />
==== New Extensions ====<br />
<br />
* The '''Clipart Importer''' extension allows to search and download SVG resources from the Wikimedia, OpenClipart & other online sources. It is available from <code>File → Import Web Image</code>. It helps you with licensing your work correctly by giving information on each image's license and its requirements for derivative works. ([https://gitlab.com/inkscape/extensions/-/merge_requests/441 MR extensions#441]).<br />
* The <code>Document → Process Illustrator SVG...</code> extension assists with '''importing Adobe Illustrator documents with layers and the correct scale''' ([https://gitlab.com/inkscape/extensions/-/merge_requests/351 MR extensions#351], [https://gitlab.com/inkscape/extensions/-/merge_requests/414 MR extensions#414]).<br />
<br />
<gallery mode="packed" heights="250px"><br />
File:Import web image.png|Import an image from the Inkscape website<br />
File:Import web image sources.png|Currently available sources for importing SVG images<br />
</gallery><br />
<br />
==== Particular extensions ====<br />
<br />
[[File:Modes of the Extrude extension.png|right|thumb|400x400px|The modes of the Extrude extension. A new mode, "Snug", has been added for Inkscape 1.2.]]<br />
<br />
* In the '''Add nodes''' extension, you can now choose the unit of the segment length ([https://gitlab.com/inkscape/extensions/-/merge_requests/346 MR extensions#346], [https://gitlab.com/inkscape/extensions/-/issues/127 Issue extensions#127]).<br />
* The Color tab of the '''Calendar''' now uses a color chooser widget instead of asking for Hex values ([https://gitlab.com/inkscape/extensions/-/merge_requests/355 MR extensions#355], [https://gitlab.com/inkscape/extensions/-/issues/396 Issue extensions#396]).<br />
* The '''Extrude''' extension has been rewritten ([https://gitlab.com/inkscape/extensions/-/merge_requests/386 MR extensions#386]). It includes a new mode, &quot;Snug&quot;, where the boundary of the extruded rectangle follows the source paths. 'Extrude' now handles paths with multiple subpaths and doesn't require conversion of rectangles or circles to path anymore ([https://gitlab.com/inkscape/extensions/-/issues/190 Issue extensions#190]). The extruded shapes are inserted in between the two selected elements in stacking order, which is more useful than the previous behavior (inserting after the first selected element).<br />
* The '''Formula (pdflatex)''' equation has been made more user-friendly. It now features a font size selector, a field to specify preamble contents, better support for scaled documents and better error messages on compile errors ([https://gitlab.com/inkscape/extensions/-/merge_requests/453 MR extensions#453]). <br />
* The '''Frame''' extension has been rewritten and now supports additional options, such as elliptical frames, offset frame and putting the fill below the object ([https://gitlab.com/inkscape/extensions/-/merge_requests/430 MR extensions#430], [https://gitlab.com/inkscape/extensions/-/issues/214 Issue extensions#214]).<br />
* The '''Motion''' extension now has an option to take the extrusion color and opacity from the selected path ([https://gitlab.com/inkscape/extensions/-/merge_requests/317 MR extensions#317]).<br />
* Document Info ([https://gitlab.com/inkscape/extensions/-/merge_requests/401 MR extensions#401]) and Guides creator ([https://gitlab.com/inkscape/extensions/-/merge_requests/424 MR extensions#424]) extensions were adjusted to work with '''multi-page documents'''<br />
* The '''Guides Creator''' extension, now also features an option that avoids creating duplicate guides, and an option for alternating margins for even and odd pages ([https://gitlab.com/inkscape/extensions/-/merge_requests/424 MR extensions#424]) .<br />
* The '''Split text''' extension has been rewritten and now supports manual kerning ([https://gitlab.com/inkscape/extensions/-/issues/142 Issue extensions#142]) and SVG2 flowed text ([https://gitlab.com/inkscape/extensions/-/issues/257 Issue extensions#257]) ([https://gitlab.com/inkscape/extensions/-/merge_requests/326 MR extensions#326]).<br />
* '''QRCodes''' with a maximum size of 177x177 can now be created, which allows to encode up to about 2 standard pages of text. Instead of the well-known black rectangular tiles, the extension can now also tile clones of a selected object ([https://gitlab.com/inkscape/extensions/-/merge_requests/394 MR extensions#394], [https://gitlab.com/inkscape/extensions/-/issues/150 Issue extensions#150]).<br />
<br />
=== Bugs fixed ===<br />
<br />
==== All extensions ====<br />
<br />
* Unit conversions are more consistent now ([https://gitlab.com/inkscape/extensions/-/merge_requests/329 MR extensions#329]), and several bugs pertaining to misinterpretation of units have been fixed.<br />
* Extensions that query properties of paths with multiple subpaths now get more correct results if that path uses relative path commands ([https://gitlab.com/inkscape/extensions/-/merge_requests/438 MR extensions#438], [https://gitlab.com/inkscape/extensions/-/issues/450 Issue extensions#450]).<br />
* When extensions set an element to "insensitive" (locked), this change is honored by Inkscape ([https://gitlab.com/inkscape/extensions/-/commit/d5282bd2341d24bc53cec02aed81e2f3ee6c6050 commit extensions#d5282bd2])<br />
* The defaults of parameters are now identical in inx files and in the command line interface of the extensions ([https://gitlab.com/inkscape/extensions/-/merge_requests/325 MR extensions#325])<br />
* Gradients whose stop positions are given in percentages are now handled ([https://gitlab.com/inkscape/extensions/-/merge_requests/374 MR extensions#374])<br />
* Hide the console window on Windows when calling external utilities ([https://gitlab.com/inkscape/extensions/-/merge_requests/407 MR extensions#407], [https://gitlab.com/inkscape/extensions/-/issues/244 Issue extensions#244])<br />
* The <code>BaseElement.duplicate()</code> function now makes sure that the duplicated element and its children have unique IDs ([https://gitlab.com/inkscape/extensions/-/merge_requests/426 MR extensions#426], [https://gitlab.com/inkscape/extensions/-/issues/379 Issue extensions#379]).<br />
* The "Reverse Path" method now returns correct results for paths with multiple subpaths ([https://gitlab.com/inkscape/extensions/-/merge_requests/427 MR extension#427], [https://gitlab.com/inkscape/extensions/-/issues/445 Issue extensions#445]).<br />
* A bug parsing color components of 1 (1.0, 100%) has been fixed. <code>"1.0"</code>, <code>1.0</code> and <code>"100%"</code> are treated as <code>255</code>, while <code>"1"</code> and <code>1</code> are treated as <code>1</code> ([https://gitlab.com/inkscape/extensions/-/merge_requests/456 MR extensions#456], [https://gitlab.com/inkscape/extensions/-/issues/402 Issue extensions#402]).<br />
* Several small fixes that make working with paths and clones more predictable and robust ([https://gitlab.com/inkscape/extensions/-/merge_requests/433 MR extensions#433])<br />
* Small changes improving parameter description ([https://gitlab.com/inkscape/extensions/-/merge_requests/452 MR extensions#452], [https://gitlab.com/inkscape/extensions/-/issues/452 Issue extensions#452])<br />
<br />
==== Particular extensions ====<br />
<br />
* In the '''Add nodes''' extension, closed paths were previously changed to open paths, and an erroneous node was added. Other and third-party extension will probably profit from the underlying bugfix as well ([https://gitlab.com/inkscape/extensions/-/merge_requests/336 MR extensions#336], [https://gitlab.com/inkscape/extensions/-/issues/209 Issue extensions#209]).<br />
* The live preview of the '''Calendar''' extension now works ([https://gitlab.com/inkscape/extensions/-/merge_requests/394 MR extensions#394]).<br />
* Multiple bugs in the '''DXF import''' extension were fixed, such as a loss of layering information ([https://gitlab.com/inkscape/extensions/-/merge_requests/410 MR extensions#410], [https://gitlab.com/inkscape/extensions/-/issues/377 Issue extensions#377]), and import of inserted blocks that have been rotated and flipped ([https://gitlab.com/inkscape/extensions/-/merge_requests/411 MR extensions#411]), extruded elements and multiline text ([https://gitlab.com/inkscape/extensions/-/merge_requests/432 MR extension#432], [https://gitlab.com/inkscape/extensions/-/issues/286 Issue extensions#286]). An incorrect unit in the documentation has been exchanged ([https://gitlab.com/inkscape/extensions/-/merge_requests/358 MR extensions #358]).<br />
* When using the '''DXF Outline (R12)''' export, elements in nested groups are now exported correctly ([https://gitlab.com/inkscape/extensions/-/merge_requests/347/ MR extensions#347], [https://gitlab.com/inkscape/extensions/-/issues/382 Issue extensions#382]). It also doesn't include (invisible) paths contained in clips and masks anymore ([https://gitlab.com/inkscape/extensions/-/merge_requests/440 MR extensions#440], [https://gitlab.com/inkscape/extensions/-/issues/381 Issue extensions#381]) and documents are exported with the correct scale when scale is different than 1 ([https://gitlab.com/inkscape/extensions/-/merge_requests/466 MR extensions#466], [https://gitlab.com/inkscape/extensions/-/issues/443 Issue extensions#443])<br />
* The '''DXF14 export''' now shows a better error message in case of a very, very deeply nested SVG document ([https://gitlab.com/inkscape/extensions/-/merge_requests/442 MR extensions#442], [https://gitlab.com/inkscape/extensions/-/issues/360 Issue extensions#360]). Also a warning message regarding the Robo-Master spline option has been added ([https://gitlab.com/inkscape/extensions/-/merge_requests/439 MR extensions#439], [https://gitlab.com/inkscape/extensions/-/issues/225 Issue extensions#225]).<br />
* A crash in the '''Embed image''' extension has been fixed, in which images were erroneously determined as missing by the extension ([https://gitlab.com/inkscape/extensions/-/merge_requests/461 MR extensions#461], [https://gitlab.com/inkscape/extensions/-/issues/441 Issue extensions#441]).<br />
* The '''Extensions Manager''' is now shipped with Inkscape and doesn't download itself automatically anymore ([https://gitlab.com/inkscape/extensions/-/merge_requests/421 MR extensions#421]).<br />
* On Windows, the '''Extract image''' extension now correctly links the extracted files ([https://gitlab.com/inkscape/extensions/-/merge_requests/461 MR extensions#461]).<br />
* The slicing positions in the '''Guillotine''' extension are now correct, they were previously off following the flip of the y axis in Inkscape 1.0 ([https://gitlab.com/inkscape/extensions/-/merge_requests/334 MR extensions#334], [https://gitlab.com/inkscape/extensions/-/issues/269 Issue extensions#269]).<br />
* In '''GCodetools''', multiple crashes have been fixed ([https://gitlab.com/inkscape/extensions/-/merge_requests/335 MR extensions#335], [https://gitlab.com/inkscape/extensions/-/issues/312 Issue extensions#312]; [https://gitlab.com/inkscape/extensions/-/merge_requests/307 MR extensions#307], [https://gitlab.com/inkscape/extensions/-/issues/322 Issue extensions#322]; [https://gitlab.com/inkscape/extensions/-/merge_requests/388 MR extensions#388], [https://gitlab.com/inkscape/extensions/-/issues/276 Issue extensions#276]), however this module is currently unmaintained and in need of attention. '''Contributions are highly welcome!''' For this reason, the module has been given it's own repository ([https://gitlab.com/inkscape/extensions/-/merge_requests/402 MR extensions#402]).<br />
* The Hue Level in the '''HSL Adjust''' extension now has a range of 360 ([https://gitlab.com/inkscape/extensions/-/merge_requests/400 MR extensions#400])<br />
* The '''HTML5 canvas export''' now works better with non-Inkscape SVG documents ([https://gitlab.com/inkscape/extensions/-/merge_requests/467 MR extensions#467]). Exported files also now have correct output for closed paths and objects with transparency ([https://gitlab.com/inkscape/extensions/-/merge_requests/345 MR extensions#345], [https://gitlab.com/inkscape/extensions/-/issues/332 Issue extensions#332]).<br />
* The '''Interpolate extensions''' (Interpolate and interpolate attribute) have been completely rewritten and multiple issues have been fixed ([https://gitlab.com/inkscape/extensions/-/merge_requests/240 MR extensions#240]).<br />
* The '''JPEG export''' previously converted a transparent background to black ([https://gitlab.com/inkscape/extensions/-/issues/366 Issue extensions#366]). Now, the document background color is used ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3994 MR #3994]). This also affects the other Raster export extensions. Additionally, the JPEG export now works with even larger resolutions ([https://gitlab.com/inkscape/inbox/-/issues/6522 Issue inbox#6522], [https://gitlab.com/inkscape/extensions/-/merge_requests/445 MR extensions#445]).<br />
* Several bugs in the '''Formula (pdflatex)''' extension have been fixed, such as incorrect insertion position ([https://gitlab.com/inkscape/extensions/-/issues/339 Issue extensions#339]) and random character substitution in documents with many formulae ([https://gitlab.com/inkscape/extensions/-/merge_requests/453 MR extensions#453]). The extension now also works on Windows if the user name is longer than 8 characters ([https://gitlab.com/inkscape/extensions/-/merge_requests/448 MR extensions#448], [https://gitlab.com/inkscape/extensions/-/issues/287 Issue extensions#287]). <br />
* A bug in the rotation sense of the '''Lindenmayer''' extension has been fixed ([https://gitlab.com/inkscape/extensions/-/merge_requests/437 MR extensions#437], [https://bugs.launchpad.net/inkscape/+bug/1094627 LP issue 1094627])<br />
* The '''Motion''' extension now gives better results for paths with multiple closed subpaths ([https://gitlab.com/inkscape/extensions/-/issues/266 Issue extensions#266]) and when the selected element is part of a transformed group. ([https://gitlab.com/inkscape/extensions/-/merge_requests/317 MR extensions#317]).<br />
* The '''Optimized PNG export''' doesn't crash anymore when running it with default parameters ([https://gitlab.com/inkscape/extensions/-/merge_requests/463 MR extensions#463], [https://gitlab.com/inkscape/extensions/-/issues/395 Issue extensions#395])<br />
* A useless warning message when using '''Optimized SVG''' output was removed ([https://gitlab.com/inkscape/extensions/-/merge_requests/368 MR extensions#368] , [https://gitlab.com/inkscape/extensions/-/issues/428 Issue extensions#428])<br />
* The '''Pixel snap''' extension now aligns objects to the coordinate system starting at the top left of the page. The previous behavior, snapping them to a grid aligned with the page bottom, can be activated in the settings ([https://gitlab.com/inkscape/extensions/-/merge_requests/429 MR extensions#429], [https://gitlab.com/inkscape/extensions/-/issues/264 Issue extensions#264]). A bug related to inconsistent unit conversion has been fixed as well.<br />
* Several bugs in the '''PostScript (PS) / EPS import''' have been adressed: It now handles file names with non-latin characters ([https://gitlab.com/inkscape/extensions/-/merge_requests/408 MR extensions#408], [https://gitlab.com/inkscape/extensions/-/issues/281 Issue extensions#281]) on Windows and doesn't rotate the image anymore if the majority of the text is not oriented left-to-right ([https://gitlab.com/inkscape/extensions/-/merge_requests/457 MR extensions#457] and [https://gitlab.com/inkscape/extensions/-/issues/258 Issue extensions#258]). Also a clearer error message is shown for invalid PS/EPS files ([https://gitlab.com/inkscape/extensions/-/merge_requests/454 MR extensions#454], [https://gitlab.com/inkscape/extensions/-/issues/404 Issue extensions#404])<br />
* In the '''Randomize Colors''' extension, shapes with unset opacity are not ignored anymore ([https://gitlab.com/inkscape/extensions/-/merge_requests/331 MR extensions#331] [https://gitlab.com/inkscape/extensions/-/issues/236 Issue extensions#236]).<br />
* A crash in the '''Render Polyhedron''' extension when attempting to render a custom object defined by its edges has been fixed ([https://gitlab.com/inkscape/extensions/-/merge_requests/390 MR extensions#390] , [https://gitlab.com/inkscape/extensions/-/issues/408 Issue extensions#408]).<br />
* The '''Replace Color''' extension now processes colors in RGBA space ([https://gitlab.com/inkscape/extensions/-/merge_requests/392 Issue extensions#392], [https://gitlab.com/inkscape/extensions/-/issues/419 Issue extensions#419]).<br />
* The "Tangential Offset" parameter of the '''Scatter''' extension is now a percentage of the pattern width, and an issue with nested groups has been resolved ([https://gitlab.com/inkscape/extensions/-/merge_requests/327 MR extensions#327]). Another issue where the spacing was off when using the "stretch" mode has also been fixed ([https://gitlab.com/inkscape/extensions/-/merge_requests/327 MR extensions#327]).<br />
* The '''Synfig export''' now exports objects that are not paths (such as rectangles, texts, circles) correctly again ([https://gitlab.com/inkscape/extensions/-/issues/198 Issue extensions#198]); and paths with multiple subpaths are converted correctly ([https://gitlab.com/inkscape/extensions/-/issues/197 Issue extensions#197]) ([https://gitlab.com/inkscape/extensions/-/merge_requests/462 MR extensions#462]).<br />
* The '''TIFF export''' now also works on Linux ([https://gitlab.com/inkscape/extensions/-/merge_requests/458 MR extensions#458], [https://gitlab.com/inkscape/extensions/-/issues/422 Issue extensions#422])<br />
* In the '''Visualize Path''' extensions '''Measure Path''' and '''Number Nodes''', the results are now correct also when the parent of the selected object is transformed ([https://gitlab.com/inkscape/extensions/-/merge_requests/314 MR extensions#314], [https://gitlab.com/inkscape/extensions/-/issues/171 Issue extensions#171]).<br />
* A crash in the '''Voronoi Diagram''' extension when applied to non-Inkscape documents has been fixed ([https://gitlab.com/inkscape/extensions/-/merge_requests/313 MR extensions#313], [https://gitlab.com/inkscape/extensions/-/issues/222 Issue extensions#222]), and the output is now correct independent of the document unit ([https://gitlab.com/inkscape/extensions/-/issues/403 Issue extensions#403], [https://gitlab.com/inkscape/extensions/-/merge_requests/382 MR extensions#382]).<br />
* The '''Webslicer''' extension now correctly cleans up its temporary files ([https://gitlab.com/inkscape/extensions/-/merge_requests/436 MR extensions#436]) <br />
<br />
=== Extension Development ===<br />
<br />
==== API Changes for Third-Party Extension Developers ====<br />
<br />
''Main Article: [https://inkscape.gitlab.io/extensions/documentation/authors/update1.2.html Updating your Extension for 1.2]''<br />
<br />
A lot of additional features have been added to inkex, including a new Style API, a new Units API, support for multipage documents and more.<br />
Although there are no breaking changes in this release, some methods have been deprecated.<br />
<br />
* The improved CSS style and style inheritance handling is enabled for all bundled extensions. If you want to use this functionality in an extension you maintain, see [https://inkscape.gitlab.io/extensions/documentation/authors/update1.2.html#new-style-api New Style API].<br />
* A GUI API (based on [https://pypi.org/project/gtkme/ gtkme]) has been added, so extensions can now ship GTK-based user interfaces ([https://gitlab.com/inkscape/extensions/-/merge_requests/421 MR extensions#421], [https://gitlab.com/inkscape/extensions/-/merge_requests/450 MR extensions#450], [https://gitlab.com/inkscape/extensions/-/merge_requests/465 MR extensions#465]).<br />
* Export extensions can specify that they are only to be listed in &quot;Export as&quot; ([https://gitlab.com/inkscape/extensions/-/merge_requests/371 MR extensions#371], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3600 MR#3600]).<br />
* Color extensions can now process in RGBA space, previously only separate processing of color and opacity was possible (MR [https://gitlab.com/inkscape/extensions/-/merge_requests/392 extensions#392]).<br />
* The path conversion for arcs and stars have been added, so when extensions create these objects, they are rendered in a browser as well and can be processed further by the same extension. ([https://gitlab.com/inkscape/extensions/-/merge_requests/387 MR extensions#387], [https://gitlab.com/inkscape/extensions/-/issues/240 Issue extensions#240]).<br />
* API functions for the new [[Release notes/1.2#Page tool|multipage feature]] have been added ([https://gitlab.com/inkscape/extensions/-/merge_requests/399 MR extensions#499]).<br />
<br />
==== Extension Development Documentation ====<br />
<br />
* All the documentation from the Wiki and the Gitlab project wiki has been '''[https://inkscape.gitlab.io/extensions/documentation/ compiled in a single place]'''. ([https://gitlab.com/inkscape/extensions/-/merge_requests/443 MR extensions#443], [https://gitlab.com/inkscape/extensions/-/merge_requests/451 MR extensions#451])<br />
* The '''tutorials for extension authors''' have been improved. ([https://gitlab.com/inkscape/extensions/-/merge_requests/443 MR extensions#443])<br />
* '''Versioning information''' is now contained in the documentation. This shows extensions authors in which Inkscape version new API functionality was added or deprecated. ([https://gitlab.com/inkscape/extensions/-/merge_requests/443 MR extensions#443])<br />
* The API documentation has been updated into the familiar ReadTheDocs layout ([https://gitlab.com/inkscape/extensions/-/merge_requests/310 MR extensions#310]) and is now generated with a newer version of Sphinx ([https://gitlab.com/inkscape/extensions/-/commit/edf232209494107c9f33ccc6f101726a7fd73adb Commit extensions#edf23220]).<br />
* Fix some small mistakes in the documentation ([https://gitlab.com/inkscape/extensions/-/merge_requests/324 MR extensions#324])<br />
<br />
==== Under the hood ====<br />
<br />
* Various upgrades to the testing library [https://gitlab.com/inkscape/extensions/-/merge_requests/332 MR extensions#332], [https://gitlab.com/inkscape/extensions/-/merge_requests/383 MR extensions#383] now make it easier to test extensions automatically. Our test suite is now continuously running on Python 3.7-3.10 ([https://gitlab.com/inkscape/extensions/-/merge_requests/370 MR extensions#370]) on Linux as well as Python 3.8 on Windows ([https://gitlab.com/inkscape/extensions/-/merge_requests/404 MR extensions#404]).<br />
* Added issue template ([https://gitlab.com/inkscape/extensions/-/merge_requests/377 MR extensions#377]) and merge request template ([https://gitlab.com/inkscape/extensions/-/merge_requests/416 MR extensions#416]) to communicate more effectively.<br />
* inkex can be installed via <code>pip</code> by providing the url of a pipeline artifact, even in forks ([https://gitlab.com/inkscape/extensions/-/merge_requests/353 MR extensions#353]).<br />
* The code formatting of the extensions repository has been made consistent ([https://gitlab.com/inkscape/extensions/-/merge_requests/418 MR extensions#418]). This enables contributors to think less about formatting and more about what matters.<br />
* Improvements to code quality ([https://gitlab.com/inkscape/extensions/-/merge_requests/419 MR extensions#419], [https://gitlab.com/inkscape/extensions/-/merge_requests/422 MR extensions#422], [https://gitlab.com/inkscape/extensions/-/merge_requests/423 MR extensions#423], [https://gitlab.com/inkscape/extensions/-/merge_requests/428 MR extensions#428]) and clearer communication of it ([https://gitlab.com/inkscape/extensions/-/merge_requests/420 MR extensions#420]).<br />
* A dependency management system, [https://python-poetry.org/ poetry], has been introduced ([https://gitlab.com/inkscape/extensions/-/merge_requests/446 MR extensions#446]). This provides packagers with the necessary information which versions of python modules the extensions are currently tested against.<br />
* The deprecated <code>inkex.py</code> file has been removed ([https://gitlab.com/inkscape/extensions/-/merge_requests/460 MR extensions#460]) since it's interfering with the new dependency manager.<br />
* The localization of the extensions has been improved ([https://gitlab.com/inkscape/extensions/-/merge_requests/425 MR extensions#425]).<br />
* It is now possible to use ngettext and pgettext in extensions for better translations ([https://gitlab.com/inkscape/extensions/-/merge_requests/459 MR extensions#459]).<br />
<br />
== Command line ==<br />
<br />
* ''''verbs' have been removed'''. All verbs are available as 'actions' now (see [[#Behind_the_curtains|below]] for more context) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3884 MR #3884], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3880 MR #3880], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3874 MR #3874]).<br />
* A new action for '''scaling by a factor''' has been added, it replaces the previous one, which is now called 'grow' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3880 MR #3880]).<br />
<br />
== Behind the curtains ==<br />
<br />
* '''Gio::Actions''': The old 'verbs' were converted to 'actions'. This work was done to prepare for migrating to Gtk4. It also makes it possible to reach them all '''from the commands palette''', to assign keyboard shortcuts them and to use them on the command line. A big part of this work was done by '''[https://wiki.inkscape.org/wiki/index.php?title=GSoC_2021_Verbs_to_Gio::Actions Google Summer of Code student SUSHANT A.A.]''' with the mentors Alexander Valavanis, Ted Gould and Tavmjong Bah.<br />
* Support for x, y, width and height SVG2 attributes on <code><symbol></code> has been added. It follows the logic of the <svg> element, which already supported these attributes ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3828 MR #3828])<br />
* '''Continuous integration''' has been improved and maintained<br />
* A whole lot of '''code cleanup and refactoring''' has been done to improve maintainability<br />
* Many '''new tests''' were written to be able to detect breakages early<br />
<br />
== Notable bugfixes ==<br />
<br />
<br />
=== Crash fixes ===<br />
<br />
Fixed a crash that occurred …<br />
<br />
* when closing Inkscape while drawing a '''3D box''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4018 MR #4018], [https://gitlab.com/inkscape/inkscape/-/issues/2390 Bug #2390])<br />
* when flipping a grouped '''3D box''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3698 MR #3698])<br />
* when using Undo after switching from the '''3D box''' tool to another tool ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4192 MR #4192], [https://gitlab.com/inkscape/inkscape/-/issues/2854 Bug #2854])<br />
* when pressing <kbd>Backspace</kbd> while using the '''Bézier tool''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3715 MR #3715], [https://gitlab.com/inkscape/inkscape/-/issues/2764 But #2764])<br />
* when hatching with the '''Calligraphy tool''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3927 MR #3972], [https://gitlab.com/inkscape/inkscape/-/issues/3173 Bug #3173])<br />
* using '''Document Properties''' dialog ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3400/ MR #3400])<br />
* when '''dragging and dropping''' SVG files from klatexformula into Inkscape ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3710 MR #3710])<br />
* when using the '''Eraser tool''' (five different crashes fixed) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4079 MR #4079], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4008 MR #4008])<br />
* when drawing a rectangle after closing the '''Icon Preview dialog''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3439 MR #3439])<br />
* when copying/cutting/stamping various '''Live Path Effects''' (multiple crash and bug fixes) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3479 MR #3479])<br />
* when copying a path with the 'Attach path' '''Live Path Effect''' ([https://gitlab.com/nathanal/inkscape/-/commit/8fd705fbc3ec31bffd51ffaa7e3a8a1efcf49a36 Commit 8fd705], [https://gitlab.com/inkscape/inkscape/-/issues/626 Bug #626])<br />
* when selecting an object with the 'Power Stroke' '''Live Path Effect''' after reopening a file ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3546 MR #3546], [https://gitlab.com/inkscape/inkscape/-/issues/2716 Bug #2716])<br />
* when editing a shape with an inverse mask applied to it with the '''Node tool''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4080 MR #4080], [https://gitlab.com/inkscape/inkscape/-/issues/3286 Bug #3286])<br />
* when trying to '''open''' an SVG file with invalid CSS pseudoclasses ([https://gitlab.com/inkscape/inkscape/-/issues/3358 Bug #3358], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4219 MR #4219])<br />
* when changing the pattern back in the '''Paint Servers dialog''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4139], [https://gitlab.com/inkscape/inkscape/-/issues/3327 Bug #3327])<br />
* when '''quitting''' Inkscape ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3681 MR #3681])<br />
* when using the '''Spray tool''' to spray multiple items in single path mode ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3470 MR #3470])<br />
* when clicking on a color after reopening the '''Swatches dialog''' ([https://gitlab.com/inkscape/inkscape/-/issues/3221 Bug #3221], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3991 MR #3991])<br />
* when trying to add a Live Path Effect to a '''symbol''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3520 MR #3520])<br />
* when scrolling quickly through line height units in the the '''Text tool''''s tool controls bar ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3541 MR #3541])<br />
<br />
=== Other bug fixes ===<br />
<br />
* The '''Align and Distribute dialog''' no longer starts out with node alignment options, this is strictly limited to when the Node tool is in use.<br />
* Improved '''Boolean Operation''' algorithm ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3724 MR #3724])<br />
* The '''Calligraphy tool''' no longer inverts the tilt direction ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3782 MR #3782], [https://gitlab.com/inkscape/inkscape/-/issues/1692 Bug #1692])<br />
* the '''Calligraphy tool''' no longer leaves any blots on locked layers when trying to draw on them ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3882 MR #3882], [https://gitlab.com/inkscape/inkscape/-/issues/3154 Bug #3154])<br />
* There's no longer a grey line present that starts on the top left page corner when holding Ctrl and drawing with the '''Calligraphy tool''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3174 MR #3174], [https://gitlab.com/inkscape/inkscape/-/issues/2203 Bug #2203])<br />
* Cloning objects that do not have an ID works now ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3180 MR #3180], [https://gitlab.com/inkscape/inkscape/-/issues/2389 Bug #2389])<br />
* macOS users can now '''close''' Inkscape from the Welcome screen ([https://gitlab.com/inkscape/inkscape/-/issues/2762 MR #2762])<br />
* The Zoom buttons are back in the '''Commands bar''': <code>Zoom to fit selection in window</code>, <code>Zoom to fit drawing in window</code>, <code>Zoom to fit page in window</code> and <code>Center page in window</code> ([https://gitlab.com/inkscape/inkscape/-/issues/1910 Bug #1910], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3638 MR #3638])<br />
* The search results in the '''Commands palette''' are now ordered in a more helpful way ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2834])<br />
* '''Copy-pasting''' groups using CSS classes for objects inside them no longer turns them all black ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3656 MR #3656])<br />
* '''Dialogs''' that have just been opened receive focus again, so they can be used with a keyboard, too ([https://gitlab.com/inkscape/inkscape/-/issues/3482 Bug #3482], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4381 MR #4381])<br />
* When the canvas has the focus, open '''dialogs''' do not steal keyboard shortcuts from it anymore ([https://gitlab.com/inkscape/inkscape/-/issues/2409 Bug #2409], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3176 MR #3176])<br />
* '''Document properties dialog and menu''' agree about whether guides are visible and/or locked now ([https://gitlab.com/inkscape/inkscape/-/issues/663 Bug #663], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4346 MR #4346])<br />
* Inkscape no longer slows down when '''using grids and having the Document Properties dialog open''' on macOS<br />
* Units in the '''Document Properties dialog''' now adjust properly when scaling the document ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3403 MR #3403])<br />
* For files without a viewbox, the '''Document properties dialog''' no longer refuses to change the Display unit ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3866 MR #3866], [https://gitlab.com/inkscape/inkscape/-/issues/872 Bug #872])<br />
* The '''Eraser tool''' no longer leaves red traces when it cannot erase ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4079 MR #4079], [https://gitlab.com/inkscape/inkscape/-/issues/540 Bug #540])<br />
* The '''Eraser tool''' now even cuts paths with only two nodes or arcs and clones (unlinking them) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4079], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4008 MR #4008])<br />
* '''Export file names''' are now saved relative to the file's location (previously, we were saving absolute paths in the SVG document) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4166 MR #4166], [https://gitlab.com/inkscape/inkscape/-/issues/804 Bug #804])<br />
* '''Exported raster images''' without alpha layer (no transparency) such as RGB and Greyscale PNGs, or JPG now use the page background color for export instead of black ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3994 MR #3994], [https://gitlab.com/inkscape/inkscape/-/issues/1357 Bug #1357])<br />
* running '''extensions''' no longer fails when you've run them many times already ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3871 MR #3871], [https://gitlab.com/inkscape/inkscape/-/issues/2861 Bug #2861])<br />
* the '''Extension Manager''' now works on macOS ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3579 MR #3579])<br />
* Scaling a stroke by percentage in the '''Fill and Stroke dialog''' no longer changes the stroke pattern and no longer shrinks instead of growing ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4198 MR #4189], [https://gitlab.com/inkscape/inkscape/-/issues/792 Bugs #792], [https://gitlab.com/inkscape/inkscape/-/issues/793 #793], [https://gitlab.com/inkscape/inkscape/-/issues/1238 #1238])<br />
* The long lost 'Burnt Edges' '''filter''' has returned ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3576 MR #3567])<br />
* It is no longer possible to create invalid filters using a non-existing feComposite operator ([https://gitlab.com/inkscape/inkscape/-/issues/1647 Bug #1647], [https://gitlab.com/inkscape/inkscape/-/merge_requests/2766 MR #2766])<br />
* The default value for 'saturate' in the color matrix '''filter''' has been fixed ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3626 MR #3626])<br />
* '''Find and Replace''' now works better if a text has a description and nested tspans ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3551 MR #3551])<br />
* '''Find and Replace''' now more reliably finds all occurrances of a string ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2999 MR #2999], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4352 MR #4352])<br />
* Editing fonts with the '''Font Editor dialog''' now also works for SVG fonts without a label (as created by FontForge)<br />
* '''Guides''' do not move around anymore when resizing the document ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4127 MR #4127], [https://gitlab.com/inkscape/inkscape/-/issues/1230 Bug #1230])<br />
* '''Guide handles''' are always correctly centered on the guide line. This change also fixes a similar positioning error that affected node handles ([https://gitlab.com/inkscape/inkscape/-/issues/2022 Bug #2022], [https://gitlab.com/inkscape/inkscape/-/issues/2604 Bug #2604], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3870 MR #3870]).<br />
* When a linked '''image''' can not be found, Inkscape now no longer uses (and saves the file with) altered image sizes ([https://gitlab.com/inkscape/inkscape/-/issues/3115 Bug #3115], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3842 MR #3842])<br />
* Imported '''images''' are now rotated according to their metadata ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3587 MR #3587], [https://gitlab.com/inkscape/inbox/-/issues/4235 Bug inbox#4235])<br />
* Embedded SVG '''images''' with markers or their own CSS styles are now displayed properly ([https://gitlab.com/inkscape/inkscape/-/issues/1757 Bug #1757], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3147 MR #3147])<br />
* '''Imported''' .cdr files will now use correct measurements ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3879 MR #3879], [https://gitlab.com/inkscape/inkscape/-/issues/2983 Bug #2983])<br />
* The '''Measure tool''' handles angles close to 180° better now ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2918 MR #2918])<br />
* '''Node tool''' handles for smooth and symmetrical nodes now scale along with the other handles, according to the preferences setting ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3679 MR #3679], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3699 MR #3699])<br />
* '''Opening''' a file without a file extension now only gives a warning when the file contents is not valid SVG ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3500 MR #3500])]<br />
* '''Perspective/envelope LPE''' now works on objects with 0 width or height . (edge cases for single line stroke) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2712 MR #2712])<br />
* The '''Preferences''' option to 'enable dynamic relayout for incomplete sections' has been removed, because it has started to break the interface ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3887 MR #3887])<br />
* The '''Preferences''' options for the dockbar style have been removed as they were no longer in use ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3360 MR #3660])<br />
* When a search term can not be found in the '''Preferences''', the whole Preferences tree stays available now ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2636 MR #2636])<br />
* '''Preferences''' now store more exact numbers, and these numbers are also more exact when given to extensions ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3340 MR #3340])<br />
* SVG files can now be '''saved''' without file extension again ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3500 MR #3500])<br />
* '''Saving to .odg''' format works again ([https://gitlab.com/inkscape/inkscape/-/issues/3385 Bug #3385], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4316 MR #4316])<br />
* When scaling and snapping with the '''Selector tool''', the snapping now uses the correct location when geometrical bounding box is being used ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3990 MR #3990], [https://gitlab.com/inkscape/inkscape/-/issues/2212 Bug #2212])<br />
* When clicking and dragging an object with the '''Selector tool''', the correct object is now always dragged (affected Windows) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3735 MR #3735])<br />
* Improvements to '''snapping''' with the node tool (performance, add useful snap targets, remove useless snap targets) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3890 MR #3890], more info in [https://gitlab.com/inkscape/inkscape/-/merge_requests/3889 MR #3889])<br />
* Text tool is more verbose again in the '''status bar''' when editing flowed texts ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4201 MR #4201], [https://gitlab.com/inkscape/inbox/-/issues/4449 Bug inbox#4449])<br />
* Transform handle keyboard shortcuts are now displayed in the '''status bar''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3809 MR #3809])<br />
* A small margin was added on the right end of the '''status bar''', to prevent canvas rotation when the user's intention was to resize the Inkscape window ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3824 MR #3824], [https://gitlab.com/inkscape/inkscape/-/issues/918 Bug #918])<br />
* '''Symbols''' from custom symbol libraries created with Inkscape are now inserted in the correct size ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4228 MR #4228], [https://gitlab.com/inkscape/inkscape/-/issues/1319 Bug #1319])<br />
* The last line in a flowed '''text''' paragraph is not justified anymore ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3780 MR #3780])<br />
* When moving a flowed '''text''' and its flow shape together, the flowed text now stays where it belongs ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3695 MR #3695])<br />
* Multiline vertical '''texts''' in legacy Inkscape documents that have been edited in current Inkscape now are placed correctly in browsers ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3537 MR #3537])<br />
* The preview in the '''Text and Font''' dialog no longer contains tofu (ugly placeholder character) where there is a linebreak ([https://gitlab.com/inkscape/inkscape/-/issues/2577 Bug #2577], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3359 MR #3359])<br />
* '''Tracing''' Pixel Art can now warn users again when the image they're trying to trace is too large ([https://gitlab.com/inkscape/inkscape/-/issues/2455 Bug #2455], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3306 MR #3306])<br />
* '''Zoom''' shortcuts from the numpad work again ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3773 MR #3773])<br />
<br />
* Multiple '''memory leak''' fixes and reductions ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3508 MR #3508], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3058 MR #3058], [https://gitlab.com/inkscape/inkscape/-/commit/51f3bb43774e2a208bfb3b80c62621bc58de8855 Commit 51f3bb4], [https://gitlab.com/inkscape/inkscape/-/commit/74bfe1555d3f9d4ed97c2e58f96d5f5b4eca303d Commit 74bfe1], and many more)<br />
* Lots of '''spelling, phrasing and translatability''' fixes<br />
* Lots of large or small '''performance improvements''' (e.g. [https://gitlab.com/inkscape/inkscape/-/merge_requests/3838 MR #3838])<br />
<br />
=== Even more bug fixes ===<br />
<br />
There were even more issues fixed than those listed above, but these probably only affect a small portion of users, or are relevant for development and packaging only.<br />
<br />
For a complete list, visit [https://gitlab.com/inkscape/inkscape/-/issues?milestone_title=Inkscape+1.2 our GitLab issue tracker] and see the [https://gitlab.com/inkscape/inkscape/-/commits/1.2.x commit history].<br />
<br />
== Translations ==<br />
<br />
The following UI translations received updates (as of May 6 2022):<br />
<br />
* Brazilian Portuguese<br />
* Catalan<br />
* Czech<br />
* Dutch<br />
* Farsi<br />
* French<br />
* German<br />
* Hebrew<br />
* Hungarian<br />
* Icelandic<br />
* Irish<br />
* Italian<br />
* Japanese<br />
* Korean<br />
* Polish<br />
* Portuguese<br />
* Russian<br />
* Simplified Chinese<br />
* Slovenian<br />
* Spanish<br />
* Traditional Chinese<br />
* Turkish<br />
* Ukrainian<br />
<br />
<!-- The Windows installer translation was updated for [2021-03-03]:<br />
<br />
* … --><br />
<br />
The following documentation translations received updates:<br />
<br />
* German<br />
* Simplified Chinese<br />
<br />
<br />
=== Contributing to interface translations ===<br />
<br />
Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]<br />
<br />
== Documentation ==<br />
<br />
* Adjusted font sizes for Eastern languages ([https://gitlab.com/inkscape/inkscape-docs/documentation/-/merge_requests/269 MR docs#269], [https://gitlab.com/inkscape/inkscape-docs/documentation/-/issues/59 Bug docs#59])<br />
* Updated keyboard shortcut list with new node tool shortcuts ([https://gitlab.com/inkscape/inkscape-docs/documentation/-/commit/03541f3d970042a2075cb9be403a1c8aef626432 Commit docs#03541f])<br />
<br />
<br />
=== Contributing to documentation and documentation translation ===<br />
Contributions to the documentation translations, as well as improvements to its contents, are welcome at [https://gitlab.com/inkscape/inkscape-docs/documentation the inkscape-docs repository].<br />
<br />
== Website ==<br />
<br />
The inkscape.org website was updated from Django 1.1 to Django 2.x by '''[https://pulsar17.me/2021/08/gsoc-work Google Summer of Code student Ishaan Arora]''' with the mentors Thomas Holder and Martin Owens. This was in preparation for the goal of updating Django to 3.x, which Ishaan Arora is currently working on.<br />
<br />
== Important changes for packagers ==<br />
<br />
* Dithering for gradients (see [[#Dithering|Dithering section]]) is available with a build flag (<code>-DWITH_INTERNAL_CAIRO=ON</code>), which causes Cairo to be patched for dithering during the build process. Please find more information in [https://gitlab.com/inkscape/inkscape/-/merge_requests/3812 MR #3812].<br />
* New dependency on <code>python-cssselect</code> added which is required for usage of Inkscape extensions ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3239 MR #3239])<br />
* Added Python <code>appdirs</code> dependency ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3568 MR #3568])<br />
* As Python <code>distutils</code> are now deprecated, they have been replaced by <code>python3-packaging</code> ([https://gitlab.com/inkscape/extensions/-/merge_requests/368 MR extensions#368])<br />
* The extension that imports images from the internet requires the Python <code>cachecontrol</code> module<br />
* gcodetools (<code>gcodetools</code>), extension manager (<code>inkman</code>) and clipart importer (<code>clipart</code>) are now all submodules of the extensions submodule. Make sure to update submodules recursively with <code>--recurse-submodules</code> when updating your git branches!<br />
* Inkscape now builds without X11 (cmake option) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3208 MR #3208])<br />
<br />
== Known issues [as of 2022-05-12] ==<br />
<br />
* Some '''custom keyboard shortcuts''' that were set with older Inkscape versions may cease to work and need to be set again when their functionality has been touched in the conversion from 'verb' to 'action'.<br />
* Gradient editing:<br />
** If you convert your gradient to swatch, the gradient editor cannot be used for editing it anymore.<br />
** Canvas stops and gradient editor stops highlighting will stop working in some cases.<br />
* If you want to '''print a specific range of pages / a specific page''', you can select page numbers in the print dialog. However, this only prints the first page currently.<br />
* The option to '''specify a margin''' when resizing the page to the selection is currently not available (formerly available in Document Properties dialog, in the future planned for the Page tool).<br />
* '''Spellchecking''' is not available on '''macOS'''<br />
* Menus on '''M1 (ARM)''' architecture Apple computers '''do not display arrows for expandable menu items'''<br />
* The ''''Render LaTeX'''' extension is disabled in the '''snap packages''' of Inkscape 1.2<br />
<br />
Currently fixing:<br />
<br />
* macOS Intel package not starting on non-current macOS versions<br />
* Clipart Manager not working in AppImage<br />
<br />
== Other releases ==<br />
<br />
{{:Release notes}}</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.2&diff=121284Release notes/1.22022-05-13T14:10:12Z<p>Doctormo: Added import and export to multi page description</p>
<hr />
<div><br />
<br />
{{Box| '''These Release Notes are in Draft Status.'''<br />
<br />
Note: Not all animations work, due to Wiki bugs with resizing images. Release notes will be transferred to website, there animations will be working.<br />
<br />
Important Links:<br />
* [https://gitlab.com/inkscape/inkscape/commits/master Commit History Main Program (starting from: xxx)]<br />
* [https://gitlab.com/inkscape/extensions/-/commits/master Commit History Extensions (starting from: xxx)]<br />
* [https://gitlab.com/inkscape/inkscape-docs/documentation/-/tree/master Commit History Documentation (starting from: xxx)]<br />
<br />
}}<br />
<br />
{{Box| Pending questions:<br />
<br />
List:<br />
<br />
}}<br />
<br />
<br />
<br />
== Release highlights ==<br />
<br />
'''Definitely not released yet.'''<br />
<br />
* Inkscape documents can now hold '''multiple pages''', which are managed by the new '''[[#Page_tool|Page tool]]'''<br />
* '''Editable [[#Markers|markers]]''' and [[#Custom_Dash_patterns|'''dash patterns''']]<br />
* '''[[#Layers_and_Objects_dialog|Layers and objects dialog merged]]'''<br />
* '''[[#Alignment_and_Distribution_snapping|On-canvas alignment snapping]]''' and '''[[#Snapping|Snap settings redesign]]'''<br />
* '''[[#Tiling|New 'Tiling' Live Path Effect]]'''<br />
* [[#Export Dialog|'''Redesigned Export dialog''']] with preview and ability to select objects/layers/pages and even multiple file formats to export to<br />
* [[#New_Extensions|'''Import SVG images from Open Clipart, Wikimedia Commons and other online sources''']]<br />
* [[#Selector_Tool|'''Selectable object origin''' for numerical scaling and moving]]<br />
* '''[[#Align_and_distribute|All alignment options in a single dialog]]'''<br />
* '''[[#Gradient_Editor_is_back|Gradient editing in the Fill and Stroke dialog]]'''<br />
* '''[[#Dithering|Gradient dithering]]'''<br />
* [[#SVG Font Editor|'''SVG Font Editor''' updated]]<br />
* '''[[#Text_Tool|Flowing text around shapes and text padding]]'''<br />
* '''[[#Path_Operations|Convenience Boolean operation for splitting paths]]'''<br />
* '''[[#Customization_.2F_Theming|Configurable Tool bar''', '''continuous icon scaling''' and many more new customization options]]<br />
* '''Performance gains''' for many parts of the interface and many different functions<br />
* '''Lots of improvements to the user interface''' <br />
* '''Numerous crash & bug fixes''' in [[#Notable_bugfixes|the main Inkscape program]] and in [[#Bugs_fixed|in the stock extensions]]<br />
* '''and so much more!'''<br />
<br />
== General user interface ==<br />
<br />
=== Color palette ===<br />
<br />
The overall look and options of the Color palette and the Swatches dialog got a massive overhaul ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2881 MR #2881]):<br />
<br />
* When switching the color palette, the switcher shows a '''colorful preview line''' for each palette<br />
* Between 1 and 5 '''palette rows''' that can be displayed all at once, or scrolled through vertically / using the arrow buttons<br />
* Improved and reliably working settings for '''padding, tile size and tile shape / auto-stretching'''<br />
<br />
[[File:Color pallet demo.gif|frame|center|Color palette layout options]]<br />
<br />
<br />
=== Context menus ===<br />
<br />
* Context menus '''no longer contain functionality that is not available''' for the selected object (no greyed-out items anymore), making it easier to find what you're looking for. This also helps find objects you've hidden, as the option to unhide objects under the cursor only appears if there are hidden objects in that location ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3800 MR #3800]).<br />
* The '''Extract image''' command has been improved and works with multiple images now. You can now enter a base filename; if none is entered, the ids of the selected images are used as filename. You can also choose whether the embedded image data should be replaced by a link to the exported file ([https://gitlab.com/inkscape/extensions/-/merge_requests/461 MR extensions#461], [https://gitlab.com/inkscape/extensions/-/issues/167 Bug extensions#167]).<br />
<br />
=== Dithering ===<br />
<br />
Inkscape's gradients sometimes suffered from visible steps between colors, a phenomenon also known as '''gradient banding'''. Gradient banding is caused by the difference between how many different colors are available for the selected image file format and how many colors a human eye can discern. The effect becomes especially prominent when exporting a gradient that only spans a small color range to a high-resolution image. There just aren't enough colors available for a smooth transition.<br />
<br />
'''Dithering''' softens these steps '''by scattering pixels''' of the different adjacent colors along the gradient, a little bit like a blur.<br />
<br />
Dithering is now used both for '''Export of raster images''' as well as for '''displaying gradients on canvas''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3812 MR #3812]). This functionality requires a special version of Cairo, our rendering engine. This means that it will '''only be available in the pre-packaged builds''' (for '''macOS''', '''Windows''' and for the '''Linux AppImage'''). <br />
<br />
Dithering can be turned off (better performance / smaller exported file size for raster images) in <code>Preferences → Rendering → Use dithering</code>.<br />
<br />
'''Note:'''<br />
* ''Dithering does not work for mesh gradients!''<br />
* ''For standard Linux package formats (deb, rpm, …), it depends upon your Linux distribution maintainers whether they will patch up the version of Cairo they want to distribute. We hope that this change will one day also be included in the official Cairo packages ([https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/24 Link to ongoing discussion]).''<br />
<br />
[[File:Dithering_comparison.png|frame|center|Top: Gradient banding, bottom: dithered, smooth gradient]]<br />
<br />
<br />
=== Menu ===<br />
<br />
* The option '''<code>View → Custom</code>''' was removed, as the difference was the location of the snap controls bar, and that [[#Snap_popover|is gone now]] ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3647 MR #3647]).<br />
* After installing a new extension with the Extensions Manager, the menu now '''updates without the need to restart Inkscape''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3611/diffs?commit_id=0bb51adf076ead63d8aa149ad2547d8f96833761 Commit #0bb51a])<br />
<br />
<br />
=== Performance ===<br />
<br />
* Various performance improvements for rendering while panning and zooming ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3838 MR 3838])<br />
* Improved performance on macOS<br />
<br />
<br />
=== Settings ===<br />
<br />
Some '''default settings''' have been changed to make Inkscape easier to use for new users:<br />
<br />
* Rotation is now locked by default<br />
* The default handle size has been increased (to 4)<br />
* The default number of autosave files has been increased (to 50)<br />
<br />
=== Status Bar ===<br />
<br />
* The layer selection drop-down has been replaced by a '''layer indicator'''. Clicking on the indicator opens the new [[#Layers_and_Objects_dialog|Layers and object dialog]]. This change improves Inkscape's performance for documents with many layers ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3648 MR #3648]).<br />
* The '''layer lock and hide icons''' now come after the layer indicator, which is more logical ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3856 MR #3856], [https://gitlab.com/inkscape/inkscape/-/issues/3104 Bug #3104])<br />
* The status bar '''contents are now configurable''' from <code>Edit → Preferences → Interface: Status bar</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3445 MR #3445])<br />
* When your document has more than one page, the status bar shows the '''page navigation''' to the right of the message area, allowing you to leaf through the pages or to select a specific page directly<br />
<br />
<gallery mode="packed" heights=350px><br />
File:Page navigation.png|Page navigation in status bar<br />
File:Status bar items toggle.gif|Toggling visibility of items in the status bar (click to see animation)<br />
</gallery><br />
<br />
<br />
=== Tool Bar ===<br />
<br />
* The Tool bar '''width can now be adjusted''' by dragging its edge. The tool icons will wrap into '''multiple columns''', separated by tool category, depending upon the width.<br />
* You can now '''hide tools''' from the tool bar at <code>Edit → Preferences → Interface → Toolbars: Toolbars</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3515 MR #3515])<br />
<br />
[[File:X5pWfteMzW.gif|frame|center|Toggling tool visibility for the tool bar]]<br />
<br />
== Canvas ==<br />
<br />
=== Page ===<br />
<br />
* Inkscape documents can now hold '''multiple pages'''! Learn more in the [[#Page_tool|'''section about the new Page tool''']].<br />
* '''Page shadows''' now have a '''more realistic''', blurry, fade-out look ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3128 MR #3128]). <br />
* '''Settings for the page background / decoration''' (shadow, border) were refactored, see [[#Document_Properties|section about Document properties dialog]].<br />
* The page's '''default color''' is white, and the default desk color is set to light gray. This way, it is easier to differentiate what is '''on''' the page(s) and what is '''outside''' of the page(s).<br />
<br />
[[File:Page shadow.png|center|thumb|800x400px|Page shadow comparison. Left: Inkscape 1.1, right: Inkscape 1.2]]<br />
<br />
=== Snapping ===<br />
<br />
[[File:Snapping popover .gif|frame|right|New snap settings layout]]<br />
<br />
==== Snap popover ====<br />
<br />
The snap bar has been replaced with a new ''''popover'-type dialog''', which will '''unfold''' when you click on the little arrow symbol in the top right corner, next to the snap symbol.<br />
Snap options now have '''always-visible descriptions''', to make them easier to understand ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3323 MR #3323]).<br />
<br />
To activate / deactivate snapping globally, click on the snap symbol in the top right corner or press '''<kbd>%</kbd>'''.<br />
<br />
The popover dialog has two different modes:<br />
* '''Simple''': Only 3 options: snap bounding boxes and paths, activate / deactivate the new alignment snapping). This provides simple presets for many use cases.<br />
* '''Advanced''': Gives the familiar granular control over every snapping option. <br />
<br />
'''''Note:''' Switching from 'Advanced' back to 'Simple' is not merely a visual change, but will reset snap settings to defaults.''<br />
<br />
<br />
==== Alignment and Distribution snapping ====<br />
<br />
During Google Summer of Code 2021, GSOC student '''[https://gitlab.com/ParthPant Parth Pant]''' worked on adding '''on-canvas alignment and distribution snapping''', with the support of his mentors Thomas Holder and Marc Jeanmougin. <br />
As a result, '''two new modes of on-canvas snapping''' have been added. These new modes make aligning and distributing objects a '''very easy drag-and-drop operation''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3294 MR #3294])..<br />
<br />
* When '''on-canvas alignment''' is active (option '''Alignment'''), Inkscape will display horizontal or vertical temporary guide lines that indicate when the selected object can be aligned relative to another object on the canvas. It connects the points of the objects that are in alignment. With the option '''Nodes in same path''', alignment snapping is also available for nodes while editing a path with the node tool.<br />
* With '''distribution snapping''' (option '''Same distances'''), multiple objects close by are taken into account, making it possible to align objects in a grid with very little effort.<br />
<br />
The '''temporary guide lines''' only appear while editing / moving objects on the canvas. Once a guide shows up, the movement of the selection is loosely constrained in the direction of the guide.<br />
<br />
Alignment and Distribution snapping guide lines can '''display the distance(s)''' between objects as a little label. This can be enabled from <code>Edit → Preferences → Snapping: Show snap distance in case of alignment or distribution snap</code>.<br />
<br />
The 'Simple' mode of the snapping popover dialog allows you to simply activate or deactivate Alignment snapping. <br />
The 'Advanced' mode gives you additional control by allowing you to en-/disable:<br />
<br />
==== Other Changes to Snapping ====<br />
<br />
* Snap settings are '''no longer saved with the document''', but are set '''globally for all documents''' in the preferences and in the snap popover dialog. <br />
* The option for '''enabling snapping in new documents''' has been '''removed''', as it no longer makes sense ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3580 MR #3580])<br />
* The options for '''snapping perpendicularly''' and '''tangentially''' to paths or guide lines have been '''moved''' from the document preferences to the snap popover to make them more discoverable.<br />
* The options to '''configure snap tolerances''' per snap target type that previously could be set in the document preferences have been '''removed''' to simplify snapping for users.<br />
<br />
<br />
<gallery mode="packed" heights="350px"><br />
File:Self snapping.gif|Snapping nodes in the same path<br />
File:Aligment and distribution snapping exemple.gif|Demo of alignment and distribution snapping<br />
</gallery><br />
<br />
=== Guides and Grids ===<br />
<br />
* The '''size of the guide handles''' is now '''adjustable''' via the existing setting <code>Edit → Preferences → Interface → Handle size</code>. Nonetheless, the guide handles react to this setting at half the rate of other handles; at large settings, the effective size of a guide handle is about half the size of an auto-smooth node. At the same time, a minimum size is enforced, equal to the previously hard-coded size. As a result of this mechanism, the handle is only enlarged when the <code>Handle size</code> preference is set to a value of 7 or larger. Since the default value is 3, the size of guide handles does not change on new installs or for users on default settings ([https://gitlab.com/inkscape/inkscape/-/issues/3111 Bug #3111], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3870 MR #3870])<br />
* Larger '''handles can now easily be grabbed''' with the mouse, because the handles themselves are now 'grabb-able', not only the guide lines below ([https://gitlab.com/inkscape/inkscape/-/issues/3111 Bug #3111], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3870 MR #3870])<br />
* Handles '''now take on the guide's color'''. Only when the guide is locked, its handle turns grey (and changes the shape to an "x", as before) ([https://gitlab.com/inkscape/inkscape/-/issues/3111 Bug #3111], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3870 MR #3870])<br />
* The '''default color''' of guides and grids was changed to a '''softer shade of blue''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4012 MR #4012])<br />
<br />
[[File:Guide changes.png|frame|center|New guide appearance (enlarged for better visibility, and thus pixelated)]]<br />
<br />
== Tools ==<br />
<br />
=== Tool settings ===<br />
<br />
* The '''Pen, Pencil, Text and Tweak tool''' now use the ''''last used style' by default''', and will not constantly reset to black fill / stroke respectively for new users with default preferences ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3533 MR #3533]).<br />
* The default ''''Mass' value''' of the '''Eraser tool''' has been '''increased''', so the result is now much smoother ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3440 MR #3440], [https://gitlab.com/inkscape/ux/-/issues/107 Bug UX#107])<br />
* The '''default 'Smoothing' value''' for the '''Pencil tool''' has been increased, so first-time users' first drawings will look less squiggly ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3966 MR #3966])<br />
* The '''default font unit''' for the '''Text tool''' is pt.<br />
<br />
=== Gradient Tool ===<br />
<br />
To allow you to keep gradients, even when the last object that was using it has been deleted, we added a setting for '''automatically removing unused gradients''' at <code>Preferences → Gradient Tool → Auto delete gradients that are not used</code>. This is turned on by default, which corresponds to the behavior of the previous Inkscape version, but you can now turn it off ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3897 MR #3897]).<br />
<br />
=== Node tool ===<br />
<br />
* The box (lasso) selection mode gained two new features: '''node deselection''' and '''inverted node selection''':<br />
** to '''deselect''' some of the selected nodes, drag a box around those nodes while holding <kbd>Shift + Ctrl</kbd>.<br />
** to '''select all nodes but those that end up within the box''', hold <kbd>Ctrl</kbd> while dragging the box around the nodes.<br />
* When '''clicking on a path segment while holding <kbd>Ctrl</kbd>''', the path segment becomes a '''straight line'''<br />
* When '''double-clicking on a path segment while holding <kbd>Ctrl</kbd>''', the path segment is '''removed'''<br />
<br />
[[File:Node deselection lasso.gif|frame|center|Deselecting nodes / selecting all other nodes by dragging the mouse and using Ctrl and Shift]]<br />
<br />
=== Page tool === <br />
[[File:Page tool context menu.png|frame|right|Context menu for the Page tool]]<br />
The new Page tool (lowest button in the tool bar) allows you to create multi-page Inkscape documents, and to import as well as export multi-page PDF documents. ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3486 MR #3486], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3785 MR #3785], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3821 MR #3821]). It supports overlapping pages and pages of different sizes in a single document.<br />
<br />
=== Importing (Merge) / Exporting (Split) ===<br />
Multi-page documents can be imported with their pages appended as new pages in the existing document. Select the correct option in the window that pops up to append pages rather than import shapes as usual. This can be used to merge multiple pdf files.<br />
<br />
Exporting multiple pages can be done in the new export dialog in batch mode. As well as each individual page in the Single export tab. Use this to split into single page svg or pdf documents. ''Note: it's not yet possible to select a sub-selection of multiple pages to export yet.''<br />
<br />
'''Tool usage:'''<br />
* To '''create a new page''' either:<br />
** click-and-drag on the canvas<br />
** or click on the 'Create a new page' button in the tool controls<br />
* To '''delete a page''', click on the page to select it, then click on the button <code>Delete selected page</code> or use the <code>Del</code> or <code>Backspace</code> keys.<br />
* To '''move a page''' on the canvas, click-and-drag it to the desired new position. If the option to <code>Move overlapping objects</code> is active, this will also move any objects that touch the page along with it.<br />
* To '''change a page's size''':<br />
** click on a page whose size you want to change to select it, then drag the square-shaped handle in its bottom right corner<br />
** click on the page, and then choose one of the predefined sizes in the page size dropdown, or enter your size values for the 'Custom' option, by typing them into the field in the form of <code>10cm x 15cm</code><br />
* To '''fit a page''' to:<br />
** the size of '''the drawing''': make sure to have no object selected before you switch to the Page tool. Then select a page by clicking on it, then click on the button 'Fit page to drawing or selection' in the tool controls<br />
** '''a selected object''': first select the object(s) with the selection tool, then switch to the Page tool, click on a page to select it, then press the the button 'Fit page to drawing or selection' in the tool controls<br />
* To '''add a label''' to your page, select the page by clicking on it, then enter a name or label for it into the text field in the page tool's tool controls. Labels are always visible, no matter which tool is currently selected.<br />
* To '''export a multi-page PDF''' file, use <code>File → Save a copy … → PDF</code>. This will automatically include all pages. If you only want to export a certain page, or a selection of pages, the updated [[#Export_Dialog|<code>File → Export</code> dialog]]'s batch export tab can help you get that done (one file per page).<br />
* To '''open or import a multi-page PDF or AI (pdf-based)''' file, use <code>File → Open/Import → select file name → choose to import 'All' pages</code> [Known issue: 'import' moves content of some pages to some far out place in the drawing]<br />
*You can navigate pages with page navigator on that will show up in right down corner of status bar<br />
<br />
''Note: Multi-page SVG files are an Inkscape-specific concept. Web browsers will only display the first page of your document, which corresponds to the 'viewbox' area of the SVG file.''<br />
<br />
<gallery mode="packed" heights=450px><br />
File:Page Tool-New Pages.gif|Creating a page using the tool controls<br />
File:Page Tool-Navigate-Pages-from-Status-bar.gif|Navigating pages from the status bar<br />
File:Page Tool-Moving-Objects-with-Pages.gif|Moving objects along with the page<br />
File:Page Tool-Label Pages.gif|Labelling pages<br />
File:Page Tool-Delete Pages.gif|Deleting pages and their contents<br />
</gallery><br />
<br />
=== Selector Tool ===<br />
<br />
The tool now allows to '''set the origin of the selection''' for precise numerical positioning to one out of 8 possible positions:<br />
<br />
# If no handle is selected, the '''default origin is the top left corner''' of the bounding box.<br />
# To change, '''click''' on '''one of the other 7 outside object handles''' to select your desired origin for the scaling. <br />
# The selected handle is now highlighted in blue and the '''x/y position''' in the tool controls will adjust to the new origin.<br />
# Now '''edit the x, y, width or height values''' to move and scale your object using the new origin ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2700 MR #2700])<br />
# To '''reset''' the transformation origin, <kbd>Shift + Click</kbd> on the highlighted handle.<br />
<br />
[TODO: needs new gifs, center movable handle has been removed]<br />
<br />
<gallery style="border: 1px solid #c8ccd1;padding: 3px;background-color: #f8f9fa;" mode="packed" heights=350px><br />
File:Change origin of selection.gif|Changing the origin for scaling numerically<br />
File:Change origin to TOP right.gif|Changing the origin to move one corner to a specified coordinate<br />
</gallery><br />
<br />
=== Text Tool ===<br />
[[File:Kerning popover.png|frame|right|Text spacing/kerning options in a popover dialog]]<br />
* '''Kerning options''' are now symbolized by a '''button''' between the subscript and text direction selectors. Clicking on it will open a so-called pop-over, where all previously available options can be found. This change saves space in the Text tool's toolbar.<br />
* '''Negative kerning''' values can now take on values as small as <code>-1000</code> (previously -100), making them symmetrical to their positive counterparts ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2569 MR #2569], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3434 MR #3434])<br />
* '''Padding''': Text that is flowed into a shape and standard flowed text now has an '''additional square-shaped handle''' in the top right corner. Move the handle to adjust the text padding inside the frame ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2769 MR #2769])<br />
* '''Exclusion zones''': Text can now '''flow around one or more movable objects''': <br />
*# Select all object(s) (use only shapes and paths on the same object hierarchy level as the text; no groups / clones / images supported) and the text.<br />
*# Set the exclusion zone by going to <code>Text → Set subtraction frames</code>.<br />
*# Now you can move the exclusion objects around or edit their shape, and the text will adjust automatically.<br />
*# If you want to change the exclusion zones again at a later point, repeat the process with all objects that the text should flow around.<br/>''Background info:''<br/>''SVG 2.0 flowed text allows for <code>shape-padding</code> and <code>shape-subtract</code> attributes. <code>shape-padding</code> lets the text flow into a shape and leave some space between its edges and w where the text will start to flow. <code>shape-subtract</code> subtracts shapes with margin, so text can flow around other objects in the scene. These attributes were supported in Inkscape 1.0, but not exposed to the user. This version of Inkscape includes both an adjustable on-canvas knot for changing the padding as well as a Text menu item for setting text subtraction properties with a further knot to adjust it's margins.''<br />
<br />
[[File:Text-subtract opt.gif|frame|center|Text flowing around a shape and then text padding being adjusted]]<br />
<br />
== Path Operations ==<br />
<br />
With <code>'''Path → Split path'''</code>, Inkscape now has functionality to separate a path object that consists of multiple subpaths into a set of path objects that 'belong together'. This means that parts of a path that have holes in them are kept as whole objects. The function works by splitting up a path into non-intersecting bits, keeping intersecting bits together.<br />
<br />
''Example'': A path that consists of a word, like 'Inkscape' will be split into 8 parts, one for each letter. With the familiar 'Break apart' function, there would be 12 parts, because of the holes in the letters that would be split off as their own objects, too ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3738 MR #3738]).<br />
<br />
[[File:Split.gif|center|frame|Top: Break path function separates all subpaths into single objects (not new)<br/>Bottom: Splitting a text into letters with the new 'Split path' operation]]<br />
<br />
== Masking / Clipping ==<br />
<br />
* A new option to '''preserve clips / masks when ungrouping''' objects has been added (<code>Edit → Preferences → Behavior → Clippaths and Masks: When ungroup, clip/mask is preserved in childrens</code>). The option is active by default. This means that when you now ungroup a group that has been clipped, the elements inside it will inherit the clip. Previously, the clip was removed and everything became un-clipped. To go back to previous default behavior, deactivate this new option. ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3564 MR #3564])<br />
<br />
== Dialogs ==<br />
<br />
<br />
[[File:Inkscape PyFNUY7fCi.gif|frame|right|Close current tab or open any dialog directly from a dialog dock/window]]<br />
<br />
=== General Dialog Changes ===<br />
<br />
* A '''mini-menu''' (downward pointing arrow symbol) was added into the title bar of every multi-dialog panel (also called 'notebook'). You can use it to close the current tab, to undock it, or to close the whole panel. It also shows a list of available dialogs, sorted by purpose, allowing you to open them with a click (([https://gitlab.com/inkscape/inkscape/-/merge_requests/3728 MR #3728])<br />
* The '''right-click menu for tabs''' now contains a '''list of all open dialogs'''.<br />
* Open dialogs are now '''less costly for performance''', because they do not update when it's not needed ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3369 MR #3369]), or when they are hidden ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3761 MR #3761])<br />
* '''Docking zones now expand and flash slowly''' when a dialog is dragged close to them. This makes it easier to see where docking is possible ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3729 MR #3729])<br />
* The text labels of docked dialogs are now more responsive to the width of dialog ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3627 MR #3627])<br />
* A new '''option for text labels''' for docked dialogs has been added. <code>Edit → Preferences → Windows: Dialogs settings : Labels Behavior : Active</code> reduces all except the active tabs' labels to icons. The option is no longer available from the right-click menu of the tabs ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3644 MR #3644])<br />
<br />
=== About Screen ===<br />
<br />
The 'About Inkscape' dialog uses [https://inkscape.org/news/2022/03/22/new-discoveries-await-upcoming-inkscape-12-about/ the winner art from our Inkscape 1.2 About Screen Contest], '''"New discoveries await..." by Chris Hildenbrand'''.<br />
<br />
=== Align and Distribute ===<br />
<br />
* The formerly separate <code>Arrange</code> dialog is now '''integrated''' with the <code>Align and Distribute</code> dialog. With its '''three tabs''', more '''user-friendly names''' and some '''small visual tweaks''', the dialog now holds everything that is needed for aligning, distributing and arranging objects in your drawing ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3382 MR #3382], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3667 MR #3667]).<br />
* The icons inside this dialog are now smaller. <br />
[[File:Inkscape R6cB6sFN07.gif|center|frame|All alignment and distribution options in a single dialog]]<br />
<br />
=== Document Properties ===<br />
<br />
[[File:Document Properties.png|alt=Document Properties|thumb|right|First tab of the Document Properties dialog]]<br />
<br />
* The ''''Snapping' tab was removed''' in favor of a global snapping preference, see [[#Snapping|Snapping section]]. <br />
* The '''first tab''' of the Document properties dialog was '''refactored''' thoroughly to make it easier to use ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3700 MR #3700]):<br />
** It's now labelled 'Display' instead of 'Page'.<br />
** The long list of different document formats is now available from a dropdown.<br />
** There is a preview available of the page format and colors.<br />
** The '''page area(s)''' in a document can now have a '''different color''' than the underlying ''''desk' area'''.<br />
** The other options have been rearranged to look tidier.<br />
** ''Note: The option to '''add margins''' to a document when resizing it is '''currently unavailable'''''<br />
* Grid precision has been reduced to 3 decimal places ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2941 MR #2941])<br />
<div style="clear:both;">&nbsp;</div><br />
<br />
=== Export ===<br />
<br />
The former <code>Export PNG image</code> dialog was updated to a general <code>Export</code> dialog by '''[https://gist.github.com/SlayerAnsh/bc932d86c8f846b9c2042a0255231563 2021 GSOC student Anshudhar Kumar Singh]''' with the mentors Michael Kowalski, Ted Gould and Tavmjong Bah, and finished by Martin Owens ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3825 MR #3825]).<br />
<br />
The new name reflects the increased range of functionality of the dialog.<br />
<br />
==== General Export Dialog Changes ====<br />
<br />
* the '''confusing number entry fields''' for export area coordinates have been '''hidden from all but the 'Custom' tab'''<br />
* the dialog now features a '''preview''' that allows you to see what is going to be in the exported file(s). The preview can also be turned off when you do not need one, or in case performance suffers.<br />
<br />
==== Available Export File Formats ====<br />
<br />
* by default, the dialog allows you to export images to multiple raster and vector formats: – '''PNG, Optimized PNG, JPEG, WebP, Tiff, SVG, Inkscape SVG, PDF'''<br />
* by activating <code>Edit → Preferences → Input/Output → Show all outputs in Export dialog</code>, even '''more export formats''', provided by Inkscape extensions, will become accessible from the dialog. By default, this includes a long list almost as high as your Inkscape window - ranging from 'Compressed Inkscape SVG with media' and .dxf to 'Scribus CMYK pdf' and 'Windows Metafile (.wmf)'.<br />
* '''third-party Inkscape Python extensions''' can be added to '''extend the dialog's functionality''' even further<br />
<br />
==== Batch Export ====<br />
<br />
In addition to exporting single images, one at a time, or simple batch export of objects in the selection to separate files, the dialog has gained the ability to:<br />
<br />
* also batch export '''top level layers''' and '''pages'''<br />
* to export to '''multiple image resolutions at once''', by setting a different DPI value for each export format/size<br />
* to export to '''multiple file formats at once'''<br />
* to '''select''' objects, pages or top level layers to export (with preview)<br />
* '''file names''' are constructed as <code><filename>_<object id>_<suffix>.<extension></code>, where each export file format/size can have '''its own suffix'''<br />
<br />
This functionality lives in the dialog's '''new second tab'''. To add another export file format or size, click on <code>'''Add export'''</code>, and a new line with selectable suffix, file format and dpi value settings becomes available. Layer export will include '''all objects in the layer''' (i.e. crop to content). <br />
<br />
''Hint: If you need a background for export that is the same over all layers (e.g. for a presentation or slideshow, or for an animation), you can move that background object into the root of the SVG file, by dragging it out of a layer and placing it below all layers with the Layers/Objects dialog in Objects mode. To have all layers exported at the same size, you'd still need an (invisible) object in each layer with the desired size.''<br />
<br />
[TODO: Add images / gifs / video link]<br />
<br />
=== Fill and Stroke dialog ===<br />
==== Color selector ====<br />
<br />
[[File:HSLuv_color_picker.png|thumb|200px|HSLuv color picker mode with color wheel]]<br />
<br />
* The more intuitive '''HSL mode''' (hue, saturation, lightness) is now the '''default mode''' of the color selector. <br />
* All color selection modes (e.g. HSL, HSV, RGB, CMYK, CMS, HSLuv) have been moved into a '''drop-down menu''', with icons. You can get the old, tabbed look back by disabling the option in <code>Edit → Preferences → Interface: Use compact color selector mode switch</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3443 MR #3443]).<br />
* New: '''HSLuv mode''' added for color picker. This mode lets you more intuitively select optically similar saturation of different hues ([https://en.wikipedia.org/wiki/HSLuv Wikipedia]).<br />
* A '''color wheel''' can now be used for '''HSL, HSV and HSLuv''' color selection modes (in previous Inkscape versions, it was its own mode). Activate it by clicking on 'Color Wheel' above the color sliders area.<br />
<br />
==== Gradient Editor is back ====<br />
<br />
A replacement for the [https://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.1#Legacy_Gradient_Editor_dialog_removed|lost gradient editor] was added to the 'Fill and Stroke' dialog ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2688 MR #2688], [https://gitlab.com/inkscape/ux/-/issues/67 Bug UX#67]).<br />
<br />
This allows you to add, edit and delete gradient stops directly in the 'Fill and Stroke' dialog again:<br />
<br />
* to '''add''' a new stop, '''double click''' on the gradient preview<br />
* to '''move''' a stop, '''click and drag''' it along the gradient preview or '''enter the stop offset value numerically''' for more precision after selecting one stop<br />
* to '''remove''' a stop, click on it to '''select it, then press the <code>Del</code> or <code>Backspace</code> key'''<br />
* The Gradient tool's options `repeat mode`, `reverse gradient direction`, a '''gradient selection library''' and a '''list of all stops''' have been added here, too, so all the options pertaining to gradients are in easy reach.<br />
<br />
<div><ul> <br />
<li style="display: inline-block;">[[File:Gradient editor adding stops.gif|frame|Changing gradient stop color, moving it, adding a new stop]]</li><br />
<li style="display: inline-block;">[[File:Gradient editor - repete.gif|frame|Inverting the gradient's direction and changing its repeat mode]]</li><br />
<li style="display: inline-block;">[[File:Adding and removing stops in to list.gif|frame|Another way to add, edit and delete single stops is to use the list of gradient stops. Users can add stops by clicking on the <code>+</code> button, and can delete them by clicking on the <code>-</code> button.]]</li><br />
<li style="display: inline-block;">[[File:Gradients Library.gif|frame|With the new gradient selection dropdown, users can duplicate gradients by clicking on the <code>+</code> button.]]</li><br />
<li style="display: inline-block;">[[File:First and last node offset.gif|frame|Users can offset (move) the first and last stops of a gradient. The color beyond the last/first gradient stop is uniformly that of the last/first stop.]]</li><br />
</ul></div><br />
<br />
[TODO: would be cool if all recordings could be resized to same height. This looks very confusing.]<br />
<br />
==== Markers ====<br />
<br />
[[File:Fun markers.png|thumb|right|Some new markers to play with – the pencil automatically takes on the stroke color]]<br />
<br />
The markers drop down list has been replaced by a little dialog that displays '''all available markers in a grid''', and even allows you to '''edit the selected marker's size, distance from the line and orientation'''! This project was undertaken by '''[https://gitlab.com/inkscape/devel/mentoring/-/issues/2 GSOC student Rachana Podaralla]''' with the mentors Michael Kowalski, Marc Jeanmougin and Martin Owens ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3394 MR #3394], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3420 MR #3420]).<br />
<br />
When clicking on the drop down for choosing the start, middle or end markers, you will see the following:<br />
* a '''list of markers''' used in the current document at the top<br />
* below that, a '''list of all default markers''', which also contains some '''fun new markers'''!<br />
* at the bottom, the ''''Edit' section''', with:<br />
** A '''preview''' of how the marker will look<br />
** some '''number fields''' to change the '''size''' of the marker (keep the lock on to scale proportionally)<br />
** an option to '''scale the markers when the stroke width is changed'''<br />
** options for '''switching the marker direction'''<br />
** the option to '''change the marker's angle and to have that angle fixed'''<br />
** marker '''offsetting options'''<br />
** a button to '''enable editing of markers''' (rotate, scale, move) '''on the canvas'''<br />
<br />
<br />
[[File:Working with new markers.gif|center|frame|Adding and editing markers with the new dialog]]<br />
[[File:Edit markers on canvas.gif|center|frame|Editing markers directly on the canvas]]<br />
<br />
==== Custom Dash patterns ====<br />
<br />
Inkscape comes with a big choice of dash patterns by default - from tightly spaced dots to widely spaced lines, and many options and combinations in between.<br />
Now it includes an option to '''make your own dash pattern''', in addition to the stock patterns. <br />
<br />
To create one:<br />
<br />
* Select '''Custom''' in the dash pattern drop-down menu. This will make '''a new text field''' show up where you can add your new custom dash pattern. <br />
* The field accepts '''numbers and spaces'''. Each number corresponds to the length of a dash or a gap. It always starts with a dash, and when it reaches the end, it will continue with the first number again, for the next gap or dash. So if you enter an even number of numbers, e.g. '1 1 4.5 4.5' the pattern will be 'dot - short gap - dash - long gap' and then repeat again, and for an uneven number of numbers, the pattern will be inverted when the first 'set' ends. <br />
<br />
On the canvas, you can watch how your object changes while you change the custom dash pattern numbers.<br />
<br />
[[File:Inkscape yrHv1frJlF.gif|center|frame|Adjusting the dash pattern in a drawing]]<br />
<br />
==== Other small changes ====<br />
<br />
Line cap and line join order buttons have been reordered, so they match vertically ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3402 MR #3402]).<br />
[[File:Before after caps.png|frame|left|339x339px|New, more logical ordering of line cap and line join buttons]]<br />
<div style="clear:both;">&nbsp;</div><br />
<br />
=== Layers and Objects dialog ===<br />
<br />
[[File:Layers and objects.png|thumb|right|The new 'Layers and Objects' dialog in 'Objects' mode]]<br />
<br />
A new dialog was created that '''merges the functionality of the familiar 'Layers' and 'Objects' dialogs''', with better performance ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2466 MR #2466], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3635 MR #3635], [https://gitlab.com/inkscape/inkscape/-/merge_requests/2466 MR #2466], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3741 MR #3741], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3597 MR #3597], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3645 MR #3645]).<br />
<br />
It is available from both the 'Layers' and the 'Objects' menu and offers the following functionality:<br />
<br />
* a button to '''toggle between 'Layers' and 'Objects' view'''<br />
* buttons to move objects '''up and down in the stack'''.<br />
* a '''list of all layers and objects''' in the drawing, featuring new icons for the different object types<br />
* '''8 alternating default colors''' for layers and the objects in them:<br />
** these colors are '''used for drawing the paths''' in the respective layers<br />
** the colors '''can be set''' (in case they clash with your theme, or you cannot see the paths that you draw) in the file <code>share/inkscape/ui/highlight-colors.css</code> in your Inkscape directory<br />
* layer and object '''colors can be customized for each layer/object on its own''', by clicking on the vertical color bar at the end of each line<br />
* tiny '''mask and scissor symbols''' indicate that a clip or mask is applied to an object<br />
* object and layer '''names''' (label, not id) can be changed after a '''double-click on the current name'''<br />
* icons for '''locking and hiding''' a layer/object light up when you hover over the layer's row (when not locked or hidden):<br />
** <kbd>click</kbd> to '''hide/unhide''' or '''lock/unlock''', <kbd>Shift+click</kbd> to '''hide/lock other items'''<br />
* holding <kbd>Alt</kbd> while '''hovering over an object in the dialog''' will '''highlight that object on canvas'''<br />
* layers as well as objects can be '''multi-selected'''<br />
* the '''context (right-click) menu for layers''' provides options '''to move, delete, rename the current layer, to lock/hide all/other/the current layers, to add a new layer and to convert a layer to a group'''<br />
* the '''context menu for objects''' provides the same options as it would when you right-click on the object on canvas directly<br />
<br />
''Note:''<br />
<br />
* ''the (hidden) setting for path colors in the preferences file and the path outline color (available in Node tool preferences section) are no longer respected. If you used those previously, adjust the style.css file as a workaround (see above).''<br />
* ''the dialog no longer offers the options to change opacity, blur or blend mode. Use the Fill and Stroke dialog as a workaround.''<br />
* ''the type-forward search to filter for objects is no longer available. For objects, use the Search and Replace dialog as a workaround, for layers there is currently no replacement.''<br />
* ''the buttons to move objects or layers to the bottom or to the top have been removed to improve the user interface. For both objects and layers, as a workaround you can use the buttons in the selector tool's tool controls. <kbd>Home</kbd> and <kbd>End</kbd> navigate in the dialog instead of changing positions, if the dialog has focus.''<br />
<br />
=== Preferences ===<br />
[[File:Require restart.png|frame|Restart Inkscape when you changed an option with this icon]]<br />
<br />
* The preferences '''zoom ruler now respects your theme's look''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3450 MR #3450])<br />
* An option to make '''<code>Select same</code>''' behave like <code>Select all</code> with respect to whether it '''selects objects only in the current layer or in all layers''' was added to <code>Edit → Preferences → Behavior → Selecting</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2832 MR #2832])<br />
* Preferences options that '''require restarting Inkscape''' to take effect now '''display an icon''' next to them<br />
* A set of options to '''tweak rendering performance''' and to '''test run different render settings''' has been added to the <code>Rendering</code> section. It becomes visible when you activate <code>Enable developer mode</code><br />
<br />
=== SVG Font Editor ===<br />
<br />
With lots of user feedback, the '''Font Editor workflow has been updated''' with '''better previews''', '''better performance''' and a '''higher degree of organization''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3381 MR #3381], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3396 MR #3396], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3552 MR #3552], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3628 MR #3628] [https://gitlab.com/inkscape/inkscape/-/merge_requests/3916 3916]).<br />
<br />
These changes result in a new recommended workflow:<br />
<br />
# Open the '''SVG Font Editor dialog'''<br />
# '''Select a name''' for your new font, using the <code>+</code> icon in the top right corner of the dialog<br />
# Adjust the '''horizontal advance''' and the major '''font metrics''' to your liking<br />
# '''Click on''' <code>Setup Canvas</code> to change the document format to the font size and get some guides that help you draw your letters<br />
# Switch to the <code>Glyphs</code> tab of the dialog<br />
# Click <code>+</code> to '''add your first letter/glyph/character''' to the list. You can also '''click the button repeatedly to automatically create a list of commonly used font characters''', from <code>Space</code> to common special characters, numbers and then upper case and lower case letters A to Z, and then even more special characters after that.<br />
# If you like to, '''switch from list preview to grid preview''' in the bottom right corner.<br />
# '''Select one''' of the lines / blocks in the glyphs list.<br />
# Click on <code>Edit</code>. This will: <br />
#* '''Create a new layer''' for the selected glyph (if there isn't one yet) and activate that layer.<br />
#* '''Hide all other layers'''<br />
# Now '''draw''' your letter/number/… in the new layer<br />
# Make sure it's '''a single path''' (e.g. do <code>Path > Union</code>)<br />
# Keep it selected, and '''click on''' <code>Get curves</code>.<br />
# '''Continue''' selecting glyphs from the list, adding / editing them and turning them into SVG font characters until your font is complete.<br />
# In the last tab, <code>Kerning</code>, you can select two different glyphs from the two dropdown lists, to '''adjust the default distance''' between them. <br />
## After you've selected them, '''click on''' <code>Add pair</code>.<br />
## Now '''adjust the distance''' between them. In addition to the preview that shows just these two glyphs, you can also make use of the '''sample text''' to see how it will look in a sentence.<br />
## '''Continue''' adjusting letter distances until you're happy with the result.<br />
# Save your file as '''Inkscape SVG''', and open it with another program (e.g. FontForge) to be able to '''convert that SVG font into a ttf or otf font'''.<br />
<br />
The workflow is based upon the following SVG Font Editor dialog improvements:<br />
<br />
* '''speed improvements''': Inkscape can now handle fonts with thousands of glyphs!<br />
* '''automatic glyph generation''': adding a new glyph creates a new entry and populates its unicode string, based upon the previously defined glyph (next in unicode order)<br />
* '''glyph management''': glyph editing action creates glyph-specific layers to keep glyphs organized<br />
* '''grid glyph view''': offers a larger preview than a list<br />
<br />
<gallery mode="packed" heights="450"><br />
File:Svg font editor tab 1.png|First tab of refactored SVG Font Editor dialog<br />
File:Svg font editor tab 2 list.png|Second tab of SVG Font Editor, list view<br />
File:Svg font editor tab 2 grid.png|Second tab, grid view<br />
</gallery><br />
<br />
=== Swatches ===<br />
<br />
The '''Swatches dialog''' (<code>View → Swatches</code>) uses the same improved settings as [[#Color_palette|the color palette]] (without the 'rows' setting).<br />
[[File:Inkscape GK3kLW1E2O.gif|none|frame|Updated Swatches dialog settings]]<br />
<br />
=== Text and Font dialog ===<br />
<br />
The dialog's '''width has been reduced''', so it won't take up excessive amounts of space when docked ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3314 MR #3314]).<br />
<br />
=== Trace Bitmap ===<br />
<br />
The '''Trace Bitmap''' dialog received a new, shiny interface ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3405 MR #3405]):<br />
<br />
* The tabs list and options have been detangled a bit, so you now have the following three tabs: '''Single scan, Multicolor, Pixel art'''<br />
* The '''preview auto-updates''' more reliably and shows a better preview image.<br />
* The '''preview location''' now adjusts to the dialog's format: if it is wider than tall, it moves to the right side, and if it is taller than wide, the preview appears at the bottom of the dialog.<br />
* The number entry fields are now accompanied by '''draggable sliders''' for easier tweaking of values.<br />
[[File:Inkscape haeFSZbdHk.gif|center|frame|Draggable sliders]]<br />
[[File:Ezgif.com-gif-maker (24).gif|center|frame|Self-adjusting preview location]]<br />
<br />
=== Transform dialog ===<br />
<br />
The buttons for applying or resetting the transformation have been moved to the center, the dialog's width has been reduced, and a small visual explanation for matrix transformations has been added ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3363 MR #3363]).<br />
<br />
=== Welcome dialog ===<br />
<br />
* The images have been updated with '''images from the [https://inkscape.org/gallery/=about-screen-contest/contest-for-12/ About Screen Contest for Inkscape 1.2]'''.<br />
* A set of '''new icons for the web links''' in the second tab will hopefully help encourage user contributions to the project ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4309 MR #4309])<br />
* There is a ''''Close' button''' now in the top right corner of the dialog.<br />
* An option to 'Browse for other files' has been added to the dialog, so you can finally '''open any file''' (not just templates and recent files) from the dialog ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4112 MR #4112])<br />
<br />
<!-- == Filters == --><br />
<br />
== Live path effects ==<br />
[[File:Select satelit.png|right|Select path with LPE that is responsible for the existence of this object|thumb|333x333px]]<br />
<br />
=== Select Path Effect Parent Object ===<br />
<br />
If you have an object selected that was created by the Live Path Effect of another object, you can now quickly '''find the responsible LPE object''' by clicking on '''the new button''' at the bottom of the 'Path Effects' dialog. This is very useful for all Live Path effects that create dependent objects which can be selected independently, like the new <code>Copies LPE</code>, the <code>Boolean Operations LPE</code>, the <code>Rotate Copies LPE</code> and many more ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3479 MR #3479]).<br />
<br />
=== Boolean Operations ===<br />
<br />
* The mode ''''division both'''' has been added. Its result only becomes visible when you convert the resulting object to a path, where then both objects will be cut along their intersection lines.<br />
<br />
=== Offset ===<br />
<br />
* '''Improved performance''' while editing an offset by mouse<br />
<br />
=== Rotate copies ===<br />
<br />
* New option to '''link styles''' for the case when you want a gradient or a pattern extend over all objects<br />
<br />
=== Tiling ===<br />
<br />
[[File:Copie LPE.gif|frame|right|The new Tiling LPE]]<br />
<br />
Internally, we call this the ''\'Tiled Clones dialog on steroids\'''. This new LPE allows for interactive tiling, using a '''huge range of different tiling types''', setting the '''distance''' between objects numerically, changing '''scale''', '''location''', '''rotation''' per row / column or '''adding more rows and columns''' on the fly. This can be used to '''quickly copy large numbers of objects''' non-destructively and to '''create interesting grids and patterns''' and variations quickly ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3814 MR #3814]).<br />
<br />
Features:<br />
<br />
* Create '''identical copies of objects in a grid''' by indicating the number of rows and columns<br />
* '''Change the horizontal and vertical spacing''' between copies by mouse or numerically, and choose the unit of those distances<br />
* The '''gap size''' can also be '''randomized'''<br />
* '''Offset every other row or column''' by a specified percentage of object width / height<br />
* '''16 different mirroring modes''' (requires the setting <code>Edit → Preferences → Behavior → Live Path Effects (LPE) → Tiling → Add advanced tiling options</code> to be active!)<br />
* '''Scale interpolation''' (5 modes):<br />
** '''Uniform''' scaling (no interpolation)<br />
** Blend size from '''top to bottom'''<br />
** Blend size from '''left to right'''<br />
** Blend size '''diagonally''' (top left: original size – bottom right: new size)<br />
** '''Random scaling'''<br />
* '''Rotation interpolation''' with the same 5 modes<br />
* Option to '''automatically minimize gaps''' between copies of different sizes (does not work with rotation or diagonal mode)<br />
* Option to allow for '''independently styling and moving''' each copy ('Split elements', moving works when the object is grouped as a 1 object group)<br />
* Option to '''link styles''' for the case when you want '''a gradient or a pattern extend over all objects'''<br />
<br />
== Import / Export ==<br />
<br />
[[File:Linked image not found.png|thumb|right|New placeholder for images that cannot be found]]<br />
<br />
=== SVG Import ===<br />
<br />
When importing an SVG document, you can now also choose to '''open it in a new window''' ('Open SVG image directly using its path'). This option makes sense when using '''drag and drop''' to get Inkscape to open a new file ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4034 MR #4034])<br />
<br />
=== Import Formats ===<br />
<br />
* The '''DXF Import''' now supports '''more DXF features''' ([https://gitlab.com/inkscape/extensions/-/merge_requests/357 MR extensions#357]).<br />
<br />
=== Linked Images ===<br />
<br />
* The design of the '''placeholder for linked images''' was changed ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3842 MR #3842])<br />
<br />
=== Export Formats ===<br />
<br />
* The file format of the '''Synfig Export''' has been '''updated to &gt; 1.4.0''' ([https://gitlab.com/inkscape/extensions/-/merge_requests/299 MR extensions#299]).<br />
<br />
== Customization / Theming ==<br />
<br />
<br />
=== Customizing the User Interface ===<br />
<br />
* The '''overall font size''' of the user interface can be adjusted at <code>Edit → Preferences → Interface → Theming: Font scale</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3690 MR #3690])<br />
* The <code>+</code>/<code>-</code> '''buttons for number entry fields''' are now '''smaller'''. If you prefer the old, wider buttons, they can be turned on again by disabling <code>Preferences → Interface : Use narrow number entry boxes</code>. ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3358 MR #3358])<br />
* Tool bar '''icon sizes''' can now be scaled on a '''continuous scale''' from 100% to 300% size in <code>Edit → Preferences → Interface → Toolbars: Toolbox icon size / Control bar icon size</code>. Changing the size '''no longer requires a restart'''.<br />
<br />
=== Cursors ===<br />
<br />
* The '''drop shadow is now optional''' for mouse cursors. You can turn it off in <code>Edit → Preferences → Interface → Mouse cursors: Show drop shadow</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3352 MR #3352]).<br />
<br />
=== Icon Sets ===<br />
<br />
* Multiple icons in the '''Multicolor icons set''' were tweaked to improve readability or contrast, e.g. the green color is now a little brighter when using a dark theme. <br />
* '''Cursors and tool bar icons''' for the Bézier tool and the Calligraphy tool in the Multicolor icon theme '''now use the same imagery'''.<br />
<br />
=== Themes ===<br />
<br />
* The suggested '''default theme''' is now using the multicolor icons set ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4043 MR #4043])<br />
* A '''contrast slider''' was added for fine tuning the selected theme's colors at <code>Edit → Preferences → Interface → Theming: Contrast</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/906 MR #906])<br />
<br />
<gallery mode=packed heights=550px><br />
File:Contrast slider.gif|The contrast slider allows to fine-tune the theme's colors<br />
</gallery><br />
<br />
== Other ==<br />
<br />
* The '''number of possible autosave files''' has been increased to 10000 (was 100) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3582 MR #3582])<br />
<br />
== macOS-specific Changes ==<br />
<br />
* The '''minimum operating system version''' supported is now '''macOS 10.13'''. (The prior version, Inkscape 1.1.x, supported macOS 10.11 and newer.)<br />
* All '''special menu items''' in the application menu have been enabled and hidden from other menus, so Inkscape '''feels more integrated''' with macOS ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3767 MR #3767])<br />
* Inkscape now provides a '''.dmg file for arm64''' (M1) Apple computers<br />
<br />
''Tip: Inkscape performance is better on macOS with the 'Minwaita' theme!''<br />
<br />
== Windows-specific Changes ==<br />
<br />
* Modifier keys now work with graphics tablet stylus input ([https://gitlab.com/freedesktop-sdk/mirrors/gnome/gtk/-/commit/46c12b2c922d5592cedd29624cbf3be6b4411084 Commit #46c12b])<br />
* The Extension Manager is now an optional component in the installer for Windows ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3106 MR #3106])<br />
<br />
== Extensions ==<br />
<br />
=== Features ===<br />
<br />
==== General Extension Changes ====<br />
<br />
* Extensions now better support documents with CSS styles and inherited styles. <br />
<br />
==== New Extensions ====<br />
<br />
* The '''Clipart Importer''' extension allows to search and download SVG resources from the Wikimedia, OpenClipart & other online sources. It is available from <code>File → Import Web Image</code>. It helps you with licensing your work correctly by giving information on each image's license and its requirements for derivative works. ([https://gitlab.com/inkscape/extensions/-/merge_requests/441 MR extensions#441]).<br />
* The <code>Document → Process Illustrator SVG...</code> extension assists with '''importing Adobe Illustrator documents with layers and the correct scale''' ([https://gitlab.com/inkscape/extensions/-/merge_requests/351 MR extensions#351], [https://gitlab.com/inkscape/extensions/-/merge_requests/414 MR extensions#414]).<br />
<br />
<gallery mode="packed" heights="250px"><br />
File:Import web image.png|Import an image from the Inkscape website<br />
File:Import web image sources.png|Currently available sources for importing SVG images<br />
</gallery><br />
<br />
==== Particular extensions ====<br />
<br />
[[File:Modes of the Extrude extension.png|right|thumb|400x400px|The modes of the Extrude extension. A new mode, "Snug", has been added for Inkscape 1.2.]]<br />
<br />
* In the '''Add nodes''' extension, you can now choose the unit of the segment length ([https://gitlab.com/inkscape/extensions/-/merge_requests/346 MR extensions#346], [https://gitlab.com/inkscape/extensions/-/issues/127 Issue extensions#127]).<br />
* The Color tab of the '''Calendar''' now uses a color chooser widget instead of asking for Hex values ([https://gitlab.com/inkscape/extensions/-/merge_requests/355 MR extensions#355], [https://gitlab.com/inkscape/extensions/-/issues/396 Issue extensions#396]).<br />
* The '''Extrude''' extension has been rewritten ([https://gitlab.com/inkscape/extensions/-/merge_requests/386 MR extensions#386]). It includes a new mode, &quot;Snug&quot;, where the boundary of the extruded rectangle follows the source paths. 'Extrude' now handles paths with multiple subpaths and doesn't require conversion of rectangles or circles to path anymore ([https://gitlab.com/inkscape/extensions/-/issues/190 Issue extensions#190]). The extruded shapes are inserted in between the two selected elements in stacking order, which is more useful than the previous behavior (inserting after the first selected element).<br />
* The '''Formula (pdflatex)''' equation has been made more user-friendly. It now features a font size selector, a field to specify preamble contents, better support for scaled documents and better error messages on compile errors ([https://gitlab.com/inkscape/extensions/-/merge_requests/453 MR extensions#453]). <br />
* The '''Frame''' extension has been rewritten and now supports additional options, such as elliptical frames, offset frame and putting the fill below the object ([https://gitlab.com/inkscape/extensions/-/merge_requests/430 MR extensions#430], [https://gitlab.com/inkscape/extensions/-/issues/214 Issue extensions#214]).<br />
* The '''Motion''' extension now has an option to take the extrusion color and opacity from the selected path ([https://gitlab.com/inkscape/extensions/-/merge_requests/317 MR extensions#317]).<br />
* Document Info ([https://gitlab.com/inkscape/extensions/-/merge_requests/401 MR extensions#401]) and Guides creator ([https://gitlab.com/inkscape/extensions/-/merge_requests/424 MR extensions#424]) extensions were adjusted to work with '''multi-page documents'''<br />
* The '''Guides Creator''' extension, now also features an option that avoids creating duplicate guides, and an option for alternating margins for even and odd pages ([https://gitlab.com/inkscape/extensions/-/merge_requests/424 MR extensions#424]) .<br />
* The '''Split text''' extension has been rewritten and now supports manual kerning ([https://gitlab.com/inkscape/extensions/-/issues/142 Issue extensions#142]) and SVG2 flowed text ([https://gitlab.com/inkscape/extensions/-/issues/257 Issue extensions#257]) ([https://gitlab.com/inkscape/extensions/-/merge_requests/326 MR extensions#326]).<br />
* '''QRCodes''' with a maximum size of 177x177 can now be created, which allows to encode up to about 2 standard pages of text. Instead of the well-known black rectangular tiles, the extension can now also tile clones of a selected object ([https://gitlab.com/inkscape/extensions/-/merge_requests/394 MR extensions#394], [https://gitlab.com/inkscape/extensions/-/issues/150 Issue extensions#150]).<br />
<br />
=== Bugs fixed ===<br />
<br />
==== All extensions ====<br />
<br />
* Unit conversions are more consistent now ([https://gitlab.com/inkscape/extensions/-/merge_requests/329 MR extensions#329]), and several bugs pertaining to misinterpretation of units have been fixed.<br />
* Extensions that query properties of paths with multiple subpaths now get more correct results if that path uses relative path commands ([https://gitlab.com/inkscape/extensions/-/merge_requests/438 MR extensions#438], [https://gitlab.com/inkscape/extensions/-/issues/450 Issue extensions#450]).<br />
* When extensions set an element to "insensitive" (locked), this change is honored by Inkscape ([https://gitlab.com/inkscape/extensions/-/commit/d5282bd2341d24bc53cec02aed81e2f3ee6c6050 commit extensions#d5282bd2])<br />
* The defaults of parameters are now identical in inx files and in the command line interface of the extensions ([https://gitlab.com/inkscape/extensions/-/merge_requests/325 MR extensions#325])<br />
* Gradients whose stop positions are given in percentages are now handled ([https://gitlab.com/inkscape/extensions/-/merge_requests/374 MR extensions#374])<br />
* Hide the console window on Windows when calling external utilities ([https://gitlab.com/inkscape/extensions/-/merge_requests/407 MR extensions#407], [https://gitlab.com/inkscape/extensions/-/issues/244 Issue extensions#244])<br />
* The <code>BaseElement.duplicate()</code> function now makes sure that the duplicated element and its children have unique IDs ([https://gitlab.com/inkscape/extensions/-/merge_requests/426 MR extensions#426], [https://gitlab.com/inkscape/extensions/-/issues/379 Issue extensions#379]).<br />
* The "Reverse Path" method now returns correct results for paths with multiple subpaths ([https://gitlab.com/inkscape/extensions/-/merge_requests/427 MR extension#427], [https://gitlab.com/inkscape/extensions/-/issues/445 Issue extensions#445]).<br />
* A bug parsing color components of 1 (1.0, 100%) has been fixed. <code>"1.0"</code>, <code>1.0</code> and <code>"100%"</code> are treated as <code>255</code>, while <code>"1"</code> and <code>1</code> are treated as <code>1</code> ([https://gitlab.com/inkscape/extensions/-/merge_requests/456 MR extensions#456], [https://gitlab.com/inkscape/extensions/-/issues/402 Issue extensions#402]).<br />
* Several small fixes that make working with paths and clones more predictable and robust ([https://gitlab.com/inkscape/extensions/-/merge_requests/433 MR extensions#433])<br />
* Small changes improving parameter description ([https://gitlab.com/inkscape/extensions/-/merge_requests/452 MR extensions#452], [https://gitlab.com/inkscape/extensions/-/issues/452 Issue extensions#452])<br />
<br />
==== Particular extensions ====<br />
<br />
* In the '''Add nodes''' extension, closed paths were previously changed to open paths, and an erroneous node was added. Other and third-party extension will probably profit from the underlying bugfix as well ([https://gitlab.com/inkscape/extensions/-/merge_requests/336 MR extensions#336], [https://gitlab.com/inkscape/extensions/-/issues/209 Issue extensions#209]).<br />
* The live preview of the '''Calendar''' extension now works ([https://gitlab.com/inkscape/extensions/-/merge_requests/394 MR extensions#394]).<br />
* Multiple bugs in the '''DXF import''' extension were fixed, such as a loss of layering information ([https://gitlab.com/inkscape/extensions/-/merge_requests/410 MR extensions#410], [https://gitlab.com/inkscape/extensions/-/issues/377 Issue extensions#377]), and import of inserted blocks that have been rotated and flipped ([https://gitlab.com/inkscape/extensions/-/merge_requests/411 MR extensions#411]), extruded elements and multiline text ([https://gitlab.com/inkscape/extensions/-/merge_requests/432 MR extension#432], [https://gitlab.com/inkscape/extensions/-/issues/286 Issue extensions#286]). An incorrect unit in the documentation has been exchanged ([https://gitlab.com/inkscape/extensions/-/merge_requests/358 MR extensions #358]).<br />
* When using the '''DXF Outline (R12)''' export, elements in nested groups are now exported correctly ([https://gitlab.com/inkscape/extensions/-/merge_requests/347/ MR extensions#347], [https://gitlab.com/inkscape/extensions/-/issues/382 Issue extensions#382]). It also doesn't include (invisible) paths contained in clips and masks anymore ([https://gitlab.com/inkscape/extensions/-/merge_requests/440 MR extensions#440], [https://gitlab.com/inkscape/extensions/-/issues/381 Issue extensions#381]) and documents are exported with the correct scale when scale is different than 1 ([https://gitlab.com/inkscape/extensions/-/merge_requests/466 MR extensions#466], [https://gitlab.com/inkscape/extensions/-/issues/443 Issue extensions#443])<br />
* The '''DXF14 export''' now shows a better error message in case of a very, very deeply nested SVG document ([https://gitlab.com/inkscape/extensions/-/merge_requests/442 MR extensions#442], [https://gitlab.com/inkscape/extensions/-/issues/360 Issue extensions#360]). Also a warning message regarding the Robo-Master spline option has been added ([https://gitlab.com/inkscape/extensions/-/merge_requests/439 MR extensions#439], [https://gitlab.com/inkscape/extensions/-/issues/225 Issue extensions#225]).<br />
* A crash in the '''Embed image''' extension has been fixed, in which images were erroneously determined as missing by the extension ([https://gitlab.com/inkscape/extensions/-/merge_requests/461 MR extensions#461], [https://gitlab.com/inkscape/extensions/-/issues/441 Issue extensions#441]).<br />
* The '''Extensions Manager''' is now shipped with Inkscape and doesn't download itself automatically anymore ([https://gitlab.com/inkscape/extensions/-/merge_requests/421 MR extensions#421]).<br />
* On Windows, the '''Extract image''' extension now correctly links the extracted files ([https://gitlab.com/inkscape/extensions/-/merge_requests/461 MR extensions#461]).<br />
* The slicing positions in the '''Guillotine''' extension are now correct, they were previously off following the flip of the y axis in Inkscape 1.0 ([https://gitlab.com/inkscape/extensions/-/merge_requests/334 MR extensions#334], [https://gitlab.com/inkscape/extensions/-/issues/269 Issue extensions#269]).<br />
* In '''GCodetools''', multiple crashes have been fixed ([https://gitlab.com/inkscape/extensions/-/merge_requests/335 MR extensions#335], [https://gitlab.com/inkscape/extensions/-/issues/312 Issue extensions#312]; [https://gitlab.com/inkscape/extensions/-/merge_requests/307 MR extensions#307], [https://gitlab.com/inkscape/extensions/-/issues/322 Issue extensions#322]; [https://gitlab.com/inkscape/extensions/-/merge_requests/388 MR extensions#388], [https://gitlab.com/inkscape/extensions/-/issues/276 Issue extensions#276]), however this module is currently unmaintained and in need of attention. '''Contributions are highly welcome!''' For this reason, the module has been given it's own repository ([https://gitlab.com/inkscape/extensions/-/merge_requests/402 MR extensions#402]).<br />
* The Hue Level in the '''HSL Adjust''' extension now has a range of 360 ([https://gitlab.com/inkscape/extensions/-/merge_requests/400 MR extensions#400])<br />
* The '''HTML5 canvas export''' now works better with non-Inkscape SVG documents ([https://gitlab.com/inkscape/extensions/-/merge_requests/467 MR extensions#467]). Exported files also now have correct output for closed paths and objects with transparency ([https://gitlab.com/inkscape/extensions/-/merge_requests/345 MR extensions#345], [https://gitlab.com/inkscape/extensions/-/issues/332 Issue extensions#332]).<br />
* The '''Interpolate extensions''' (Interpolate and interpolate attribute) have been completely rewritten and multiple issues have been fixed ([https://gitlab.com/inkscape/extensions/-/merge_requests/240 MR extensions#240]).<br />
* The '''JPEG export''' previously converted a transparent background to black ([https://gitlab.com/inkscape/extensions/-/issues/366 Issue extensions#366]). Now, the document background color is used ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3994 MR #3994]). This also affects the other Raster export extensions. Additionally, the JPEG export now works with even larger resolutions ([https://gitlab.com/inkscape/inbox/-/issues/6522 Issue inbox#6522], [https://gitlab.com/inkscape/extensions/-/merge_requests/445 MR extensions#445]).<br />
* Several bugs in the '''Formula (pdflatex)''' extension have been fixed, such as incorrect insertion position ([https://gitlab.com/inkscape/extensions/-/issues/339 Issue extensions#339]) and random character substitution in documents with many formulae ([https://gitlab.com/inkscape/extensions/-/merge_requests/453 MR extensions#453]). The extension now also works on Windows if the user name is longer than 8 characters ([https://gitlab.com/inkscape/extensions/-/merge_requests/448 MR extensions#448], [https://gitlab.com/inkscape/extensions/-/issues/287 Issue extensions#287]). <br />
* A bug in the rotation sense of the '''Lindenmayer''' extension has been fixed ([https://gitlab.com/inkscape/extensions/-/merge_requests/437 MR extensions#437], [https://bugs.launchpad.net/inkscape/+bug/1094627 LP issue 1094627])<br />
* The '''Motion''' extension now gives better results for paths with multiple closed subpaths ([https://gitlab.com/inkscape/extensions/-/issues/266 Issue extensions#266]) and when the selected element is part of a transformed group. ([https://gitlab.com/inkscape/extensions/-/merge_requests/317 MR extensions#317]).<br />
* The '''Optimized PNG export''' doesn't crash anymore when running it with default parameters ([https://gitlab.com/inkscape/extensions/-/merge_requests/463 MR extensions#463], [https://gitlab.com/inkscape/extensions/-/issues/395 Issue extensions#395])<br />
* A useless warning message when using '''Optimized SVG''' output was removed ([https://gitlab.com/inkscape/extensions/-/merge_requests/368 MR extensions#368] , [https://gitlab.com/inkscape/extensions/-/issues/428 Issue extensions#428])<br />
* The '''Pixel snap''' extension now aligns objects to the coordinate system starting at the top left of the page. The previous behavior, snapping them to a grid aligned with the page bottom, can be activated in the settings ([https://gitlab.com/inkscape/extensions/-/merge_requests/429 MR extensions#429], [https://gitlab.com/inkscape/extensions/-/issues/264 Issue extensions#264]). A bug related to inconsistent unit conversion has been fixed as well.<br />
* Several bugs in the '''PostScript (PS) / EPS import''' have been adressed: It now handles file names with non-latin characters ([https://gitlab.com/inkscape/extensions/-/merge_requests/408 MR extensions#408], [https://gitlab.com/inkscape/extensions/-/issues/281 Issue extensions#281]) on Windows and doesn't rotate the image anymore if the majority of the text is not oriented left-to-right ([https://gitlab.com/inkscape/extensions/-/merge_requests/457 MR extensions#457] and [https://gitlab.com/inkscape/extensions/-/issues/258 Issue extensions#258]). Also a clearer error message is shown for invalid PS/EPS files ([https://gitlab.com/inkscape/extensions/-/merge_requests/454 MR extensions#454], [https://gitlab.com/inkscape/extensions/-/issues/404 Issue extensions#404])<br />
* In the '''Randomize Colors''' extension, shapes with unset opacity are not ignored anymore ([https://gitlab.com/inkscape/extensions/-/merge_requests/331 MR extensions#331] [https://gitlab.com/inkscape/extensions/-/issues/236 Issue extensions#236]).<br />
* A crash in the '''Render Polyhedron''' extension when attempting to render a custom object defined by its edges has been fixed ([https://gitlab.com/inkscape/extensions/-/merge_requests/390 MR extensions#390] , [https://gitlab.com/inkscape/extensions/-/issues/408 Issue extensions#408]).<br />
* The '''Replace Color''' extension now processes colors in RGBA space ([https://gitlab.com/inkscape/extensions/-/merge_requests/392 Issue extensions#392], [https://gitlab.com/inkscape/extensions/-/issues/419 Issue extensions#419]).<br />
* The "Tangential Offset" parameter of the '''Scatter''' extension is now a percentage of the pattern width, and an issue with nested groups has been resolved ([https://gitlab.com/inkscape/extensions/-/merge_requests/327 MR extensions#327]). Another issue where the spacing was off when using the "stretch" mode has also been fixed ([https://gitlab.com/inkscape/extensions/-/merge_requests/327 MR extensions#327]).<br />
* The '''Synfig export''' now exports objects that are not paths (such as rectangles, texts, circles) correctly again ([https://gitlab.com/inkscape/extensions/-/issues/198 Issue extensions#198]); and paths with multiple subpaths are converted correctly ([https://gitlab.com/inkscape/extensions/-/issues/197 Issue extensions#197]) ([https://gitlab.com/inkscape/extensions/-/merge_requests/462 MR extensions#462]).<br />
* The '''TIFF export''' now also works on Linux ([https://gitlab.com/inkscape/extensions/-/merge_requests/458 MR extensions#458], [https://gitlab.com/inkscape/extensions/-/issues/422 Issue extensions#422])<br />
* In the '''Visualize Path''' extensions '''Measure Path''' and '''Number Nodes''', the results are now correct also when the parent of the selected object is transformed ([https://gitlab.com/inkscape/extensions/-/merge_requests/314 MR extensions#314], [https://gitlab.com/inkscape/extensions/-/issues/171 Issue extensions#171]).<br />
* A crash in the '''Voronoi Diagram''' extension when applied to non-Inkscape documents has been fixed ([https://gitlab.com/inkscape/extensions/-/merge_requests/313 MR extensions#313], [https://gitlab.com/inkscape/extensions/-/issues/222 Issue extensions#222]), and the output is now correct independent of the document unit ([https://gitlab.com/inkscape/extensions/-/issues/403 Issue extensions#403], [https://gitlab.com/inkscape/extensions/-/merge_requests/382 MR extensions#382]).<br />
* The '''Webslicer''' extension now correctly cleans up its temporary files ([https://gitlab.com/inkscape/extensions/-/merge_requests/436 MR extensions#436]) <br />
<br />
=== Extension Development ===<br />
<br />
==== API Changes for Third-Party Extension Developers ====<br />
<br />
''Main Article: [https://inkscape.gitlab.io/extensions/documentation/authors/update1.2.html Updating your Extension for 1.2]''<br />
<br />
A lot of additional features have been added to inkex, including a new Style API, a new Units API, support for multipage documents and more.<br />
Although there are no breaking changes in this release, some methods have been deprecated.<br />
<br />
* The improved CSS style and style inheritance handling is enabled for all bundled extensions. If you want to use this functionality in an extension you maintain, see [https://inkscape.gitlab.io/extensions/documentation/authors/update1.2.html#new-style-api New Style API].<br />
* A GUI API (based on [https://pypi.org/project/gtkme/ gtkme]) has been added, so extensions can now ship GTK-based user interfaces ([https://gitlab.com/inkscape/extensions/-/merge_requests/421 MR extensions#421], [https://gitlab.com/inkscape/extensions/-/merge_requests/450 MR extensions#450], [https://gitlab.com/inkscape/extensions/-/merge_requests/465 MR extensions#465]).<br />
* Export extensions can specify that they are only to be listed in &quot;Export as&quot; ([https://gitlab.com/inkscape/extensions/-/merge_requests/371 MR extensions#371], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3600 MR#3600]).<br />
* Color extensions can now process in RGBA space, previously only separate processing of color and opacity was possible (MR [https://gitlab.com/inkscape/extensions/-/merge_requests/392 extensions#392]).<br />
* The path conversion for arcs and stars have been added, so when extensions create these objects, they are rendered in a browser as well and can be processed further by the same extension. ([https://gitlab.com/inkscape/extensions/-/merge_requests/387 MR extensions#387], [https://gitlab.com/inkscape/extensions/-/issues/240 Issue extensions#240]).<br />
* API functions for the new [[Release notes/1.2#Page tool|multipage feature]] have been added ([https://gitlab.com/inkscape/extensions/-/merge_requests/399 MR extensions#499]).<br />
<br />
==== Extension Development Documentation ====<br />
<br />
* All the documentation from the Wiki and the Gitlab project wiki has been '''[https://inkscape.gitlab.io/extensions/documentation/ compiled in a single place]'''. ([https://gitlab.com/inkscape/extensions/-/merge_requests/443 MR extensions#443], [https://gitlab.com/inkscape/extensions/-/merge_requests/451 MR extensions#451])<br />
* The '''tutorials for extension authors''' have been improved. ([https://gitlab.com/inkscape/extensions/-/merge_requests/443 MR extensions#443])<br />
* '''Versioning information''' is now contained in the documentation. This shows extensions authors in which Inkscape version new API functionality was added or deprecated. ([https://gitlab.com/inkscape/extensions/-/merge_requests/443 MR extensions#443])<br />
* The API documentation has been updated into the familiar ReadTheDocs layout ([https://gitlab.com/inkscape/extensions/-/merge_requests/310 MR extensions#310]) and is now generated with a newer version of Sphinx ([https://gitlab.com/inkscape/extensions/-/commit/edf232209494107c9f33ccc6f101726a7fd73adb Commit extensions#edf23220]).<br />
* Fix some small mistakes in the documentation ([https://gitlab.com/inkscape/extensions/-/merge_requests/324 MR extensions#324])<br />
<br />
==== Under the hood ====<br />
<br />
* Various upgrades to the testing library [https://gitlab.com/inkscape/extensions/-/merge_requests/332 MR extensions#332], [https://gitlab.com/inkscape/extensions/-/merge_requests/383 MR extensions#383] now make it easier to test extensions automatically. Our test suite is now continuously running on Python 3.7-3.10 ([https://gitlab.com/inkscape/extensions/-/merge_requests/370 MR extensions#370]) on Linux as well as Python 3.8 on Windows ([https://gitlab.com/inkscape/extensions/-/merge_requests/404 MR extensions#404]).<br />
* Added issue template ([https://gitlab.com/inkscape/extensions/-/merge_requests/377 MR extensions#377]) and merge request template ([https://gitlab.com/inkscape/extensions/-/merge_requests/416 MR extensions#416]) to communicate more effectively.<br />
* inkex can be installed via <code>pip</code> by providing the url of a pipeline artifact, even in forks ([https://gitlab.com/inkscape/extensions/-/merge_requests/353 MR extensions#353]).<br />
* The code formatting of the extensions repository has been made consistent ([https://gitlab.com/inkscape/extensions/-/merge_requests/418 MR extensions#418]). This enables contributors to think less about formatting and more about what matters.<br />
* Improvements to code quality ([https://gitlab.com/inkscape/extensions/-/merge_requests/419 MR extensions#419], [https://gitlab.com/inkscape/extensions/-/merge_requests/422 MR extensions#422], [https://gitlab.com/inkscape/extensions/-/merge_requests/423 MR extensions#423], [https://gitlab.com/inkscape/extensions/-/merge_requests/428 MR extensions#428]) and clearer communication of it ([https://gitlab.com/inkscape/extensions/-/merge_requests/420 MR extensions#420]).<br />
* A dependency management system, [https://python-poetry.org/ poetry], has been introduced ([https://gitlab.com/inkscape/extensions/-/merge_requests/446 MR extensions#446]). This provides packagers with the necessary information which versions of python modules the extensions are currently tested against.<br />
* The deprecated <code>inkex.py</code> file has been removed ([https://gitlab.com/inkscape/extensions/-/merge_requests/460 MR extensions#460]) since it's interfering with the new dependency manager.<br />
* The localization of the extensions has been improved ([https://gitlab.com/inkscape/extensions/-/merge_requests/425 MR extensions#425]).<br />
* It is now possible to use ngettext and pgettext in extensions for better translations ([https://gitlab.com/inkscape/extensions/-/merge_requests/459 MR extensions#459]).<br />
<br />
== Command line ==<br />
<br />
* ''''verbs' have been removed'''. All verbs are available as 'actions' now (see [[#Behind_the_curtains|below]] for more context) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3884 MR #3884], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3880 MR #3880], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3874 MR #3874]).<br />
* A new action for '''scaling by a factor''' has been added, it replaces the previous one, which is now called 'grow' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3880 MR #3880]).<br />
<br />
== Behind the curtains ==<br />
<br />
* '''Gio::Actions''': The old 'verbs' were converted to 'actions'. This work was done to prepare for migrating to Gtk4. It also makes it possible to reach them all '''from the commands palette''', to assign keyboard shortcuts them and to use them on the command line. A big part of this work was done by '''[https://wiki.inkscape.org/wiki/index.php?title=GSoC_2021_Verbs_to_Gio::Actions Google Summer of Code student SUSHANT A.A.]''' with the mentors Alexander Valavanis, Ted Gould and Tavmjong Bah.<br />
* Support for x, y, width and height SVG2 attributes on <code><symbol></code> has been added. It follows the logic of the <svg> element, which already supported these attributes ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3828 MR #3828])<br />
* '''Continuous integration''' has been improved and maintained<br />
* A whole lot of '''code cleanup and refactoring''' has been done to improve maintainability<br />
* Many '''new tests''' were written to be able to detect breakages early<br />
<br />
== Notable bugfixes ==<br />
<br />
<br />
=== Crash fixes ===<br />
<br />
Fixed a crash that occurred …<br />
<br />
* when closing Inkscape while drawing a '''3D box''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4018 MR #4018], [https://gitlab.com/inkscape/inkscape/-/issues/2390 Bug #2390])<br />
* when flipping a grouped '''3D box''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3698 MR #3698])<br />
* when using Undo after switching from the '''3D box''' tool to another tool ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4192 MR #4192], [https://gitlab.com/inkscape/inkscape/-/issues/2854 Bug #2854])<br />
* when pressing <kbd>Backspace</kbd> while using the '''Bézier tool''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3715 MR #3715], [https://gitlab.com/inkscape/inkscape/-/issues/2764 But #2764])<br />
* when hatching with the '''Calligraphy tool''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3927 MR #3972], [https://gitlab.com/inkscape/inkscape/-/issues/3173 Bug #3173])<br />
* using '''Document Properties''' dialog ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3400/ MR #3400])<br />
* when '''dragging and dropping''' SVG files from klatexformula into Inkscape ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3710 MR #3710])<br />
* when using the '''Eraser tool''' (five different crashes fixed) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4079 MR #4079], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4008 MR #4008])<br />
* when drawing a rectangle after closing the '''Icon Preview dialog''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3439 MR #3439])<br />
* when copying/cutting/stamping various '''Live Path Effects''' (multiple crash and bug fixes) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3479 MR #3479])<br />
* when copying a path with the 'Attach path' '''Live Path Effect''' ([https://gitlab.com/nathanal/inkscape/-/commit/8fd705fbc3ec31bffd51ffaa7e3a8a1efcf49a36 Commit 8fd705], [https://gitlab.com/inkscape/inkscape/-/issues/626 Bug #626])<br />
* when selecting an object with the 'Power Stroke' '''Live Path Effect''' after reopening a file ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3546 MR #3546], [https://gitlab.com/inkscape/inkscape/-/issues/2716 Bug #2716])<br />
* when editing a shape with an inverse mask applied to it with the '''Node tool''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4080 MR #4080], [https://gitlab.com/inkscape/inkscape/-/issues/3286 Bug #3286])<br />
* when trying to '''open''' an SVG file with invalid CSS pseudoclasses ([https://gitlab.com/inkscape/inkscape/-/issues/3358 Bug #3358], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4219 MR #4219])<br />
* when changing the pattern back in the '''Paint Servers dialog''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4139], [https://gitlab.com/inkscape/inkscape/-/issues/3327 Bug #3327])<br />
* when '''quitting''' Inkscape ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3681 MR #3681])<br />
* when using the '''Spray tool''' to spray multiple items in single path mode ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3470 MR #3470])<br />
* when clicking on a color after reopening the '''Swatches dialog''' ([https://gitlab.com/inkscape/inkscape/-/issues/3221 Bug #3221], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3991 MR #3991])<br />
* when trying to add a Live Path Effect to a '''symbol''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3520 MR #3520])<br />
* when scrolling quickly through line height units in the the '''Text tool''''s tool controls bar ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3541 MR #3541])<br />
<br />
=== Other bug fixes ===<br />
<br />
* The '''Align and Distribute dialog''' no longer starts out with node alignment options, this is strictly limited to when the Node tool is in use.<br />
* Improved '''Boolean Operation''' algorithm ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3724 MR #3724])<br />
* The '''Calligraphy tool''' no longer inverts the tilt direction ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3782 MR #3782], [https://gitlab.com/inkscape/inkscape/-/issues/1692 Bug #1692])<br />
* the '''Calligraphy tool''' no longer leaves any blots on locked layers when trying to draw on them ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3882 MR #3882], [https://gitlab.com/inkscape/inkscape/-/issues/3154 Bug #3154])<br />
* There's no longer a grey line present that starts on the top left page corner when holding Ctrl and drawing with the '''Calligraphy tool''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3174 MR #3174], [https://gitlab.com/inkscape/inkscape/-/issues/2203 Bug #2203])<br />
* Cloning objects that do not have an ID works now ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3180 MR #3180], [https://gitlab.com/inkscape/inkscape/-/issues/2389 Bug #2389])<br />
* macOS users can now '''close''' Inkscape from the Welcome screen ([https://gitlab.com/inkscape/inkscape/-/issues/2762 MR #2762])<br />
* The Zoom buttons are back in the '''Commands bar''': <code>Zoom to fit selection in window</code>, <code>Zoom to fit drawing in window</code>, <code>Zoom to fit page in window</code> and <code>Center page in window</code> ([https://gitlab.com/inkscape/inkscape/-/issues/1910 Bug #1910], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3638 MR #3638])<br />
* The search results in the '''Commands palette''' are now ordered in a more helpful way ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2834])<br />
* '''Copy-pasting''' groups using CSS classes for objects inside them no longer turns them all black ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3656 MR #3656])<br />
* '''Dialogs''' that have just been opened receive focus again, so they can be used with a keyboard, too ([https://gitlab.com/inkscape/inkscape/-/issues/3482 Bug #3482], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4381 MR #4381])<br />
* When the canvas has the focus, open '''dialogs''' do not steal keyboard shortcuts from it anymore ([https://gitlab.com/inkscape/inkscape/-/issues/2409 Bug #2409], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3176 MR #3176])<br />
* '''Document properties dialog and menu''' agree about whether guides are visible and/or locked now ([https://gitlab.com/inkscape/inkscape/-/issues/663 Bug #663], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4346 MR #4346])<br />
* Inkscape no longer slows down when '''using grids and having the Document Properties dialog open''' on macOS<br />
* Units in the '''Document Properties dialog''' now adjust properly when scaling the document ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3403 MR #3403])<br />
* For files without a viewbox, the '''Document properties dialog''' no longer refuses to change the Display unit ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3866 MR #3866], [https://gitlab.com/inkscape/inkscape/-/issues/872 Bug #872])<br />
* The '''Eraser tool''' no longer leaves red traces when it cannot erase ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4079 MR #4079], [https://gitlab.com/inkscape/inkscape/-/issues/540 Bug #540])<br />
* The '''Eraser tool''' now even cuts paths with only two nodes or arcs and clones (unlinking them) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4079], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4008 MR #4008])<br />
* '''Export file names''' are now saved relative to the file's location (previously, we were saving absolute paths in the SVG document) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4166 MR #4166], [https://gitlab.com/inkscape/inkscape/-/issues/804 Bug #804])<br />
* '''Exported raster images''' without alpha layer (no transparency) such as RGB and Greyscale PNGs, or JPG now use the page background color for export instead of black ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3994 MR #3994], [https://gitlab.com/inkscape/inkscape/-/issues/1357 Bug #1357])<br />
* running '''extensions''' no longer fails when you've run them many times already ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3871 MR #3871], [https://gitlab.com/inkscape/inkscape/-/issues/2861 Bug #2861])<br />
* the '''Extension Manager''' now works on macOS ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3579 MR #3579])<br />
* Scaling a stroke by percentage in the '''Fill and Stroke dialog''' no longer changes the stroke pattern and no longer shrinks instead of growing ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4198 MR #4189], [https://gitlab.com/inkscape/inkscape/-/issues/792 Bugs #792], [https://gitlab.com/inkscape/inkscape/-/issues/793 #793], [https://gitlab.com/inkscape/inkscape/-/issues/1238 #1238])<br />
* The long lost 'Burnt Edges' '''filter''' has returned ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3576 MR #3567])<br />
* It is no longer possible to create invalid filters using a non-existing feComposite operator ([https://gitlab.com/inkscape/inkscape/-/issues/1647 Bug #1647], [https://gitlab.com/inkscape/inkscape/-/merge_requests/2766 MR #2766])<br />
* The default value for 'saturate' in the color matrix '''filter''' has been fixed ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3626 MR #3626])<br />
* '''Find and Replace''' now works better if a text has a description and nested tspans ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3551 MR #3551])<br />
* '''Find and Replace''' now more reliably finds all occurrances of a string ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2999 MR #2999], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4352 MR #4352])<br />
* Editing fonts with the '''Font Editor dialog''' now also works for SVG fonts without a label (as created by FontForge)<br />
* '''Guides''' do not move around anymore when resizing the document ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4127 MR #4127], [https://gitlab.com/inkscape/inkscape/-/issues/1230 Bug #1230])<br />
* '''Guide handles''' are always correctly centered on the guide line. This change also fixes a similar positioning error that affected node handles ([https://gitlab.com/inkscape/inkscape/-/issues/2022 Bug #2022], [https://gitlab.com/inkscape/inkscape/-/issues/2604 Bug #2604], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3870 MR #3870]).<br />
* When a linked '''image''' can not be found, Inkscape now no longer uses (and saves the file with) altered image sizes ([https://gitlab.com/inkscape/inkscape/-/issues/3115 Bug #3115], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3842 MR #3842])<br />
* Imported '''images''' are now rotated according to their metadata ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3587 MR #3587], [https://gitlab.com/inkscape/inbox/-/issues/4235 Bug inbox#4235])<br />
* Embedded SVG '''images''' with markers or their own CSS styles are now displayed properly ([https://gitlab.com/inkscape/inkscape/-/issues/1757 Bug #1757], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3147 MR #3147])<br />
* '''Imported''' .cdr files will now use correct measurements ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3879 MR #3879], [https://gitlab.com/inkscape/inkscape/-/issues/2983 Bug #2983])<br />
* The '''Measure tool''' handles angles close to 180° better now ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2918 MR #2918])<br />
* '''Node tool''' handles for smooth and symmetrical nodes now scale along with the other handles, according to the preferences setting ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3679 MR #3679], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3699 MR #3699])<br />
* '''Opening''' a file without a file extension now only gives a warning when the file contents is not valid SVG ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3500 MR #3500])]<br />
* '''Perspective/envelope LPE''' now works on objects with 0 width or height . (edge cases for single line stroke) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2712 MR #2712])<br />
* The '''Preferences''' option to 'enable dynamic relayout for incomplete sections' has been removed, because it has started to break the interface ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3887 MR #3887])<br />
* The '''Preferences''' options for the dockbar style have been removed as they were no longer in use ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3360 MR #3660])<br />
* When a search term can not be found in the '''Preferences''', the whole Preferences tree stays available now ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2636 MR #2636])<br />
* '''Preferences''' now store more exact numbers, and these numbers are also more exact when given to extensions ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3340 MR #3340])<br />
* SVG files can now be '''saved''' without file extension again ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3500 MR #3500])<br />
* '''Saving to .odg''' format works again ([https://gitlab.com/inkscape/inkscape/-/issues/3385 Bug #3385], [https://gitlab.com/inkscape/inkscape/-/merge_requests/4316 MR #4316])<br />
* When scaling and snapping with the '''Selector tool''', the snapping now uses the correct location when geometrical bounding box is being used ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3990 MR #3990], [https://gitlab.com/inkscape/inkscape/-/issues/2212 Bug #2212])<br />
* When clicking and dragging an object with the '''Selector tool''', the correct object is now always dragged (affected Windows) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3735 MR #3735])<br />
* Improvements to '''snapping''' with the node tool (performance, add useful snap targets, remove useless snap targets) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3890 MR #3890], more info in [https://gitlab.com/inkscape/inkscape/-/merge_requests/3889 MR #3889])<br />
* Text tool is more verbose again in the '''status bar''' when editing flowed texts ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4201 MR #4201], [https://gitlab.com/inkscape/inbox/-/issues/4449 Bug inbox#4449])<br />
* Transform handle keyboard shortcuts are now displayed in the '''status bar''' ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3809 MR #3809])<br />
* A small margin was added on the right end of the '''status bar''', to prevent canvas rotation when the user's intention was to resize the Inkscape window ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3824 MR #3824], [https://gitlab.com/inkscape/inkscape/-/issues/918 Bug #918])<br />
* '''Symbols''' from custom symbol libraries created with Inkscape are now inserted in the correct size ([https://gitlab.com/inkscape/inkscape/-/merge_requests/4228 MR #4228], [https://gitlab.com/inkscape/inkscape/-/issues/1319 Bug #1319])<br />
* The last line in a flowed '''text''' paragraph is not justified anymore ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3780 MR #3780])<br />
* When moving a flowed '''text''' and its flow shape together, the flowed text now stays where it belongs ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3695 MR #3695])<br />
* Multiline vertical '''texts''' in legacy Inkscape documents that have been edited in current Inkscape now are placed correctly in browsers ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3537 MR #3537])<br />
* The preview in the '''Text and Font''' dialog no longer contains tofu (ugly placeholder character) where there is a linebreak ([https://gitlab.com/inkscape/inkscape/-/issues/2577 Bug #2577], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3359 MR #3359])<br />
* '''Tracing''' Pixel Art can now warn users again when the image they're trying to trace is too large ([https://gitlab.com/inkscape/inkscape/-/issues/2455 Bug #2455], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3306 MR #3306])<br />
* '''Zoom''' shortcuts from the numpad work again ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3773 MR #3773])<br />
<br />
* Multiple '''memory leak''' fixes and reductions ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3508 MR #3508], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3058 MR #3058], [https://gitlab.com/inkscape/inkscape/-/commit/51f3bb43774e2a208bfb3b80c62621bc58de8855 Commit 51f3bb4], [https://gitlab.com/inkscape/inkscape/-/commit/74bfe1555d3f9d4ed97c2e58f96d5f5b4eca303d Commit 74bfe1], and many more)<br />
* Lots of '''spelling, phrasing and translatability''' fixes<br />
* Lots of large or small '''performance improvements''' (e.g. [https://gitlab.com/inkscape/inkscape/-/merge_requests/3838 MR #3838])<br />
<br />
=== Even more bug fixes ===<br />
<br />
There were even more issues fixed than those listed above, but these probably only affect a small portion of users, or are relevant for development and packaging only.<br />
<br />
For a complete list, visit [https://gitlab.com/inkscape/inkscape/-/issues?milestone_title=Inkscape+1.2 our GitLab issue tracker] and see the [https://gitlab.com/inkscape/inkscape/-/commits/1.2.x commit history].<br />
<br />
== Translations ==<br />
<br />
The following UI translations received updates (as of May 6 2022):<br />
<br />
* Brazilian Portuguese<br />
* Catalan<br />
* Czech<br />
* Dutch<br />
* Farsi<br />
* French<br />
* German<br />
* Hebrew<br />
* Hungarian<br />
* Icelandic<br />
* Irish<br />
* Italian<br />
* Japanese<br />
* Korean<br />
* Polish<br />
* Portuguese<br />
* Russian<br />
* Simplified Chinese<br />
* Slovenian<br />
* Spanish<br />
* Traditional Chinese<br />
* Turkish<br />
* Ukrainian<br />
<br />
<!-- The Windows installer translation was updated for [2021-03-03]:<br />
<br />
* … --><br />
<br />
The following documentation translations received updates:<br />
<br />
* German<br />
* Simplified Chinese<br />
<br />
<br />
=== Contributing to interface translations ===<br />
<br />
Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]<br />
<br />
== Documentation ==<br />
<br />
* Adjusted font sizes for Eastern languages ([https://gitlab.com/inkscape/inkscape-docs/documentation/-/merge_requests/269 MR docs#269], [https://gitlab.com/inkscape/inkscape-docs/documentation/-/issues/59 Bug docs#59])<br />
* Updated keyboard shortcut list with new node tool shortcuts ([https://gitlab.com/inkscape/inkscape-docs/documentation/-/commit/03541f3d970042a2075cb9be403a1c8aef626432 Commit docs#03541f])<br />
<br />
<br />
=== Contributing to documentation and documentation translation ===<br />
Contributions to the documentation translations, as well as improvements to its contents, are welcome at [https://gitlab.com/inkscape/inkscape-docs/documentation the inkscape-docs repository].<br />
<br />
== Website ==<br />
<br />
The inkscape.org website was updated from Django 1.1 to Django 2.x by '''[https://pulsar17.me/2021/08/gsoc-work Google Summer of Code student Ishaan Arora]''' with the mentors Thomas Holder and Martin Owens. This was in preparation for the goal of updating Django to 3.x, which Ishaan Arora is currently working on.<br />
<br />
== Important changes for packagers ==<br />
<br />
* Dithering for gradients (see [[#Dithering|Dithering section]]) is available with a build flag (<code>-DWITH_INTERNAL_CAIRO=ON</code>), which causes Cairo to be patched for dithering during the build process. Please find more information in [https://gitlab.com/inkscape/inkscape/-/merge_requests/3812 MR #3812].<br />
* New dependency on <code>python-cssselect</code> added which is required for usage of Inkscape extensions ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3239 MR #3239])<br />
* Added Python <code>appdirs</code> dependency ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3568 MR #3568])<br />
* As Python <code>distutils</code> are now deprecated, they have been replaced by <code>python3-packaging</code> ([https://gitlab.com/inkscape/extensions/-/merge_requests/368 MR extensions#368])<br />
* The extension that imports images from the internet requires the Python <code>cachecontrol</code> module<br />
* gcodetools (<code>gcodetools</code>), extension manager (<code>inkman</code>) and clipart importer (<code>clipart</code>) are now all submodules of the extensions submodule. Make sure to update submodules recursively with <code>--recurse-submodules</code> when updating your git branches!<br />
* Inkscape now builds without X11 (cmake option) ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3208 MR #3208])<br />
<br />
== Known issues [as of 2022-05-12] ==<br />
<br />
* Some '''custom keyboard shortcuts''' that were set with older Inkscape versions may cease to work and need to be set again when their functionality has been touched in the conversion from 'verb' to 'action'.<br />
* Gradient editing:<br />
** If you convert your gradient to swatch, the gradient editor cannot be used for editing it anymore.<br />
** Canvas stops and gradient editor stops highlighting will stop working in some cases.<br />
* If you want to '''print a specific range of pages / a specific page''', you can select page numbers in the print dialog. However, this only prints the first page currently.<br />
* The option to '''specify a margin''' when resizing the page to the selection is currently not available (formerly available in Document Properties dialog, in the future planned for the Page tool).<br />
* '''Spellchecking''' is not available on '''macOS'''<br />
* Menus on '''M1 (ARM)''' architecture Apple computers '''do not display arrows for expandable menu items'''<br />
* The ''''Render LaTeX'''' extension is disabled in the '''snap packages''' of Inkscape 1.2<br />
<br />
Currently fixing:<br />
<br />
* macOS Intel package not starting on non-current macOS versions<br />
* Clipart Manager not working in AppImage<br />
<br />
== Other releases ==<br />
<br />
{{:Release notes}}</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.2&diff=120635Release notes/1.22021-12-27T07:41:27Z<p>Doctormo: Added speed improvements section</p>
<hr />
<div><br />
<br />
{{Box| '''These Release Notes are in Draft Status.'''<br />
<br />
Important Links:<br />
* [https://gitlab.com/inkscape/inkscape/commits/master Commit History Main Program (starting from: xxx)]<br />
* [https://gitlab.com/inkscape/extensions/-/commits/master Commit History Extensions (starting from: xxx)]<br />
* [https://gitlab.com/inkscape/inkscape-docs/documentation/-/tree/master Commit History Documentation (starting from: xxx)]<br />
<br />
}}<br />
<br />
{{Box| Pending questions:<br />
<br />
* …<br />
}}<br />
<br />
<br />
<br />
== Release highlights ==<br />
<br />
'''Definitely not released yet.'''<br />
<br />
== Important changes for packagers ==<br />
<br />
* New dependency on <code>python-cssselect</code> added which is required for usage of Inkscape extensions ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3239 MR #3239])<br />
<br />
== Speed Improvements ==<br />
<br />
* Dialogs have been refactored to better control their update and refresh mechanisms ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3369 MR #3369]), and will defer updates when hidden ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3761 MR #3761])<br />
* New Layers and Objects dialog significantly improves performance when handling many objects at the same time. ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2466 MR #2466] [https://gitlab.com/inkscape/inkscape/-/merge_requests/3635 MR #3635])<br />
* Document Properties dialog enormously sped up on macOS if grids are in use. ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3400/ MR #3400], [https://gitlab.com/inkscape/inkscape/-/merge_requests/3403 MR #3403])<br />
* Speed improved for documents with many layers by using static layer selection in the status bar ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3629 MR #3629])<br />
<br />
== General user interface ==<br />
<br />
The padding of the <kbd>+</kbd> / <kbd>-</kbd> buttons for number entry fields has been reduced, so those fields now take up considerably less space. If you prefer the wider buttons, this can be turned off in <code>'''Preferences > Interface : Use narrow number entry boxes''' </code>. ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3358 MR #3358])<br />
<br />
=== Info Bar ===<br />
Layers dropdown indicator was replace by button that will open new [[#Layers_and_Objects_dialog|Layers and object dialog]]<br />
<br />
==== Dialog System ====<br />
we made tab labels more responsive to the width of dialog<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3627<br />
<br />
== Canvas ==<br />
=== Page ===<br />
we added realisitc shadow to the page<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3128<br />
<br />
=== Snapping ===<br />
==== Snapping Settings ====<br />
Snapping settings got unifed and settings are nolonger saved in to svg file but to to preferences inside of inkscape.<br />
All snapping settings are moved to '''Preferences> Behaiviour > Snapping'''<br />
<br />
==== Snapping Toolbar ====<br />
Snapping toobar got removed and replaced with new simplified snappinng pop over. You can find it in top Right corner ass a toggle swich with arrow for changeg preferences.<br />
<br />
Preferences has two modes:<br />
* Simple - 3 options (Bounding box, paths, Aligment snapping). This should be good simple preset for most of users needs.<br />
* Advanced - All granualr control over every snapping option. This provides all funcionality for pro users<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3323<br />
<br />
<br />
<br />
[[File:Snapping popover .gif]]<br />
<br />
==== Alignment and Distribution snapping ====<br />
<br />
Three new modes of on-canvas snapping have been added. These new modes make aligning and distributing objects a very easy drag and drop operation.<br />
<br />
The new snapping options can be enabled or disabled from the <code>Snap popover -> Advanced</code> using the following new options:<br />
* Alignment Snapping : Toggle alignment snapping for objects.<br />
* Self snapping : Toggle alignment snapping for nodes in the same path while editing nodes.<br />
* Distribution snapping : Toggle distribution snapping.<br />
<br />
[[File:Snap-toolbar.png|new Snap Toolbar options]]<br />
<br />
Alignment and distribution snapping also have their separately configurable snap tolerances which can be adjusted in <code>Document Properties > Snap</code>.<br />
Both Alignment and Distribution snapping also have a preference to show snap distances which can be enabled or disabled from <code>Preference > Snapping > Show snap distance in case of alignment or distribution snap</code>.<br />
<br />
===== Alignment Guides =====<br />
<br />
are horizontal or vertical lines that only appear when you're editing objects on the canvas. Temporary guide lines appear if the selected object can be aligned relative to another object on the canvas. Once a guide does occur, the movement of the selection is constrained in the general direction of the guide which makes placing objects on the canvas easier.<br />
====== Self snapping ======<br />
<br />
is useful for node editing. Nodes will snap to thier own geometry<br />
<br />
===== Distribution Guides ===== <br />
<br />
are also a new feature added to Inkscape. These are spacing guides that appear in between equally spaced objects. These guides make it easier to place objects at equal distance from each other. These guides also appear in horizontal or vertical direction based on the optimum snap position.<br />
[[File:Distribution-snapping-demo.gif|center|Distribution and Alignment Snapping]]<br />
<br />
Related Merge Request: https://gitlab.com/inkscape/inkscape/-/merge_requests/3294<br />
<br />
== Tools ==<br />
<br />
=== Selector Tool ===<br />
<br />
==== Custom Origin ==== <br />
<br />
You can edit the Origin of the selection. By clicking on one of 8 canvas handles <code><-></code> changes the origin/ anchor point of the selection. After that, you will see a big gray cross from a new origin. This change will be reflected in the toolbar from where you can edit position and size with precise numbers. This is useful if you want to move/scale a selection with a precise number in mind. You can also move origin anywhere by dragging on the middle handle + .<br />
<br />
[https://gitlab.com/inkscape/inkscape/-/merge_requests/2700 2700]<br />
<br />
<br />
[[File:Change origin of selection.gif]]<br />
[[File:Change origin to TOP right.gif]]<br />
<br />
=== Text Tool ===<br />
<br />
New feature padding knot to flow box [https://gitlab.com/inkscape/inkscape/-/merge_requests/2769 2769]<br />
<br />
SVG 2.0 flowed text allows for shape-padding and shape-subtract attributes, allowing for the text to flow into a shape and leave some space between it's edges and where the text will start to flow as well as subtracting shapes with margin, which allows text to flow around other objects in the scene. These attributes were supported in Inkscape 1.0, but not exposed to the user. This version of Inkscape includes both an adjustable on-canvas knot for changing the padding as well as a Text menu item for setting text subtraction properties with a further knot to adjust it's margins.<br />
<br />
[See merge request for animated gifs to add here]<br />
<br />
- kerning options moved to pop over to save spce in toolbar<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3434<br />
<br />
<br />
=== Page tool === <br />
New tool and feature that alows you to create multipage SVG and PDF. As a part of this feature is also import of multipages to inkscape<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3486<br />
<br />
== Dialogs ==<br />
<br />
=== General ===<br />
<br />
You can hide the docking area on the left or right on the screen with a single mouse action now! <br />
Click on the vertical <code>'''...'''</code> or drag the bar past 50% percent of the minimal dock width ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2969 MR #2969])<br />
<br />
<gallery mode="packed" heights=450px><br />
File:Hiding docks.gif| Toggle to hide/unhide dock<br />
</gallery><br />
<br />
<br />
<br />
=== Preferences === <br />
<br />
Preferences zoom ruler respect theme look<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3450<br />
<br />
Allow select same to work like select all<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/2832<br />
<br />
=== Trace Bitmap ===<br />
<br />
Claen up of ui: Added sliders , fixed live preveiw, dialog is size responsive <br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3405<br />
<br />
=== Color pallete and Swatches ===<br />
<br />
We improved Look and settings options of this two panels. Scrolling is now posible just on vertical axies <br />
<br />
[[File:Color pallet demo.gif]]<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/2881<br />
<br />
=== Alignment and distribute ===<br />
<br />
We fused Arrange dialogs into Aligment and Distributi dialog . its in 3 tabs with more user frendly names and small visual tweeks.<br />
<br />
Icons inside this dialogs are smaller and redesign.s <br />
<br />
[[File:Align and distribute dialog with 3 tabs.gif]]<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3382<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3667<br />
<br />
=== Layers and Objects dialog ===<br />
<br />
We fused Layres and objects dialog in to new improved dialog. <br />
<br />
If you hold Alt and hover over items in dialog all other elemets get lover opacity. So you can se what exactly is the obejct you pointing at<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/2466<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3741<br />
<br />
=== SVG Font Editor ===<br />
<br />
Bug fixes, small face lift and UX and performance improvments of the dialog<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3396<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3552<br />
<br />
=== Text and Font dialog ===<br />
<br />
The dialog's width has been reduced, so it won't take up excessive amounts of space when docked ([https://gitlab.com/inkscape/inkscape/-/merge_requests/3314 MR #3314]).<br />
<br />
=== Transform dialog ===<br />
<br />
We cleaned up this dialog, reduced width and added explanation for metric transformations<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3381<br />
<br />
=== Fill and Stroke dialog ===<br />
==== Gradient Editor is back ====<br />
<br />
A replacement for the [https://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.1#Legacy_Gradient_Editor_dialog_removed|lost gradient editor] was added to the Fill and Stroke dialog ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2688 MR #2688], [https://gitlab.com/inkscape/ux/-/issues/67 But UX#67]).<br />
<br />
Users can now add, edit and delete gradient stops directly in the 'Fill and Stroke' dialog.<br />
<br />
New stops can be added by <code>double clicking</code> on the gradient preview, and can be deleted by selecting them and pressing the <kbd>Del</kbd> or <kbd>Backspace</kbd> key. Their position can be adjusted with the mouse by <code>dragging</code> the stops along the gradient preview, or numerically using stop offset option for more precise adjustments.<br />
<br />
[[File:Gradient editor adding stops.gif]]<br />
<br />
The Gradient tool toolbar options `repeat mode`, `reverse gradient direction`, a gradient selection library and a list of all stops have been added here, too, so all the options pertaining to gradients are in easy reach.<br />
<br />
[[File:Gradient editor - repete.gif]]<br />
<br />
Another way to add, edit and delete single stops is to use the list of gradient stops. Users can add stops by clicking on the <code>+</code> button, and can delete them by clicking on the <code>-</code> button.<br />
<br />
[[File:Adding and removing stops in to list.gif]]<br />
<br />
With the new gradient selection dropdown, users can duplicate gradients by clicking on the <code>+</code> button.<br />
<br />
[[File:Gradients Library.gif]]<br />
<br />
Users can offset (move) the first and last stops of a gradient. The color beyond the last/first gradient stop is uniformly that of the last/first stop and it becomes transparent where the gradient postion handles end.<br />
<br />
[[File:First and last node offset.gif]]<br />
<br />
==== Markers ====<br />
Markers have new dropdown options where you can control size offset and rotation of markers. This alloved us to remove duplicate markres so UI is much easier to navigate.<br />
We also clend out marker presets and addet few new arrows and also join ends<br />
<br />
[[File:Working with new markers.gif]]<br />
<br />
<br />
You can also edit size rotation and offset of markers on canvas. By clicking on edit button in syle tab under marker<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3394<br />
<br />
[[File:Edit markers on canvas.gif]]<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3420<br />
<br />
==== Custom Dash storkes ====<br />
We added UI for editing custom dash strok pattern. Click on '''Custom''' option inside a dashstroke drodown and this field will be shown under it. Now you can add your custom pattern by typing numbers (dash gap dash gap ...)<br />
<br />
[[File:Dashstroke editor.png]]<br />
<br />
==== Other small changes ====<br />
we reorder caps <br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3402<br />
<br />
color modes are hidden to dropdown. There is an option in preferences to change old look back<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3443<br />
<br />
== Filters ==<br />
<br />
== Live path effects ==<br />
<br />
== Import / Export ==<br />
<br />
== Customization ==<br />
<br />
=== Themes ===<br />
<br />
* A contrast slider was added for finetuning the selected theme's colors at <code>Preferences ⯈ Interface ⯈ Themeing: Contrast</code> ([https://gitlab.com/inkscape/inkscape/-/merge_requests/906 MR #906])<br />
<br />
<gallery mode=packed heights=550px><br />
File:Contrast slider.gif|The contrast slider allows to fine-tune the theme's colors<br />
</gallery><br />
<br />
=== Cursors ===<br />
<br />
Drop shadow is now optional for mouse cursors.<br />
You can turn it off in <code> '''Preferences > Interface : Enable Scaling''' </code> and <code> '''Preferences > Interface : Show drop shadow''' </code><br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3352<br />
<br />
=== UI ===<br />
You can change what you see in down infobar. By defoult no changes are made just option to turn off informations<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3445<br />
<br />
you can control size of the font preferences > iterface > theme<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3690<br />
<br />
=== Toolbars and Toolbox ===<br />
<code> Preferences > interface > toolbars </code><br />
<br />
You can control size of the icons and also customize with tools are visible in a toolbar(toolbox).<br />
<br />
[[File:Editing toolbox.gif]]<br />
<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3515<br />
<br />
== macOS-specific Changes ==<br />
<br />
== Extensions ==<br />
Add option to limit output extension to save copy<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3600<br />
<br />
<br />
Added Python appdirs dependency<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3568<br />
<br />
== Command line ==<br />
<br />
== Behind the curtains ==<br />
<br />
== Notable bugfixes ==<br />
<br />
=== Crash fixes ===<br />
Check knot still exists before updating<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/717<br />
<br />
Masive colection of crash fixes releted to number of LPE (copy, stampe, duplicate)<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3479<br />
<br />
Action after grouping 3D boxes crash Fix<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3698<br />
<br />
<br />
Fix for crashing of inkscape while Quiting<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3681<br />
<br />
<br />
Fix crash due to invalid or malformed direct-action string<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3663<br />
<br />
<br />
<br />
Fix crash scrolling across line height units<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3541<br />
<br />
<br />
Fix adding a path effect to symbol causes crash<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3520<br />
<br />
<br />
Fix drag-and-drop svgs, stops crash<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3710<br />
<br />
Handle two items in spray tool's single path mode<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3470<br />
<br />
=== Other bug fixes ===<br />
Fix #1034 - Recursively flatten css style when copying<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3656<br />
<br />
new booleam operation algoritm<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3724<br />
<br />
Respect mouse down before mouse move coords (WIN)<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3735<br />
<br />
Remove mandatory break from end of paragraphs, added in Pango 1.49.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3630<br />
<br />
Fix: Subsequent font changes to words in the same textbox now appl<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3631<br />
<br />
Fix numpad input for unimode in text tool<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3689<br />
<br />
<br />
All handes should be contreld by preferences<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3699<br />
<br />
<br />
Restore refresh of units trackers<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3665<br />
<br />
Fix find and replace if text has description, nested tspans<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3551<br />
<br />
<br />
all canvas knots shhould have same size and be controled form preferences<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3679<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3699<br />
<br />
<br />
Fix multiline vertical text positioning in browsers.<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3537<br />
<br />
<br />
Stop changing line height when units change<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3544<br />
<br />
<br />
Fix Clone Tiler menu item, action mismatch<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3650<br />
<br />
fix: Cannot quit Inkscape on macOS Big Sur from welcome screen (MAC)<br />
<br />
https://gitlab.com/inkscape/inkscape/-/issues/2762<br />
<br />
<br />
Fix: Position of flowed text no longer applies extra transforms on text<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3695<br />
<br />
<br />
Fix default value for saturate in color matrix filter<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3626<br />
<br />
<br />
nodes widget no longer appears on startup in align and distribute dialog<br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3677<br />
<br />
<br />
fixes #2621. Clicking on fill/stroke in the status bar now reopens the dialog if it is <br />
<br />
hidden<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/3754<br />
<br />
=== Even more bug fixes ===<br />
<br />
There were even more issues fixed than those listed above, but these probably only affect a small portion of users, or are relevant for development and packaging only.<br />
<br />
For a complete list, visit [https://gitlab.com/inkscape/inkscape/-/milestones/2 our GitLab issue tracker] and see the [https://gitlab.com/inkscape/inkscape/-/commits/1.0.x commit history].<br />
<br />
== Translations ==<br />
<br />
The following UI translations received updates:<br />
<br />
* …<br />
<br />
The Windows installer translation was updated for [2021-03-03]:<br />
<br />
* …<br />
<br />
The following documentation translations received updates:<br />
<br />
* …<br />
<br />
=== Contributing to interface translations ===<br />
<br />
Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]<br />
<br />
== Documentation ==<br />
<br />
* …<br />
<br />
=== Contributing to documentation and documentation translation ===<br />
Contributions to the documentation translations, as well as improvements to its contents, are welcome at [https://gitlab.com/inkscape/inkscape-docs/documentation the inkscape-docs repository].<br />
<br />
== Known issues ==<br />
<br />
* Gradient editing [as of 2021-06-26]:<br />
** Gradient collecting is problematic. It deletes your gradient if it's not used by any other object. Will be fixed with [https://gitlab.com/inkscape/inkscape/-/merge_requests/3361 3361]<br />
** If you convert your gradient to swatch, the gradient editor cannot be used for editing it anymore.<br />
** The first click after exiting the gradient library is ignored.<br />
** Canvas stops and gradient editor stops highlighting will stop working in some cases.<br />
<br />
== Other releases ==<br />
<br />
{{:Release notes}}</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=GTK5_wish_list&diff=120634GTK5 wish list2021-12-21T15:05:32Z<p>Doctormo: Added widget sharing</p>
<hr />
<div><br />
A page to track what we would like in GTK5.<br />
<br />
== Gio::Actions ==<br />
<br />
Gio::Actions are very useful but there are some things that would make them more useful:<br />
<br />
* The ability to include a description of what the action does. For GUI based use of actions, this could be used as a tooltip. We use the same action in a variety of ways that require this information (command palette, buttons, menu items). We have an ugly work-around to ensure that the same description is used everywhere.<br />
* More widgets that use actions. For example, there is no reason that a spinbutton couldn't be tied to an integer or double action.<br />
* Better coordination between Gio::Actions and Gio::SimpleAction. We are constantly having to cast actions to simple actions:<br />
** One can determine if an action is enabled or not but one can only set an action to be enabled or disabled using a simple action.<br />
** Looking up an action from an action map returns an action which then must be cast to a simple action.<br />
<br />
== Gio::Menu and Gio::MenuModel ==<br />
<br />
* These classes allow arbitrary attributes but only a limited set get copied over to a Gtk menu. In particular, it would be useful to be able to set a CSS class.<br />
* The ability to change the "Label" associated with an action. We have in the past include a description of what will be done/redone with our Undo/Redo menu items. One can still do this by replacing the Gio::Menu item associated with the action but it is difficult to keep it properly in sync across multiple window (which may have actions tied to different maps as in the case of windows containing different documents).<br />
<br />
== Widget Sharing ==<br />
<br />
* Currently the only widgets are those inside Gtk and those inside Inkscape. Creating a community space inside Gtk5 for more experimental, or more focused widget sets would be very useful. Especially if the core Gtk widget set is being simplified further. Large project like Inkscape and Gimp could then share their more complicated widgets, and Gnome's other projects had optional extensions to the vanilla set of widgets. This would probably require a bit of infrastructure and not so much a Gtk code request.</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Talk:Board_Meetings&diff=120418Talk:Board Meetings2021-07-16T13:26:56Z<p>Doctormo: Doctormo moved page Talk:Board Meetings to Talk:Leadership Committee Status Updates</p>
<hr />
<div>#REDIRECT [[Talk:Leadership Committee Status Updates]]</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Talk:Leadership_Committee_Status_Updates&diff=120417Talk:Leadership Committee Status Updates2021-07-16T13:26:56Z<p>Doctormo: Doctormo moved page Talk:Board Meetings to Talk:Leadership Committee Status Updates</p>
<hr />
<div>Should we set up a calendar for this meeting?<br />
<br />
If you'd like, go ahead. Having something send notifications automatically about the board meeting would save me a bit of trouble. -- bryce<br />
<br />
== Adding agenda items ==<br />
<br />
What is the process for adding to the agenda?[[User:TestaccountforSterbal|TestaccountforSterbal]] ([[User talk:TestaccountforSterbal|talk]]) 13:08, 24 June 2017 (UTC)<br />
<br />
* At the end of every meeting we have an Other Business agenda item where new items are welcome to be contributed by anyone. You are also welcome to add a bulletpoint to the Other Business item of the agenda in wiki; no promises that we'll get to it but if you attend we'll strive to fit you in.<br />
* Board members can also request agenda items at the start of a meeting, for discussion during the meeting<br />
* At any time, any one is welcome to raise issues on the board mailing list. If board members wish to discuss it at the next meeting it can be added to the agenda.</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Board_Meetings&diff=120416Board Meetings2021-07-16T13:26:56Z<p>Doctormo: Doctormo moved page Board Meetings to Leadership Committee Status Updates</p>
<hr />
<div>#REDIRECT [[Leadership Committee Status Updates]]</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Leadership_Committee_Status_Updates&diff=120415Leadership Committee Status Updates2021-07-16T13:26:56Z<p>Doctormo: Doctormo moved page Board Meetings to Leadership Committee Status Updates</p>
<hr />
<div>{{DISPLAYTITLE:Project Leadership Committee Status Updates}}<br />
<br />
== What Happens ==<br />
<br />
These meetings are used for status updates and information on the project to ensure that everyone knows what is going on the various teams and with leadership committee working items. It does not, and can not by charter, include binding votes as those take place on the [https://lists.inkscape.org/postorius/lists/inkscape-board.lists.inkscape.org/ board mailing list].<br />
<br />
== Place and Time ==<br />
<br />
We meet in #inkscape-board on [https://libera.chat libera.chat] (or via [https://matrix.to/#/#inkscape-board:libera.chat Matrix]). You can also join the [https://chat.inkscape.org/channel/inkscape_board #inkscape_board discussion channel on chat.inkscape.org] to partake in the meeting.<br />
<br />
These meetings are typically the first Friday of each month.<br />
<br />
<em>Everybody in the Inkscape community is invited to participate.</em><br />
<br />
Next meeting: [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20210702T10&p1=202 10:00 PDT/17:00 UTC/19:00 CEST, (click for world clock)], Fri., July 2, 2021. (Time is fixed to 10 AM Pacific Time.)<br />
<br />
Meetings should be announced in advance on [https://lists.inkscape.org/hyperkitty/list/inkscape-devel@lists.inkscape.org inkscape-devel] and [https://lists.inkscape.org/hyperkitty/list/inkscape-board@lists.inkscape.org inkscape-board] mailing lists.<br />
<br />
A calendar is available in UTC, but sometimes gets out of sync because of the non-UTc nature of this event: https://inkscape.org/cals/event/2/<br />
<br />
== Working Items ==<br />
<br />
* SFC Items (ted)<br />
* Student programs (Outreachy, GSoC, etc) (Tav)<br />
* Developer meeting update (Mc)<br />
* Vectors update (ryangorley)<br />
* Infrastructure update (doctormo)<br />
*Membership def proposal (ted)<br />
<br />
== Meeting Transcripts == <br />
<br />
=== 2021 ===<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-07-02.log.html 2021-07-02]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-06-04.log.html 2021-06-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-05-07.log.html 2021-05-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-04-09.log.html 2021-04-09]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-03-05.log.html 2021-03-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-02-05.log.html 2021-02-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-01-08.log.html 2021-01-08]<br />
<br />
=== 2020 ===<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-12-04.log.html 2020-12-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-11-06.log.html 2020-11-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-10-02.log.html 2020-10-02]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-09-04.log.html 2020-09-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-08-07.log.html 2020-08-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-06-05.log.html 2020-06-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-05-01.log.html 2020-05-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-03-06.log.html 2020-03-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-02-07.log.html 2020-02-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-01-03.log.html 2020-01-03]<br />
<br />
=== 2019 ===<br />
<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-12-06.log.html 2019-12-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-11-01.log.html 2019-11-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-10-04.log.html 2019-10-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-09-06.log.html 2019-09-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-08-03.log.html 2019-08-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-07-26.log.html 2019-07-26]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-07-12.log.html 2019-07-12]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-06-07.log.html 2019-06-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-05-03.log.html 2019-05-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-04-05.log.html 2019-04-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-03-01.log.html 2019-03-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-02-01.log.html 2019-02-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-01-04.log.html 2019-01-04]<br />
<br />
=== 2018 ===<br />
<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-12-07.log.html 2018-12-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-11-02.log.html 2018-11-02]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-10-05.log.html 2018-10-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-09-07.log.html 2018-09-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-08-03.log.html 2018-08-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-07-06.log.html 2018-07-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-06-01.log.html 2018-06-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-05-04.log.html 2018-05-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-04-06.log.html 2018-04-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/board_meeting_2018-03-02.html 2018-03-02]<br />
* [https://inkscape.org/gallery/item/12009/ 2018-02-02]<br />
* [https://inkscape.org/gallery/item/11875/ 2018-01-05]<br />
<br />
=== 2017 ===<br />
<br />
* [https://inkscape.org/paste/11743/ 2017-12-01]<br />
* [https://inkscape.org/paste/11651/ 2017-11-03]<br />
* [https://inkscape.org/gallery/item/11517/ 2017-10-06]<br />
* [https://inkscape.org/gallery/item/11377/ 2017-09-01]<br />
* [https://inkscape.org/gallery/item/11250/ 2017-08-04]<br />
* [https://inkscape.org/gallery/item/11176/ 2017-07-07]<br />
* [https://inkscape.org/gallery/item/11064/ 2017-06-02]<br />
* [https://inkscape.org/gallery/item/10844/ 2017-04-07]<br />
* [https://inkscape.org/gallery/item/10740/ 2017-03-03]<br />
* [https://inkscape.org/gallery/item/10651/ 2017-02-03]<br />
* [https://inkscape.org/gallery/item/10582/ 2017-01-06]<br />
<br />
=== 2016 ===<br />
<br />
* [https://inkscape.org/gallery/item/10484/ 2016-12-02]<br />
* [https://inkscape.org/gallery/item/10241/ 2016-11-04]<br />
* [https://inkscape.org/gallery/item/9971/ 2016-09-02]<br />
* [https://inkscape.org/gallery/item/9864/ 2016-08-05]<br />
* [https://inkscape.org/gallery/item/9766/ 2016-07-08]<br />
* [https://inkscape.org/gallery/item/9667/ 2016-06-03]<br />
* [https://inkscape.org/gallery/item/9563/ 2016-05-06]<br />
* [https://inkscape.org/gallery/item/9565/ 2016-04-01]<br />
<br />
* [https://inkscape.org/gallery/item/7276/ 2016-01-08]<br />
<br />
=== 2015 ===<br />
<br />
* [https://inkscape.org/gallery/item/7056/ 2015-12-04]<br />
* [https://inkscape.org/gallery/item/6886/ 2015-11-06]<br />
* [https://inkscape.org/gallery/item/6701/ 2015-10-02]<br />
<br />
=== 2014 ===<br />
<br />
* [https://inkscape.org/gallery/item/2498/ 2014-11-26]<br />
* [https://inkscape.org/gallery/item/2216/ 2014-11-19]<br />
* [https://inkscape.org/gallery/item/2210/ 2014-11-12]<br />
* [https://inkscape.org/gallery/item/2204/ 2014-11-05]<br />
* [https://inkscape.org/gallery/item/1436/ 2014-10-15]<br />
* [https://inkscape.org/gallery/item/950/ 2014-10-08]<br />
* [https://inkscape.org/gallery/item/854/ 2014-09-29]<br />
* [https://inkscape.org/gallery/item/392/ 2014-09-15]<br />
<br />
'''[https://inkscape.org/en/gallery/=pastebin/?q=meeting&order=-edited Website search for all transcripts]'''</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Leadership_Committee_Status_Updates&diff=120414Leadership Committee Status Updates2021-07-16T13:25:01Z<p>Doctormo: Rename Board to Leadership Committee and try and not repeat the word board so many times.</p>
<hr />
<div>{{DISPLAYTITLE:Project Leadership Committee Status Updates}}<br />
<br />
== What Happens ==<br />
<br />
These meetings are used for status updates and information on the project to ensure that everyone knows what is going on the various teams and with leadership committee working items. It does not, and can not by charter, include binding votes as those take place on the [https://lists.inkscape.org/postorius/lists/inkscape-board.lists.inkscape.org/ board mailing list].<br />
<br />
== Place and Time ==<br />
<br />
We meet in #inkscape-board on [https://libera.chat libera.chat] (or via [https://matrix.to/#/#inkscape-board:libera.chat Matrix]). You can also join the [https://chat.inkscape.org/channel/inkscape_board #inkscape_board discussion channel on chat.inkscape.org] to partake in the meeting.<br />
<br />
These meetings are typically the first Friday of each month.<br />
<br />
<em>Everybody in the Inkscape community is invited to participate.</em><br />
<br />
Next meeting: [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20210702T10&p1=202 10:00 PDT/17:00 UTC/19:00 CEST, (click for world clock)], Fri., July 2, 2021. (Time is fixed to 10 AM Pacific Time.)<br />
<br />
Meetings should be announced in advance on [https://lists.inkscape.org/hyperkitty/list/inkscape-devel@lists.inkscape.org inkscape-devel] and [https://lists.inkscape.org/hyperkitty/list/inkscape-board@lists.inkscape.org inkscape-board] mailing lists.<br />
<br />
A calendar is available in UTC, but sometimes gets out of sync because of the non-UTc nature of this event: https://inkscape.org/cals/event/2/<br />
<br />
== Working Items ==<br />
<br />
* SFC Items (ted)<br />
* Student programs (Outreachy, GSoC, etc) (Tav)<br />
* Developer meeting update (Mc)<br />
* Vectors update (ryangorley)<br />
* Infrastructure update (doctormo)<br />
*Membership def proposal (ted)<br />
<br />
== Meeting Transcripts == <br />
<br />
=== 2021 ===<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-07-02.log.html 2021-07-02]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-06-04.log.html 2021-06-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-05-07.log.html 2021-05-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-04-09.log.html 2021-04-09]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-03-05.log.html 2021-03-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-02-05.log.html 2021-02-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2021-01-08.log.html 2021-01-08]<br />
<br />
=== 2020 ===<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-12-04.log.html 2020-12-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-11-06.log.html 2020-11-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-10-02.log.html 2020-10-02]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-09-04.log.html 2020-09-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-08-07.log.html 2020-08-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-06-05.log.html 2020-06-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-05-01.log.html 2020-05-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-03-06.log.html 2020-03-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-02-07.log.html 2020-02-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-01-03.log.html 2020-01-03]<br />
<br />
=== 2019 ===<br />
<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-12-06.log.html 2019-12-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-11-01.log.html 2019-11-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-10-04.log.html 2019-10-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-09-06.log.html 2019-09-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-08-03.log.html 2019-08-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-07-26.log.html 2019-07-26]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-07-12.log.html 2019-07-12]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-06-07.log.html 2019-06-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-05-03.log.html 2019-05-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-04-05.log.html 2019-04-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-03-01.log.html 2019-03-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-02-01.log.html 2019-02-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-01-04.log.html 2019-01-04]<br />
<br />
=== 2018 ===<br />
<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-12-07.log.html 2018-12-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-11-02.log.html 2018-11-02]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-10-05.log.html 2018-10-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-09-07.log.html 2018-09-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-08-03.log.html 2018-08-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-07-06.log.html 2018-07-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-06-01.log.html 2018-06-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-05-04.log.html 2018-05-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-04-06.log.html 2018-04-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/board_meeting_2018-03-02.html 2018-03-02]<br />
* [https://inkscape.org/gallery/item/12009/ 2018-02-02]<br />
* [https://inkscape.org/gallery/item/11875/ 2018-01-05]<br />
<br />
=== 2017 ===<br />
<br />
* [https://inkscape.org/paste/11743/ 2017-12-01]<br />
* [https://inkscape.org/paste/11651/ 2017-11-03]<br />
* [https://inkscape.org/gallery/item/11517/ 2017-10-06]<br />
* [https://inkscape.org/gallery/item/11377/ 2017-09-01]<br />
* [https://inkscape.org/gallery/item/11250/ 2017-08-04]<br />
* [https://inkscape.org/gallery/item/11176/ 2017-07-07]<br />
* [https://inkscape.org/gallery/item/11064/ 2017-06-02]<br />
* [https://inkscape.org/gallery/item/10844/ 2017-04-07]<br />
* [https://inkscape.org/gallery/item/10740/ 2017-03-03]<br />
* [https://inkscape.org/gallery/item/10651/ 2017-02-03]<br />
* [https://inkscape.org/gallery/item/10582/ 2017-01-06]<br />
<br />
=== 2016 ===<br />
<br />
* [https://inkscape.org/gallery/item/10484/ 2016-12-02]<br />
* [https://inkscape.org/gallery/item/10241/ 2016-11-04]<br />
* [https://inkscape.org/gallery/item/9971/ 2016-09-02]<br />
* [https://inkscape.org/gallery/item/9864/ 2016-08-05]<br />
* [https://inkscape.org/gallery/item/9766/ 2016-07-08]<br />
* [https://inkscape.org/gallery/item/9667/ 2016-06-03]<br />
* [https://inkscape.org/gallery/item/9563/ 2016-05-06]<br />
* [https://inkscape.org/gallery/item/9565/ 2016-04-01]<br />
<br />
* [https://inkscape.org/gallery/item/7276/ 2016-01-08]<br />
<br />
=== 2015 ===<br />
<br />
* [https://inkscape.org/gallery/item/7056/ 2015-12-04]<br />
* [https://inkscape.org/gallery/item/6886/ 2015-11-06]<br />
* [https://inkscape.org/gallery/item/6701/ 2015-10-02]<br />
<br />
=== 2014 ===<br />
<br />
* [https://inkscape.org/gallery/item/2498/ 2014-11-26]<br />
* [https://inkscape.org/gallery/item/2216/ 2014-11-19]<br />
* [https://inkscape.org/gallery/item/2210/ 2014-11-12]<br />
* [https://inkscape.org/gallery/item/2204/ 2014-11-05]<br />
* [https://inkscape.org/gallery/item/1436/ 2014-10-15]<br />
* [https://inkscape.org/gallery/item/950/ 2014-10-08]<br />
* [https://inkscape.org/gallery/item/854/ 2014-09-29]<br />
* [https://inkscape.org/gallery/item/392/ 2014-09-15]<br />
<br />
'''[https://inkscape.org/en/gallery/=pastebin/?q=meeting&order=-edited Website search for all transcripts]'''</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.2&diff=120356Release notes/1.22021-06-22T15:16:11Z<p>Doctormo: /* Text Tool */</p>
<hr />
<div><languages /><br />
<br />
{{Box| '''These Release Notes are in Draft Status.'''<br />
<br />
Important Links:<br />
* [https://gitlab.com/inkscape/inkscape/commits/master Commit History Main Program (starting from: xxx)]<br />
* [https://gitlab.com/inkscape/extensions/-/commits/master Commit History Extensions (starting from: xxx)]<br />
* [https://gitlab.com/inkscape/inkscape-docs/documentation/-/tree/master Commit History Documentation (starting from: xxx)]<br />
<br />
}}<br />
<br />
{{Box| Pending questions:<br />
<br />
* …<br />
}}<br />
<br />
<translate><br />
<br />
== Release highlights ==<br />
<br />
'''Definitely not released yet.'''<br />
<br />
== Important changes for packagers ==<br />
<br />
== General user interface ==<br />
<br />
== Canvas ==<br />
<br />
== Tools ==<br />
=== Text Tool ===<br />
New feature padding knot to flow box [https://gitlab.com/inkscape/inkscape/-/merge_requests/2769 2769]<br />
<br />
SVG 2.0 flowed text allows for shape-padding and shape-subtract attributes, allowing for the text to flow into a shape and leave some space between it's edges and where the text will start to flow as well as subtracting shapes with margin, which allows text to flow around other objects in the scene. These attributes were supported in Inkscape 1.0, but not exposed to the user. This version of Inkscape includes both an adjustable on-canvas knot for changing the padding as well as a Text menu item for setting text subtraction properties with a further knot to adjust it's margins.<br />
<br />
[See merge request for animated gifs to add here]<br />
<br />
== Dialogs ==<br />
=== General ===<br />
<br />
<br />
=== Gradient Editor Dialog ===<br />
<br />
New gradeint editor insde fill and storek dialog. This allows you to create and edit gradients in this dialog. You see stops of gradients as a litst and also on a line. you can add nee stop by double-clicking on gradient line, you can set different gradients by clicking on the gradient list icon. <br />
<br />
https://gitlab.com/inkscape/inkscape/-/merge_requests/2688<br />
https://gitlab.com/inkscape/ux/-/issues/67<br />
<br />
== Filters ==<br />
<br />
== Live path effects ==<br />
<br />
== Import / Export ==<br />
<br />
== Customization ==<br />
<br />
=== Themes ===<br />
<br />
<br />
== macOS-specific Changes ==<br />
<br />
== Extensions ==<br />
<br />
== Command line ==<br />
<br />
== Behind the curtains ==<br />
<br />
== Notable bugfixes ==<br />
<br />
=== Crash fixes ===<br />
<br />
=== Other bug fixes ===<br />
<br />
=== Even more bug fixes ===<br />
<br />
There were even more issues fixed than those listed above, but these probably only affect a small portion of users, or are relevant for development and packaging only.<br />
<br />
For a complete list, visit [https://gitlab.com/inkscape/inkscape/-/milestones/2 our GitLab issue tracker] and see the [https://gitlab.com/inkscape/inkscape/-/commits/1.0.x commit history].<br />
<br />
== Translations ==<br />
<br />
The following UI translations received updates:<br />
<br />
* …<br />
<br />
The Windows installer translation was updated for [2021-03-03]:<br />
<br />
* …<br />
<br />
The following documentation translations received updates:<br />
<br />
* …<br />
<br />
=== Contributing to interface translations ===<br />
<br />
Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]<br />
<br />
== Documentation ==<br />
<br />
* …<br />
<br />
=== Contributing to documentation and documentation translation ===<br />
Contributions to the documentation translations, as well as improvements to its contents, are welcome at [https://gitlab.com/inkscape/inkscape-docs/documentation the inkscape-docs repository].<br />
<br />
== Known issues ==<br />
<br />
== Other releases ==<br />
<br />
{{:Release notes}}<br />
</translate></div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.1&diff=119273Release notes/1.12021-01-24T15:22:12Z<p>Doctormo: /* Preferences dialog */</p>
<hr />
<div><languages /><br />
<br />
{{Box| '''These Release Notes are in Draft Status.'''<br />
<br />
Important Links:<br />
* [https://gitlab.com/inkscape/inkscape/commits/master Commit History Main Program (starting from: 2b71d25 (Tue Dec 3 15:29:50 2019 +0100))]<br />
* [https://gitlab.com/inkscape/extensions/-/commits/master Commit History Extensions (starting from: fe0fe398 (October 28, 2019))]<br />
* [https://gitlab.com/inkscape/inkscape-docs/documentation/-/tree/master Commit History Documentation (starting from: cc619d14 (December 15 2019))]<br />
<br />
}}<br />
<br />
{{Box|Notes:<br />
<br />
For changes made even before the 1.0 release that aren't in 1.0, try to find out if the checked and not stroked ones here: https://gitlab.com/inkscape/inkscape/-/issues/1030 have really not been cherrypicked<br />
}}<br />
<br />
{{Box| Pending questions:<br />
<br />
* https://gitlab.com/inkscape/inkscape/-/commit/64a343e585463dab76e1e9d3698e52394fb637b9#note_481514761<br />
}}<br />
<br />
<br />
<translate><br />
== Release highlights ==<br />
<br />
'''Definitely not released yet.'''<br />
<br />
Inkscape 1.1 is the latest major Inkscape release that brings users many fresh new features and new functionality. <br />
The most notable changes include:<br />
<br />
* A Welcome dialog, where the theme and the new document's size or file to open can be selected<br />
* A Commands palette that opens when the <kbd>?</kbd> key is pressed and that allows to search and use many functions without having to use a keyboard shortcut or going through the menus<br />
* It is now possible to copy, cut and paste parts of paths with the Node tool<br />
* The dialog docking system has been rewritten, which resolves many issues with Inkscape's docked dialogs and allows you to dock dialogs on either side of the screen<br />
* New Outline overlay mode that displays object outlines while also showing their real colors<br />
* Preferences options are now easier to find by using the new search field<br />
* It is no longer necessary to remember to click on 'Export' in the PNG Export dialog, as the exporting will already happen after the click on 'Save' in the file selection dialog.<br />
<br />
== Important changes ==<br />
<br />
=== For packagers ===<br />
<br />
* Inkscape no longer depends on GtkSpell and ASpell but on GSpell for spell checking.<br />
* lib2geom has been moved [https://gitlab.com/inkscape/lib2geom into its own git submodule] (like the extensions), a new release is available.<br />
<br />
== Improvements ==<br />
<br />
<br />
* [https://en.wikipedia.org/wiki/XInclude XInclude] support (see [https://gitlab.com/inkscape/inkscape/-/merge_requests/1150 !1150]) ''TODO: Move to a "technical" or "advanced" section?''<br />
* Shell mode: a history of commands is now remembered and can be accessed with the up and down arrow keys. [Tab ... autocompletion?]<br />
* Recognize layers in SVG files exported from CorelDraw (see [https://gitlab.com/inkscape/inkscape/-/merge_requests/2046 !2046])<br />
* @import statements in CSS sheets are now processed in the correct order, so their styles are no longer overwritten unintentionally.<br />
<br />
=== General user interface ===<br />
<br />
==== Commands palette ====<br />
<br />
This feature was added by Google Summer of Code Student Abhay Raj Singh in 2020. Learn more about the feature's development [https://gitlab.com/rathod-sahaab/gsoc-2020-inkscape on GitLab].<br />
[https://gitlab.com/inkscape/ux/-/issues/31 UX issue 31] [https://gitlab.com/inkscape/inkscape/-/merge_requests/2072 MR 2072]<br />
<br />
<gallery mode="packed" heights=450px><br />
File:Commands bar.gif|The new Commands palette can be opened by pressing "?"<br />
</gallery><br />
<br />
<br />
=== Canvas ===<br />
<br />
==== 'Outline Overlay' display mode ====<br />
<br />
In this mode, a toned down view of the drawing (not click-sensitive) is shown behind the (click-sensitive) object outlines. <br />
The opacity of the original drawing in this view mode can be set in <code>Edit → Preferences → Rendering: Outline overlay opacity</code>.<br />
<br />
[[File:Outline Overlay Preview.png|650px|frameless|center]]<br />
<br />
==== 'Gray scale' display mode ====<br />
<br />
In this mode, all colors are displayed in grayscale, making this a useful feature for checking contrast. Can be activated in <code>View → Gray Scale</code><br />
<br />
==== Handles ====<br />
<br />
New vector-based handels.<br />
The maximal handle size has been increased, so users with HiDPI displays will be able to enlarge them to a more comfortable size.<br />
<code>Edit → Preferences → Interface: Handle size</code><br />
<br />
<br />
[https://gitlab.com/inkscape/inkscape/-/merge_requests/2334 2334]<br />
[https://gitlab.com/inkscape/inkscape/-/merge_requests/2344 2344]<br />
<br />
[[File:Handels.png]]<br />
<br />
=== Tools ===<br />
<br />
==== Calligraphy Tool ====<br />
<br />
* The tool now supports units for the width, with a much increased precision (up to three digits after the decimal separator, e.g. 0.005). The old, zoom-dependent width behavior is accessible with the unit '%'.<br />
<br />
==== Connector tool ====<br />
<br />
* Connection lines now update in real time while objects are moved <br />
* New sub-point connections for clones and groups, allowing users to use Inkscape to connect diagrams together like in other drafting tools:<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Sub connector points.gif|New sub-connector points<br />
</gallery><br />
<br />
==== Node tool ====<br />
<br />
The node tool now allows to copy, cut and paste a selection of nodes. These nodes can be inserted into the original path, into a different path or they can be pasted as a completely new path.<br />
<br />
<gallery mode="packed" heights=500px><br />
File:Copy paste nodes.gif| Copy, cut and paste just parts of the paths<br />
</gallery><br />
<br />
==== Selector Tool ====<br />
<br />
A new selection mode for the lasso/rubber-band selection was added, which can now select every object that is either within the box or that touches its boundaries. The mode can be activated by pressing the corresponding button in the Selector tool's tool controls bar. On canvas, the mode is visualized by changing the color of the selection box to dashed red line while dragging. <br />
<br />
TODO: record with new dashed line indicator instead of red<br />
[https://gitlab.com/inkscape/inkscape/-/merge_requests/2520 2520]<br />
<br />
[[File:Touch rect.gif]]<br />
<br />
==== Text Tool ====<br />
<br />
* Text-in-a-shape can now make use of justified text alignment.<br />
* Highlight all shapes: When editing text-in-shape or text-on-path, highlight all shapes,<br />
not only the first rectangle. [https://gitlab.com/inkscape/inkscape/-/merge_requests/2468 2468]<br />
* Also apply correct transformation (e.g. display rotated rectangle).<br />
* removed the close button from this dialog [https://gitlab.com/inkscape/inkscape/-/merge_requests/2523 2523]<br />
<br />
=== Dialogs ===<br />
<br />
==== Docking ====<br />
<br />
The docking feature has been refactored by Google Summer of Code Student Valentin Ionita in 2020. You can learn more about his work [https://gitlab.com/vanntile/inkscape-gsoc-2020 on GitLab]<br />
([https://gitlab.com/vanntile/inkscape-gsoc-2020/-/blob/master/RFC.md technical documentation]).<br />
<br />
==== Preferences dialog ====<br />
<br />
* Added new search bar in the preferences dialogue that performs a recursive search over all the nested categories of settings<br />
** press '''<code>F3</code>''' or '''<code>Ctrl+G</code>''' for next result<br />
** press '''<code>Shift+F3</code>''' or '''<code>Ctrl+Shift+G</code>''' for previous result<br />
* In <code>Edit → Preferences → Imported images: Import</code>, there is a new option that allows you to disable relative paths to linked files ("Store absolute file path for linked images", active by default).<br />
* In <code>Edit → Preferences → Rendering</code>, there is a new option to <code>Redraw while editing</code>, which improves performance of redrawing with some faster CPUs ("Responsive", active by default).<br />
* In <code>Edit → Preferences → Interface → Keyboard</code>, in the new '''Modifiers''' tab, you can customize keyboard shortcut modifiers for on-canvas mouse actions (for example holding <kbd>Ctrl</kbd> for scaling while keeping the object's aspect ratio can be changed to Shift) [Known issue: doesn't survive a restart]<br />
* In <code>Edit → Preferences → Behaviour → Scrolling</code>, The setting '''Mouse wheel zooms by default''' has been removed, this setting can now be set by changing the Modifier setting '''Canvas zoom''' to remove the Ctrl modifier (see above).<br />
* The Zoom correction factor in <code>Edit → Preferences → Interface</code> now works correctly for other units than mm and remembers values below 100%.<br />
<br />
<gallery mode="packed" heights=400px><br />
File:A search bar in the preferences dialogue.gif|Search bar in the Preferences dialog<br />
</gallery><br />
<br />
==== 'About Inkscape' dialog ====<br />
<br />
The Help > About Inkscape dialog has been rebuilt from scratch with a larger window (and image) and a tabbed interface.<br />
* The user-contributed About Screen artwork is now displayed much larger, as it should be!<br />
* Authors and translators are now featured on separate tabs.<br />
* A new license tab offers a brief explanation of Inkscape licensing. <br />
* All the tabs include calls to action or links to the official website for more information.<br />
* The current version of Inkscape is displayed on a button. When clicked, the full version information is copied to the clipboard, so it can be used in bug reports, for example.<br />
<br />
<gallery mode="packed" heights=600px><br />
File:New about dialog.gif|The reworked About Inkscape dialog<br />
</gallery><br />
<br />
==== Fill and Stroke ====<br />
<code>Object → Fill and stroke → Stroke Style</code><br />
<br />
* '''Hairline stroke style''' can now be set in the dialog. This type of stroke is always 1px wide, independent of the zoom level. This feature is useful for laser cutters and plotters.<br />
** Supports exporting hairlines to file formats with native hairline support (pdf/ps).<br />
** Exporting hairlines to output devices or native file formats requires [https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/21 a patch to Cairo]. If unavailable, a very thin line width will be used instead.<br />
** In other SVG renderers, these will be handled via non-scaling stroke with a stroke width of 1px.<br />
** Export to PNG and rendering on canvas will use a line width of 1px.<br />
[https://gitlab.com/inkscape/inkscape/-/merge_requests/846 MR 846]<br />
<br />
[[File:InkscapeHairlines.gif]]<br />
<br />
* Miter maximum increased to 100000 [https://gitlab.com/inkscape/inkscape/-/commit/69dc1688b1c1abb30437743a408644855616d3ad commit]<br />
<br />
*Markers use SVG 2.0 context-stroke [https://gitlab.com/inkscape/inkscape/-/merge_requests/2009 2009]<br />
<br />
==== Gradients ====<br />
<br />
* The legacy gradient editor (a dialog that could previously be enabled in the preferences for the gradient tool) has been removed.<br />
<br />
==== 'Welcome' dialog ====<br />
<br />
A new welcome and onboarding screen was added. You can set up the look of Inkscape on a first run and select from presets of document settings.<br />
This dialog can be turned off.<br />
<br />
<gallery mode="packed" heights=350px><br />
File:Welcome dialog 1.png|The new Welcome dialog<br />
File:Welcome dialog 2.png|Help the Inkscape project by contributing<br />
File:Welcome dialog 3.png|Loading an existing file<br />
File:Welcome dialog 4.png|Choosing a document size from the 'Screen' category<br />
</gallery><br />
<br />
=== Live path effects ===<br />
<br />
==== Automatic fill preservation for path effects ====<br />
<br />
LPEs which render strokes as fills (<code>Join Type</code>, <code>Power Stroke</code>, and <code>Taper Stroke</code>) have been modified to automatically preserve the previous fill by creating a linked path when applied to an object.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Sadchrys original drawing with fill.png|Original drawing<br />
File:Sadchrys after applying LPE previous versions.png|Previous versions of Inkscape would preserve the stroke settings but remove the fill when applied.<br />
File:Sadchrys after applying LPE 1.1 original path.png|Now, Inkscape will automatically preserve the fill by creating a linked path underneath.<br />
File:Sadchrys after applying LPE 1.1 linked fill.png|LPE options for the linked fill<br />
</gallery><br />
<br />
==== "Taper Stroke" LPE ====<br />
<br />
The Taper stroke LPE has been updated to include taper direction options (allowing the taper to run to one side of the path, instead of to the middle) and smoothing options for both ends of the path, allowing more interesting paths to be made in the effect. In addition, using the keybind '''Shift+click''' on the on-canvas knots allows quickly alternating between the different possible taper shapes.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Taper stroke direction control.png|Direction control options<br />
File:Taper stroke new parameter list.png|New parameter list<br />
</gallery><br />
<br />
==== "Fill between many" LPE ====<br />
<br />
A new shortcut has been added under the Path menu to automatically create a linked fill path using the '''Fill between many''' path effect. The effect is created beneath the selected paths and automatically selected to faciliate moving the path into the correct z-order and styling it as intended. For greater efficiency, the shortcut can also be bound to a hotkey using the '''Preferences''' dialog.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Fill between many shortcut menuitem.png|Previously, using this effect required tediously copying every path to the clipboard and pasting it into the parameter list of a new path.<br />
File:Fill between many result.png|Now, Inkscape can perform this task automatically, without any tedium.<br />
</gallery><br />
<br />
==== "Offset" LPE ====<br />
<br />
Offset calculation works faster now. Open paths can now have an offset that is not automatically closed [Known issue: when they don't self-intersect].<br />
<br />
==== "Slice" LPE (new) ====<br />
<br />
This new path effect allows you to split an object into two without destroying the original (or more by stacking multiple LPEs).<br />
It works with groups, shapes, and paths. If you want to use it on Text, you need to use the 'Clone' LPE and apply the 'Slice' LPE on this clone. <br />
It also allow change styles to any part because each part is a separated object only linked by original shape and maybe original transforms<br />
<br />
[[File:Slice LPE 1.gif|800px|frameless]]<br />
<br />
==== Other LPE improvemts ====<br />
* Mirror symmetry alow open and closed paths [https://gitlab.com/inkscape/inkscape/-/merge_requests/2366 2366]<br />
<br />
=== Export ===<br />
<br />
* The Export PNG Image dialog now exports the PNG as soon as the button Export as has been clicked and a file name was selected for the file. It's no longer necessary to explicitly click on Export after choosing a file name.<br />
<br />
=== Customization ===<br />
<br />
==== Cursors ====<br />
<br />
A set of SVG-based, themeable mouse cursors with HiDPI support were added. <br />
These new cursors are coupled with the icon themes. The default set (hicolor theme) is stored in <code>~inkscape\share\inkscape\icons\hicolor\cursors</code>.<br />
<br />
More information can be found on the [[SVG Cursors]] page. <br />
<br />
<gallery mode="packed" heights=350px><br />
File:Coursers.png|New cursor theme<br />
</gallery><br />
<br />
==== Shortcuts ====<br />
<br />
* Illustrator keyboard shortcut map has been updated to ... <span style="color: red;">Fill me in</span><br />
<br />
==== Themes ====<br />
<br />
* A contrast slider was added for finer control over the theme look at <code>Preferences → Interface → Themeing → Contrast</code> [https://gitlab.com/inkscape/inkscape/-/merge_requests/906 906]<br />
* A more compact Minwaita theme has been added<br />
* The win32 theme has been improved by adding some custom adjustments<br />
<br />
[[File:Contrast slider.gif|center]]<br />
<br />
==== macOS-specific changes ====<br />
<br />
* New Inkscape icon ([https://gitlab.com/inkscape/inkscape/-/commit/ee58965003ca1960c20d7da276c3774166c18d42 commit ee589650])<br />
* Visio files can be imported ([https://gitlab.com/inkscape/inkscape/-/issues/2094 issue #2094])<br />
* No longer bundle Ghostscript, effectively removing out of the box support for EPS and PS ([https://gitlab.com/inkscape/inkscape/-/merge_requests/2608 MR #2608]), information about workarounds can be found at https://gitlab.com/inkscape/inbox/-/issues/4321<br />
* <del>This is the last release to support OS X El Capitan 10.11. Future releases will require at least macOS High Sierra 10.13 as oldest supported operating system.</del> A few hours ago I got feedback on the [https://gitlab.gnome.org/GNOME/gtk/-/issues/3592 upstream issue] which is the deciding factor here. There's hope now, so let's not make an announcement like this just yet.<br />
<br />
=== Extensions ===<br />
<br />
=== Command line ===<br />
<br />
* The options <span style="color:red;">x y z</span> have been added back in to preserve compatibility with legacy Inkscape command line scripts (and ImageMagick's SVG conversion)<br />
<br />
*Added actions for aligning and distributing objects [https://gitlab.com/inkscape/inkscape/-/merge_requests/2472 2472]<br />
<br />
== Notable bugfixes ==<br />
<br />
=== Crash fixes ===<br />
<br />
Fix a crash &hellip;<br />
* &hellip; when ... ([https://gitlab.com/inkscape/inkscape/-/issues/ #number])<br />
<br />
=== Other bug fixes ===<br />
<br />
* The color selector's color wheel looks better now on HiDPI screens [https://gitlab.com/inkscape/inkscape/-/merge_requests/2416 MR #2416]<br />
* The color indicator field in the bottom left corner of the window now uses a constant width and has been cleaned up a bit [https://gitlab.com/inkscape/inkscape/-/merge_requests/2400 MR #2400] <br />
* The size of the double-arrow handles in the color sliders has been increased [https://gitlab.com/inkscape/inkscape/-/merge_requests/2427 MR #2427]<br />
* Fix of multiple regressions and bugs with '''Stroke to path''' [https://gitlab.com/inkscape/inkscape/-/merge_requests/2410 MR #2410]<br />
* Fix of feColorMatrix filter primitive default rendering [https://gitlab.com/inkscape/inkscape/-/merge_requests/2424 MR #2424]<br />
* You can now just click in the color wheel to select a color [https://gitlab.com/inkscape/inkscape/-/merge_requests/2428 MR #2428]<br />
* Reverse order of z-order buttons to achieve more consistency [https://gitlab.com/inkscape/inkscape/-/merge_requests/2556 MR #2556 ]<br />
* Fix reversed buttons in Arrange/Polar Coordinates [https://gitlab.com/inkscape/inkscape/-/merge_requests/2561 MR 2561]<br />
* Multiple Fixes for Selectors and CSS dialog [https://gitlab.com/inkscape/inkscape/-/merge_requests/1681 1681]<br />
* Multiple fixes for command: Stroke to path [https://gitlab.com/inkscape/inkscape/-/merge_requests/2410 2410]<br />
* Fixed rendering of antialiasing on clipping path [https://gitlab.com/inkscape/inkscape/-/merge_requests/2401 2401]<br />
* Fix z-order rendering issue after ungrouping [https://gitlab.com/inkscape/inkscape/-/merge_requests/2452 2452]<br />
* Fix copying mesh gradients to new document. [https://gitlab.com/inkscape/inkscape/-/merge_requests/2362 2362]<br />
* "X-Ray" mode auto disable when cursor reaches edge of canvas. [https://gitlab.com/inkscape/inkscape/-/merge_requests/2346 2346]<br />
<br />
=== Even more bug fixes ===<br />
<br />
There were even more issues fixed than those listed above, but these probably only affect a small portion of users, or are relevant for development and packaging only.<br />
<br />
For a complete list, visit [https://gitlab.com/inkscape/inkscape/-/milestones/2 our GitLab issue tracker] and see the [https://gitlab.com/inkscape/inkscape/-/commits/1.0.x commit history] (all changes since DATE until release date).<br />
<br />
== Breaking changes / Action required ==<br />
<br />
=== Extensions ===<br />
<br />
Element selections API has been improved, the API in '''10<span color="red">?</span>''' of using <code>self.svg.selected</code> is deprecated in favour of the new <code>self.svg.selection</code> interface. The previous API will continue to work for the time being but should be updated to the new API. Selection is now a type of ElementList which provides filtering, ordering and other generalised functionality, if you need an element list for example to make a bounding box, this is the way to do it.<br />
<br />
== Translations ==<br />
<br />
The following UI translations received updates:<br />
<br />
* Language<br />
<br />
The following documentation translations received updates:<br />
<br />
* Language<br />
<br />
=== Contributing to interface translations ===<br />
<br />
Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]<br />
<br />
== Documentation ==<br />
<br />
* Some missing options were added to the man page (command line help)<br />
* Some missing keyboard shortcuts were added to the keyboard shortcut reference<br />
<br />
=== Contributing to documentation and documentation translation ===<br />
Contributions to the documentation translations, as well as improvements to its contents, are welcome at [https://gitlab.com/inkscape/inkscape-docs/documentation the inkscape-docs repository].<br />
<br />
== Known issues ==<br />
<br />
* Fill in<br />
* Many of Inkscape's old bug reports still need to be [https://alpha.inkscape.org/bug-migration/ tested and migrated to the new bug and feature request reporting page]. While some progress has already been made, we still need your help with that task.<br />
* All (migrated and new) open issues for the project are listed on [https://gitlab.com/groups/inkscape/-/issues GitLab]. If you have some time on your hands and can help fixing them, [https://chat.inkscape.org/channel/team_devel join us in the development chat] and let us tackle them together.<br />
* Spellchecking is currently broken on macOS. ([https://gitlab.com/inkscape/inkscape/-/issues/1496 issue #1496])<br />
<br />
== Previous releases ==<br />
<br />
* [[Release notes/1.0]] ([[Release_notes/1.0.1 |1.0.1]], [[Release_notes/1.0.2 |1.0.2]])<br />
* [[Release notes/0.92]] ([[Release_notes/0.92.1 |0.92.1]], [[Release_notes/0.92.2 |0.92.2]], [[Release_notes/0.92.3 |0.92.3]], [[Release_notes/0.92.4 |0.92.4]], [[Release_notes/0.92.5 |0.92.5]])<br />
* [[Release notes/0.91]]<br />
* [[Release notes/0.48]] ([[Release notes/0.48.1 |0.48.1]], [[Release notes/0.48.2 | 0.48.2]], [[Release notes/0.48.3 | 0.48.3]], [[Release notes/0.48.4 | 0.48.4]], [[Release notes/0.48.5 | 0.48.5]])<br />
* [[Release notes/0.47]]<br />
* [[Release notes/0.46]]<br />
* [[Release notes/0.45]]<br />
* [[Release notes/0.44]]<br />
* [[Release notes/0.43]]<br />
* [[Release notes/0.42]]<br />
* [[Release notes/0.41]]<br />
* [[Release notes/0.40]]<br />
* [[Release notes/0.39]]<br />
* [[Release notes/0.38]]<br />
* [[Release notes/0.37]]<br />
* [[Release notes/0.36]]<br />
* [[Release notes/0.35]]<br />
<br />
</translate></div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Google_Summer_of_Code&diff=119272Google Summer of Code2021-01-24T14:09:03Z<p>Doctormo: /* Suggested Project Ideas */</p>
<hr />
<div><div style="max-width:70em; margin-left: auto; margin-right: auto"><br />
= Welcome to Inkscape! =<br />
<br />
For quite a few years Inkscape has been successfully participating in [http://code.google.com/soc/ Google Summer of Code].<br />
<br />
GSoC is a program where Google funds the development of specific features in open source software by university students. You don't need to be a Computer Science student to apply. Features to be developed are picked by Inkscape administrators from the pool of proposals submitted by students.<br />
<br />
We've mentored about half a dozen students a year since GSoC started. Many students enjoyed their work and continue to be involved; perhaps your mentor will be a past GSoC student! We have a high rate of acceptance of student code into the core codebase. Indeed, GSoC projects have been a key source of some of Inkscape's best features in the past several releases.<br />
<br />
If you are interested in joining us this summer, it is time to get your proposal ready. You can choose a proposal from our list of suggestions or come up with one of your own. In either either case, you '''must''' give us a detailed outline of what you plan to do. It is '''highly''' recommended that you discuss your idea as early as possible with Inkscape developers. They not only can give you guidance as you flesh out your proposal but ultimately you must convince them that you can do the work planned in the time allotted. '''If you have not discussed your proposal with Inkscape developers before you apply, your application will be rejected!'''<br />
<br />
= Student Applications =<br />
<br />
* Google program information:<br />
** [https://summerofcode.withgoogle.com/ Home page].<br />
** Summer of Code Application form. Applications open at 18:00 UTC on March 29th 2021.<br />
<br />
* Inkscape-specific information:<br />
** [[SOC Application Template]].<br />
** [[Roadmap | Inkscape Roadmap]] - to see our overall objectives.<br />
** [[Projects | Inkscape Development Project Ideas]] - broader list of development ideas.<br />
** [[SOC Writing Project Proposals]] - some guidelines for proposals.<br />
** [[SOC Selection Criteria]] - how we rate applications.<br />
<br />
'''Student Applications for GSoC 2021 must be submitted to the GSoC site by 18:00 UTC on April 13th 2021.'''<br />
<br />
= The "two patches" rule =<br />
<br />
We require two patches from each potential GSoC student, before accepting the student for GSoC participation (it is the same requirement as for obtaining rights to commit changes to the code repository).<br />
<br />
The reason for this requirement is that you can show us that you have succeeded in building Inkscape on your PC, and that you have understood a little piece of Inkscape's code and are able to improve it. <br />
Inkscape is a large project, and you really should not try to understand all the code. Many (all?) developers know only parts of the program code!<br />
You can join our [https://inkscape.org/community/discussion/ IRC] channel or [https://chat.inkscape.org/channel/team_devel Rocket Chat] and ask developers for help.<br />
<br />
== Suggested "easy" bug fixes or improvements ==<br />
<br />
To get you started on Inkscape development, you can find (probably) easy-to-fix bugs or small improvements that require very little knowledge of the whole program by searching our [https://gitlab.com/inkscape/inkscape/issues/ bug-tracker] for bugs tagged with 'easy-fix'.<br />
<br />
= Performance Evaluation =<br />
<br />
GSoC has two formal evaluation points, at the ''mid-term'' and at the end. These evaluations determine if you receive the stipend from Google. In order to receive a pass for the evaluations you will need to show adequate progress toward your project's goals.<br />
<br />
To help you meet your goals and so that your mentor can better evaluate your progress you need to:<br />
<br />
* Have frequent, public discussions of your progress. (Don't rely on just your mentor for advice.)<br />
* Have a public Inkscape branch for your code to which you commit regularly.<br />
* Give weekly status reports.<br />
<br />
For the final pass, you will normally be required to merge your code into Inkscape trunk.<br />
<br />
Remember: ''we want you to succeed!''<br />
<br />
= Suggested Project Ideas =<br />
<br />
The following is a list of formal project suggestions, but do not feel limited to only these - some of our best contributions have been unique ideas that students had in mind from other sources!<br />
<br />
See also [[Development Project Ideas]], [[Refactoring projects]], [[Projects]], and https://blueprints.launchpad.net/inkscape/<br />
<br />
==P1. Better CSS Style Sheet Support==<br />
<br />
Enhance Inkscape's support for CSS style sheets.<br />
<br />
* Estimation of difficulty: Moderately hard<br />
* Potential mentors: Tavmjong Bah<br />
* Programming skills needed: C++<br />
* Prerequisites: Experience with CSS style sheets.<br />
<br />
<u>Detailed Description</u><br />
<br />
Inkscape has basic support for CSS style sheets that can read and parse internal style sheets. A 2016 GSoC project added a simple style dialog that can create and modify the internal style sheet. The dialog is very limited and is not intuitive to use. A 2017 GSoC project added support for CSS 3 selectors. More work has been done recently, creating the ''Selectors and CSS'' dialog... This project will extend the usefulness of that dialog by making it more user friendly and by extending its functionality.<br />
<br />
<u>Use Cases</u><br />
<br />
* Support externally created SVGs.<br />
* Producing better SVGs for the Web.<br />
* Changing style on multiple objects at once (palettes).<br />
<br />
<u>Related Material</u><br />
<br />
* [https://www.w3.org/TR/CSS2/ CSS 2 Specification]<br />
* [https://www.w3.org/TR/css-2015/ CSS 2015 Snapshot]<br />
<br />
==P3. Slice items==<br />
[[File:Cuttool.png|200px|thumb|right|Example of result of the split using straight lines only]]<br />
Add slicing Live Path Effect (LPE)<br />
* Estimation of difficulty: Moderately hard<br />
* Potential mentors: Jabier Arraiza (Spanish, some English)<br />
* Programming skills needed: C++<br />
<br />
<u>Detailed Description</u><br /><br />
The goal is a LPE, to slice items.<br /><br />
It accept a path parameter (storing a path) as cutter.<br /><br />
The effect create pieces by the split path.<br /><br />
Can be added multiple times to add more splits.<br /><br />
We have the code of mirror symmetry LPE and rotate copies LPE as reference.<br /><br />
Also we can force or better ask to convert strokes to path previously to apply the effect (one line command, but we need advert is a destructive LPE)<br /><br />
Study generate a HTML image map definition.<br /><br />
<u>Use Cases</u><br />
* Better item slicing.<br />
* Create HTML image maps<br />
* Split a item and use for example on PNG export option export as separate objects.<br />
<br />
==P5. UI-Free Inkscape ==<br />
<br />
* Estimation of difficulty: Difficult<br />
* Potential mentors: Marc Jeanmougin<br />
* Programming skills: C++, CMake<br />
* Prerequisites: Minimal knowledge of build systems. Experience with GtkMM helpful.<br />
<br />
<u>Detailed Description</u><br />
Inkscape currently builds with X11 and gtk and a lot of graphical dependencies. But since it is allowed to run in commandline, and there are controlled environments (servers) that use it to convert svg to png and to perform actions, there should be no need to force it to build with those. The main goal of this project is to add a WITH_GUI compilation flag that when OFF, does *not* link Inkscape with any graphical dependency. While much work has been done towards this goal, much remains to be done. As a next step, Inkscape's "verbs" which are mostly GUI dependent (even if there is no reason to be) need to be converted to Gio::Actions.<br />
<br />
<u>Use cases</u><br />
* Server installs, scripts<br />
<br />
==P6. Refactoring==<br />
* Estimation of difficulty: Moderate<br />
* Potential mentors: Tavmjong Bah<br />
* Programming skills: C++<br />
* Prerequisites: proficient C++.<br />
<br />
<u>Detailed Description</u><br />
Inkscape began life as the C program Sodipodi. Sodipodi was mostly the work of one person who had a clear vision of how the code should work. A major motivation of the Inkscape fork was to allow others to easily contribute to development. This resulted in rapid development but at a cost: the code has become much messier and now lacks a clear vision. This project is to work on refactoring the code. Refactoring can take many forms. It could be creating a better directory structure with README's that describe the purpose and function of the code in each directory. This would include rewriting code to reduce dependencies across directories (which would help, for example, in achieving a headless version of Inkscape). It could be the continued transition from C to C++ which often results in major reductions in the number of code lines. Or it could be identifying and eliminating redundant code. Refactoring is an important skill of which many books have been written. Here's a chance to gain valuable experience!<br />
<br />
See https://wiki.inkscape.org/wiki/index.php/Refactoring_projects for some ideas of projects.<br />
<br />
==P7. Tesseract OCR==<br />
<br />
* Estimation of difficulty: Easy<br />
* Potential mentors: unknown<br />
* Programming skills: C / C++, AI<br />
* Prerequisites: unknown<br />
<br />
<u>Detailed Description</u><br />
The Tesseract OCR library available here https://github.com/tesseract-ocr/tesseract gives the ability to detect text, lines, and other shapes within a document. This type of vectorisation is currently missing from Inkscape. Plenty of other open source and proprietary tools have made use of this library.<br />
<br />
<u>Use cases</u><br />
* User interface design, converting screenshots<br />
<br />
==P8. Add Text and Image Support to Live Path Effect System ==<br />
* Estimation of difficulty: Hard<br />
* Potential mentors: Jabier Arraiza (Spanish, English(not native))<br />
* Programming skills: C++<br />
* Prerequisites: Experience managing bitmaps<br />
<u>Detailed Description</u><br />
Live Path Effects are non destructive effects applied to paths and shapes standalone or inside a group.<br /> <br />
This is done keepeng a reference to the original data to reaply when needed.<br /><br />
But ignore text and image elements.<br /><br />
Things to do:<br />
* Study add image, text, both and maybe others SVG elements to the LPE system.<br />
* Create/adapt minimun one LPE for each new type of element acepted as reference. Suggestion Perspective-Envelope.<br />
<u>Use cases</u><br />
* Apply live effects to images and text based in C++ code in a non destructive way even in groups with mixed elements types.<br />
<br />
==P9. Path Library Improvements ==<br />
* Estimation of difficulty: Hard<br />
* Potential mentors: Tavmjong Bah, KK<br />
* Programming skills: C++<br />
* Prerequisites: Strong math skills, specifically in geometry.<br />
<u>Detailed Description</u><br />
Inkscape relies on two geometry libraries for path manipulations: lib2geom and livarot. lib2geom is a generic modern library written specifically with Inkscape in mind. lib2geom is missing some functionality that Inkscape requires and that is found in livarot. This project is to move that functionality into lib2geom (or into separate files) using lib2geom path descriptions. A 2020 GSoC student did a significant amount of work understanding and documenting the issues involved. This project would be to build on his work.<br />
<br />
Specifically, the functionality needed is<br />
* Path offset/inset functions.<br />
* Path simplify.<br />
* Stroke to path function.<br />
* Line scanning (used for flowing text into a shape).<br />
<br />
==P10. Font Selection Improvements ==<br />
* Estimation of difficulty: Medium<br />
* Potential mentors: Tavmjong Bah, ??<br />
* Programming skills: C++<br />
* Prerequisites: Some knowledge of GTK.<br />
<u>Detailed Description</u><br />
Inkscape's ''Text toolbar'' and ''Text and Font dialog'' present the user with a long list of font family choices. Designers often have hundreds if not thousands of fonts on their system to choose from making the use of these lists difficult and time consuming (and generating font previews slows Inkscape down). This project is to add a ''Font Selection dialog'' where the user can create a list of "Document Fonts" (along with CSS fallbacks). Only these documents fonts will then be shown in the drop-down menus in the Inkscape's Text toolbar and Text and Font dialog. The ''Font Selection'' dialog should show the designer previews of all available fonts, provide "filtering" mechanisms, and allow easily moving fonts to and from the document font list. Interaction with Inkscape's ''UX'' team will be crucial. A bonus feature would be to allow the user to add @font-face rules (Inkscape has some support for these already but has no UX for them).<br />
<br />
==P11. Improvements to Paint Server Dialog ==<br />
<br />
* Estimation of difficulty: Easy to Medium<br />
* Potential mentors: ??<br />
* Programming skills: C++<br />
* Prerequisites: Some knowledge of GTK and CSS.<br />
<u>Detailed Description</u><br />
The ''Paint Server Dialog'' allows a user to visually select a pattern or hatch to use in painting the ''fill'' or ''stroke'' of an object. This project would be to expand the dialog to cover gradients, meshes, and solid colors as well as make other improvements to the dialog. Interaction with the Inkscape's ''UX'' team will be required.<br />
<br />
==P13. On Canvas Marker Editing ==<br />
* Estimation of difficulty: Medium<br />
* Potential mentors: Martin Owens, Jabiertxof<br />
* Programming skills: C++<br />
* Prerequisites: Work with UX team<br />
<br />
<u>Detailed Description</u><br />
The markers currently do not have the ability to be edited. Allowing users to edit their size, position and shape on canvas would give users control over markers they currently do not. It would also allow us to remove a bunch of marker "sizes" from the current dropdown if the user could easily resize them as needed.<br />
<br />
<u>Use Cases</u><br />
* Anyone who wants to customise markers, arrow heads etc.<br />
<br />
==Pxx. Your project ==<br />
* Estimation of difficulty: Variable<br />
* Potential mentors: Marc Jeanmougin<br />
* Programming skills: usually C++<br />
* Prerequisites: good ideas<br />
<br />
<u>Detailed Description</u><br />
The most successful GSoC we had in the past were students coming with their own past, use cases and ideas for Inkscape. Many basic tools like 3d cubes or connectors you can see in Inkscape now have been brought by brilliant people (like you) with ideas. If we think that your project fits with Inkscape (ie: has its place with a vector graphic editor), we can help you refining your ideas and help bring shiny new stuff to life!<br />
<br />
<u>Use cases</u><br />
* Amaze us!<br />
<br />
= Successful SOC Projects from Previous Years =<br />
* 2005<br />
** Connectors<br />
** Inkboard<br />
** [http://www.openclipart.org/ Open Clip Art Library (OCAL)] Interface<br />
** DXF Import / Export<br />
* [[Google Summer of Code 2006|2006]]<br />
** Support for SVG Filters<br />
** Filter Effects<br />
** PDF export<br />
** Inkboard Protocol Spec / Lib Conversion<br />
* [[Google Summer of Code 2007|2007]]<br />
** Text Style Improvements<br />
** PDF import<br />
** Live Path Effects<br />
** 3D Box Tool<br />
** UI for SVG Filter Effects<br />
** Raster Functionality<br />
** Importing from, and Exporting to, a remote ccHost instance<br />
* [[Google Summer of Code 2008|2008]]<br />
** SVG Fonts support<br />
** 2Geom refactoring project - port most geometry code to 2Geom<br />
** lib2geom: interactive applications showing off the power of lib2geom<br />
** Tech drawing abilities<br />
** A test suite<br />
* 2009<br />
** [[GSoC2009 Node Tool Rewrite|Node tool rewrite]]<br />
** D-Bus scripting API<br />
** Connector tool improvements<br />
** ICC/CMYK workflow<br />
* 2010<br />
** Cairo-based rendering<br />
** C++ification of SP Layer<br />
* 2011<br />
** Rendering caching<br />
** Javascript support improvements<br />
** CSS support improvements<br />
* 2012<br />
** Usibility Improvements for Guides<br />
** [[Tiling tool|On-canvas support for Tessellations]]<br />
** Creating python bindings for lib2geom<br />
* [[Google Summer of Code 2013|2013]]<br />
** Recolor Tool<br />
** Improved Units Support<br />
** Electronics CAD Support<br />
** New From Templates Dialog<br />
** New Raster to Vector Algorithm<br />
* 2014<br />
** Better Support for SVG Paints<br />
** Robust Boolean and Stroking Operations for 2Geom<br />
* 2016<br />
** [[GSoC 2016 Better data structure for selections|Better data structure for selections]]<br />
** [[Style Editor|CSS Style Sheet Editor]]<br />
* 2017<br />
** SVG 2 Text Support<br />
** Better CSS Style Sheet Support<br />
* 2019<br />
** Mesh gradient and hatches polyfills. Paint server dialog.<br />
* 2020<br />
** [https://gitlab.com/vanntile/inkscape-gsoc-2020 New dialog system.]<br />
** [https://gitlab.com/rathod-sahaab/gsoc-2020-inkscape Command palette dialog.]<br />
** Path operations.<br />
[[Category:Developer Documentation]]<br />
</div></div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Google_Summer_of_Code&diff=119270Google Summer of Code2021-01-24T14:03:11Z<p>Doctormo: /* Suggested Project Ideas */</p>
<hr />
<div><div style="max-width:70em; margin-left: auto; margin-right: auto"><br />
= Welcome to Inkscape! =<br />
<br />
For quite a few years Inkscape has been successfully participating in [http://code.google.com/soc/ Google Summer of Code].<br />
<br />
GSoC is a program where Google funds the development of specific features in open source software by university students. You don't need to be a Computer Science student to apply. Features to be developed are picked by Inkscape administrators from the pool of proposals submitted by students.<br />
<br />
We've mentored about half a dozen students a year since GSoC started. Many students enjoyed their work and continue to be involved; perhaps your mentor will be a past GSoC student! We have a high rate of acceptance of student code into the core codebase. Indeed, GSoC projects have been a key source of some of Inkscape's best features in the past several releases.<br />
<br />
If you are interested in joining us this summer, it is time to get your proposal ready. You can choose a proposal from our list of suggestions or come up with one of your own. In either either case, you '''must''' give us a detailed outline of what you plan to do. It is '''highly''' recommended that you discuss your idea as early as possible with Inkscape developers. They not only can give you guidance as you flesh out your proposal but ultimately you must convince them that you can do the work planned in the time allotted. '''If you have not discussed your proposal with Inkscape developers before you apply, your application will be rejected!'''<br />
<br />
= Student Applications =<br />
<br />
* Google program information:<br />
** [https://summerofcode.withgoogle.com/ Home page].<br />
** Summer of Code Application form. Applications open at 18:00 UTC on March 29th 2021.<br />
<br />
* Inkscape-specific information:<br />
** [[SOC Application Template]].<br />
** [[Roadmap | Inkscape Roadmap]] - to see our overall objectives.<br />
** [[Projects | Inkscape Development Project Ideas]] - broader list of development ideas.<br />
** [[SOC Writing Project Proposals]] - some guidelines for proposals.<br />
** [[SOC Selection Criteria]] - how we rate applications.<br />
<br />
'''Student Applications for GSoC 2021 must be submitted to the GSoC site by 18:00 UTC on April 13th 2021.'''<br />
<br />
= The "two patches" rule =<br />
<br />
We require two patches from each potential GSoC student, before accepting the student for GSoC participation (it is the same requirement as for obtaining rights to commit changes to the code repository).<br />
<br />
The reason for this requirement is that you can show us that you have succeeded in building Inkscape on your PC, and that you have understood a little piece of Inkscape's code and are able to improve it. <br />
Inkscape is a large project, and you really should not try to understand all the code. Many (all?) developers know only parts of the program code!<br />
You can join our [https://inkscape.org/community/discussion/ IRC] channel or [https://chat.inkscape.org/channel/team_devel Rocket Chat] and ask developers for help.<br />
<br />
== Suggested "easy" bug fixes or improvements ==<br />
<br />
To get you started on Inkscape development, you can find (probably) easy-to-fix bugs or small improvements that require very little knowledge of the whole program by searching our [https://gitlab.com/inkscape/inkscape/issues/ bug-tracker] for bugs tagged with 'easy-fix'.<br />
<br />
= Performance Evaluation =<br />
<br />
GSoC has two formal evaluation points, at the ''mid-term'' and at the end. These evaluations determine if you receive the stipend from Google. In order to receive a pass for the evaluations you will need to show adequate progress toward your project's goals.<br />
<br />
To help you meet your goals and so that your mentor can better evaluate your progress you need to:<br />
<br />
* Have frequent, public discussions of your progress. (Don't rely on just your mentor for advice.)<br />
* Have a public Inkscape branch for your code to which you commit regularly.<br />
* Give weekly status reports.<br />
<br />
For the final pass, you will normally be required to merge your code into Inkscape trunk.<br />
<br />
Remember: ''we want you to succeed!''<br />
<br />
= Suggested Project Ideas =<br />
<br />
The following is a list of formal project suggestions, but do not feel limited to only these - some of our best contributions have been unique ideas that students had in mind from other sources!<br />
<br />
See also [[Development Project Ideas]], [[Refactoring projects]], [[Projects]], and https://blueprints.launchpad.net/inkscape/<br />
<br />
==P1. Better CSS Style Sheet Support==<br />
<br />
Enhance Inkscape's support for CSS style sheets.<br />
<br />
* Estimation of difficulty: Moderately hard<br />
* Potential mentors: Tavmjong Bah<br />
* Programming skills needed: C++<br />
* Prerequisites: Experience with CSS style sheets.<br />
<br />
<u>Detailed Description</u><br />
<br />
Inkscape has basic support for CSS style sheets that can read and parse internal style sheets. A 2016 GSoC project added a simple style dialog that can create and modify the internal style sheet. The dialog is very limited and is not intuitive to use. A 2017 GSoC project added support for CSS 3 selectors. More work has been done recently, creating the ''Selectors and CSS'' dialog... This project will extend the usefulness of that dialog by making it more user friendly and by extending its functionality.<br />
<br />
<u>Use Cases</u><br />
<br />
* Support externally created SVGs.<br />
* Producing better SVGs for the Web.<br />
* Changing style on multiple objects at once (palettes).<br />
<br />
<u>Related Material</u><br />
<br />
* [https://www.w3.org/TR/CSS2/ CSS 2 Specification]<br />
* [https://www.w3.org/TR/css-2015/ CSS 2015 Snapshot]<br />
<br />
==P3. Slice items==<br />
[[File:Cuttool.png|200px|thumb|right|Example of result of the split using straight lines only]]<br />
Add slicing Live Path Effect (LPE)<br />
* Estimation of difficulty: Moderately hard<br />
* Potential mentors: Jabier Arraiza (Spanish, some English)<br />
* Programming skills needed: C++<br />
<br />
<u>Detailed Description</u><br /><br />
The goal is a LPE, to slice items.<br /><br />
It accept a path parameter (storing a path) as cutter.<br /><br />
The effect create pieces by the split path.<br /><br />
Can be added multiple times to add more splits.<br /><br />
We have the code of mirror symmetry LPE and rotate copies LPE as reference.<br /><br />
Also we can force or better ask to convert strokes to path previously to apply the effect (one line command, but we need advert is a destructive LPE)<br /><br />
Study generate a HTML image map definition.<br /><br />
<u>Use Cases</u><br />
* Better item slicing.<br />
* Create HTML image maps<br />
* Split a item and use for example on PNG export option export as separate objects.<br />
<br />
==P5. UI-Free Inkscape ==<br />
<br />
* Estimation of difficulty: Difficult<br />
* Potential mentors: Marc Jeanmougin<br />
* Programming skills: C++, CMake<br />
* Prerequisites: Minimal knowledge of build systems. Experience with GtkMM helpful.<br />
<br />
<u>Detailed Description</u><br />
Inkscape currently builds with X11 and gtk and a lot of graphical dependencies. But since it is allowed to run in commandline, and there are controlled environments (servers) that use it to convert svg to png and to perform actions, there should be no need to force it to build with those. The main goal of this project is to add a WITH_GUI compilation flag that when OFF, does *not* link Inkscape with any graphical dependency. While much work has been done towards this goal, much remains to be done. As a next step, Inkscape's "verbs" which are mostly GUI dependent (even if there is no reason to be) need to be converted to Gio::Actions.<br />
<br />
<br />
<u>Use cases</u><br />
* Server installs, scripts<br />
<br />
==P7. Tesseract OCR==<br />
<br />
* Estimation of difficulty: Easy<br />
* Potential mentors: unknown<br />
* Programming skills: C / C++, AI<br />
* Prerequisites: unknown<br />
<br />
<u>Detailed Description</u><br />
The Tesseract OCR library available here https://github.com/tesseract-ocr/tesseract gives the ability to detect text, lines, and other shapes within a document. This type of vectorisation is currently missing from Inkscape. Plenty of other open source and proprietary tools have made use of this library.<br />
<br />
<u>Use cases</u><br />
* User interface design, converting screenshots<br />
<br />
==P6. Refactoring==<br />
* Estimation of difficulty: Moderate<br />
* Potential mentors: Tavmjong Bah<br />
* Programming skills: C++<br />
* Prerequisites: proficient C++.<br />
<br />
<u>Detailed Description</u><br />
Inkscape began life as the C program Sodipodi. Sodipodi was mostly the work of one person who had a clear vision of how the code should work. A major motivation of the Inkscape fork was to allow others to easily contribute to development. This resulted in rapid development but at a cost: the code has become much messier and now lacks a clear vision. This project is to work on refactoring the code. Refactoring can take many forms. It could be creating a better directory structure with README's that describe the purpose and function of the code in each directory. This would include rewriting code to reduce dependencies across directories (which would help, for example, in achieving a headless version of Inkscape). It could be the continued transition from C to C++ which often results in major reductions in the number of code lines. Or it could be identifying and eliminating redundant code. Refactoring is an important skill of which many books have been written. Here's a chance to gain valuable experience!<br />
<br />
See https://wiki.inkscape.org/wiki/index.php/Refactoring_projects for some ideas of projects.<br />
<br />
==P8. Add Text and Image Support to Live Path Effect System ==<br />
* Estimation of difficulty: Hard<br />
* Potential mentors: Jabier Arraiza (Spanish, English(not native))<br />
* Programming skills: C++<br />
* Prerequisites: Experience managing bitmaps<br />
<u>Detailed Description</u><br />
Live Path Effects are non destructive effects applied to paths and shapes standalone or inside a group.<br /> <br />
This is done keepeng a reference to the original data to reaply when needed.<br /><br />
But ignore text and image elements.<br /><br />
Things to do:<br />
* Study add image, text, both and maybe others SVG elements to the LPE system.<br />
* Create/adapt minimun one LPE for each new type of element acepted as reference. Suggestion Perspective-Envelope.<br />
<u>Use cases</u><br />
* Apply live effects to images and text based in C++ code in a non destructive way even in groups with mixed elements types.<br />
<br />
==P9. Path Library Improvements ==<br />
* Estimation of difficulty: Hard<br />
* Potential mentors: Tavmjong Bah, KK<br />
* Programming skills: C++<br />
* Prerequisites: Strong math skills, specifically in geometry.<br />
<u>Detailed Description</u><br />
Inkscape relies on two geometry libraries for path manipulations: lib2geom and livarot. lib2geom is a generic modern library written specifically with Inkscape in mind. lib2geom is missing some functionality that Inkscape requires and that is found in livarot. This project is to move that functionality into lib2geom (or into separate files) using lib2geom path descriptions. A 2020 GSoC student did a significant amount of work understanding and documenting the issues involved. This project would be to build on his work.<br />
<br />
Specifically, the functionality needed is<br />
* Path offset/inset functions.<br />
* Path simplify.<br />
* Stroke to path function.<br />
* Line scanning (used for flowing text into a shape).<br />
<br />
==P10. Font Selection Improvements ==<br />
* Estimation of difficulty: Medium<br />
* Potential mentors: Tavmjong Bah, ??<br />
* Programming skills: C++<br />
* Prerequisites: Some knowledge of GTK.<br />
<u>Detailed Description</u><br />
Inkscape's ''Text toolbar'' and ''Text and Font dialog'' present the user with a long list of font family choices. Designers often have hundreds if not thousands of fonts on their system to choose from making the use of these lists difficult and time consuming (and generating font previews slows Inkscape down). This project is to add a ''Font Selection dialog'' where the user can create a list of "Document Fonts" (along with CSS fallbacks). Only these documents fonts will then be shown in the drop-down menus in the Inkscape's Text toolbar and Text and Font dialog. The ''Font Selection'' dialog should show the designer previews of all available fonts, provide "filtering" mechanisms, and allow easily moving fonts to and from the document font list. Interaction with Inkscape's ''UX'' team will be crucial. A bonus feature would be to allow the user to add @font-face rules (Inkscape has some support for these already but has no UX for them).<br />
<br />
==P11. Improvements to Paint Server Dialog ==<br />
<br />
* Estimation of difficulty: Easy to Medium<br />
* Potential mentors: ??<br />
* Programming skills: C++<br />
* Prerequisites: Some knowledge of GTK and CSS.<br />
<u>Detailed Description</u><br />
The ''Paint Server Dialog'' allows a user to visually select a pattern or hatch to use in painting the ''fill'' or ''stroke'' of an object. This project would be to expand the dialog to cover gradients, meshes, and solid colors as well as make other improvements to the dialog. Interaction with the Inkscape's ''UX'' team will be required.<br />
<br />
==Pxx. Your project ==<br />
* Estimation of difficulty: Variable<br />
* Potential mentors: Marc Jeanmougin<br />
* Programming skills: usually C++<br />
* Prerequisites: good ideas<br />
<br />
<u>Detailed Description</u><br />
The most successful GSoC we had in the past were students coming with their own past, use cases and ideas for Inkscape. Many basic tools like 3d cubes or connectors you can see in Inkscape now have been brought by brilliant people (like you) with ideas. If we think that your project fits with Inkscape (ie: has its place with a vector graphic editor), we can help you refining your ideas and help bring shiny new stuff to life!<br />
<br />
<u>Use cases</u><br />
* Amaze us!<br />
<br />
= Successful SOC Projects from Previous Years =<br />
* 2005<br />
** Connectors<br />
** Inkboard<br />
** [http://www.openclipart.org/ Open Clip Art Library (OCAL)] Interface<br />
** DXF Import / Export<br />
* [[Google Summer of Code 2006|2006]]<br />
** Support for SVG Filters<br />
** Filter Effects<br />
** PDF export<br />
** Inkboard Protocol Spec / Lib Conversion<br />
* [[Google Summer of Code 2007|2007]]<br />
** Text Style Improvements<br />
** PDF import<br />
** Live Path Effects<br />
** 3D Box Tool<br />
** UI for SVG Filter Effects<br />
** Raster Functionality<br />
** Importing from, and Exporting to, a remote ccHost instance<br />
* [[Google Summer of Code 2008|2008]]<br />
** SVG Fonts support<br />
** 2Geom refactoring project - port most geometry code to 2Geom<br />
** lib2geom: interactive applications showing off the power of lib2geom<br />
** Tech drawing abilities<br />
** A test suite<br />
* 2009<br />
** [[GSoC2009 Node Tool Rewrite|Node tool rewrite]]<br />
** D-Bus scripting API<br />
** Connector tool improvements<br />
** ICC/CMYK workflow<br />
* 2010<br />
** Cairo-based rendering<br />
** C++ification of SP Layer<br />
* 2011<br />
** Rendering caching<br />
** Javascript support improvements<br />
** CSS support improvements<br />
* 2012<br />
** Usibility Improvements for Guides<br />
** [[Tiling tool|On-canvas support for Tessellations]]<br />
** Creating python bindings for lib2geom<br />
* [[Google Summer of Code 2013|2013]]<br />
** Recolor Tool<br />
** Improved Units Support<br />
** Electronics CAD Support<br />
** New From Templates Dialog<br />
** New Raster to Vector Algorithm<br />
* 2014<br />
** Better Support for SVG Paints<br />
** Robust Boolean and Stroking Operations for 2Geom<br />
* 2016<br />
** [[GSoC 2016 Better data structure for selections|Better data structure for selections]]<br />
** [[Style Editor|CSS Style Sheet Editor]]<br />
* 2017<br />
** SVG 2 Text Support<br />
** Better CSS Style Sheet Support<br />
* 2019<br />
** Mesh gradient and hatches polyfills. Paint server dialog.<br />
* 2020<br />
** [https://gitlab.com/vanntile/inkscape-gsoc-2020 New dialog system.]<br />
** [https://gitlab.com/rathod-sahaab/gsoc-2020-inkscape Command palette dialog.]<br />
** Path operations.<br />
[[Category:Developer Documentation]]<br />
</div></div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Community_Development&diff=119047Community Development2020-11-06T16:59:56Z<p>Doctormo: </p>
<hr />
<div>'''<span style='font-size:larger;color:red'>Draft</span>'''<br />
<br />
== Book Campaign ==<br />
<br />
In the past, the Inkscape board has allocated funds to buy books for active developers. We plan on doing another book campaign, but this time opening it up to all members of the Inkscape community. There are two conditions for receiving a book:<br />
<br />
# You've been contributing to the Inkscape community for at least six months (and plan to continue!).<br />
# The book will aid your contributions.<br />
<br />
If you would like a book, please add your name to the following list:<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|-<br />
! Name<br />
! Active since<br />
! Book<br />
|-<br />
| Tav<br />
| 2007<br />
| C++17 (Josuttis)<br />
|-<br />
| You!<br />
| 201x<br />
| Making Inkscape Awesome!<br />
|}<br />
<br />
At a later point, we'll need your contact information to send you the book.<br />
<br />
Suggested books:<br />
* Community development<br />
** [https://www.amazon.com/Producing-Open-Source-Software-Successful/dp/0596007590 Producing Open Source Software (Fogel)]<br />
** [https://www.amazon.com/Forge-Your-Future-Open-Source/dp/1680503014 Forge Your Future with Open Source (Brasseur)]<br />
** ?<br />
* Website development<br />
** ?<br />
<br />
* Design<br />
**https://www.creativebloq.com/graphic-design/books-graphic-designers-11135231<br />
<br />
* UX<br />
**https://www.amazon.com/Design-Everyday-Things-Revised-Expanded/dp/0465050654<br />
**Don't Make Me Think (Krug)<br />
**https://www.amazon.com/Dont-Make-Think-Revisited-Usability/dp/0321965515/ <br />
**Gamestorming: A Playbook For Innovators, Rulebreakers, and Changemakers (Grey, Brown, Macanufo);<br />
<br />
* Developer development<br />
** [https://www.amazon.com/Expert-proficient-programmer-learning-practices/dp/1838552650 Expert C++ (Grigoryan, Wu)]<br />
** [https://www.amazon.com/C-17-Complete-Guide-First/dp/396730017X C++17 - The Complete Guide (Josuttis)]<br />
** [https://www.amazon.com/17-Detail-Exciting-Features-Standard/dp/1798834065 C++17 In Detail (Filipek)]<br />
** [https://www.amazon.com/Professional-C-Marc-Gregoire-dp-1119695406/dp/1119695406 Professional C++ (Gregoire)]<br />
** [https://www.amazon.com/Effective-Specific-Improve-Programs-Designs/dp/0321334876 Effective C++ 3rd Edition (Meyers)]<br />
** [https://www.amazon.com/Effective-Modern-Specific-Ways-Improve/dp/1491903996 Effective Modern C++ (Meyers)]<br />
** [https://www.amazon.com/Python-Crash-Course-2nd-Edition/dp/1593279280Python Crash Course (Matthes)]<br />
** ?</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Leadership_Committee_Status_Updates&diff=118985Leadership Committee Status Updates2020-10-01T15:58:19Z<p>Doctormo: /* Agenda */</p>
<hr />
<div>== Place and Time ==<br />
<br />
We meet in #inkscape-devel on [https://freenode.net/ freenode]. You can also join the [https://chat.inkscape.org/channel/team_devel #team-devel discussion channel on chat.inkscape.org] to partake in the meeting.<br />
<br />
Board meetings are typically the first Friday of each month.<br />
<br />
<em>Everybody in the Inkscape community is invited to participate.</em><br />
<br />
Next meeting: [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20201002T10&p1=202 10:00 PDT/17:00 UTC/19:00 CEST, (click for world clock)], Fri., Oct. 2, 2020. (Time is fixed to 10 AM Pacific Time.)<br />
<br />
Meetings should be announced in advance on [https://lists.inkscape.org/hyperkitty/list/inkscape-devel@lists.inkscape.org inkscape-devel] and [https://lists.inkscape.org/hyperkitty/list/inkscape-board@lists.inkscape.org inkscape-board] mailing lists.<br />
<br />
== Agenda ==<br />
<br />
* Apple developer membership status update (bryce)<br />
<br />
* Gitlab OSS program progress (MC)<br />
<br />
* Outreachy program report (Mc)<br />
<br />
* GSoC Mentor Summit? (Tav)<br />
<br />
* Developer meeting update (Mc)<br />
** How was 1.0.1?<br />
** Release date for 1.1<br />
<br />
* Community and developer development. (Tav)<br />
** [https://www.amazon.com/Producing-Open-Source-Software-Successful/dp/0596007590 Producing Open Source Software (Fogel)]<br />
** [https://www.amazon.com/Forge-Your-Future-Open-Source/dp/1680503014 Forge Your Future with Open Source (Brasseur)]<br />
** [https://www.amazon.com/C-17-Complete-Guide-First/dp/396730017X C++17 - The Complete Guide (Josuttis)]<br />
<br />
* Vectors update (ryangorley)<br />
<br />
* Board structure update(?) (ted)<br />
*:We've talked about board members have specific responsibilities. I (Tav) have tried to come up with a list of specific tasks.<br />
*# SFC Liaison<br />
*#* Communicate issues with SFC. Followup to ensure issues are addressed.<br />
*#* Report results of board votes to SFC.<br />
*# Treasurer<br />
*#* Prepare budget (yearly).<br />
*#* Prepare votes for budget items.<br />
*#* Monthly reports (one or two lines).<br />
*# Board Meeting Manager<br />
*#* Announce meetings.<br />
*#* Updates agenda with board member's input.<br />
*#* Posts minutes (if we switch to video meetings, keep notes).<br />
*# Community in-reach<br />
*#* Liaisons with various groups of Inkscape's internal community (developers, translators, etc.).<br />
*#* Hackfest coordinator (Aids hackfest organizers deal with logistics, SFC rules, etc.).<br />
*#* Developer development.<br />
*# Community out-reach<br />
*#* Development of greater community (e.g. users).<br />
*#* Monitors social media.<br />
*#* Vector's liaison.<br />
*# Fund raising<br />
*#* Looks for new sources of funding.<br />
*#* Co-ordinates with Vector's and others on funding campaigns.<br />
*# ?<br />
*: I (Tav) would volunteer for the treasurer role.<br />
*: I (Martin) would volunteer for the SFC Liaison role.<br />
<br />
* Budget<br />
<br />
== Deferred Agenda ==<br />
<br />
* Next Hackfest<br />
* Need someone to handle escalated complaints re CoC, since Krzysztof Kosiński has resigned. Hopefully someone with training or experience with conflict resolution or mediation. Not much time needed, probably would never happen, but need to be ready just in case. Currently it's vacant.<br />
<br />
== Board Meeting Transcripts == <br />
<br />
=== 2020 ===<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-03-06.log.html 2020-03-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-02-07.log.html 2020-02-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-01-03.log.html 2020-01-03]<br />
<br />
=== 2019 ===<br />
<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-12-06.log.html 2019-12-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-11-01.log.html 2019-11-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-10-04.log.html 2019-10-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-09-06.log.html 2019-09-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-08-03.log.html 2019-08-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-07-26.log.html 2019-07-26]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-07-12.log.html 2019-07-12]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-06-07.log.html 2019-06-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-05-03.log.html 2019-05-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-04-05.log.html 2019-04-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-03-01.log.html 2019-03-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-02-01.log.html 2019-02-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-01-04.log.html 2019-01-04]<br />
<br />
=== 2018 ===<br />
<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-12-07.log.html 2018-12-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-11-02.log.html 2018-11-02]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-10-05.log.html 2018-10-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-09-07.log.html 2018-09-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-08-03.log.html 2018-08-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-07-06.log.html 2018-07-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-06-01.log.html 2018-06-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-05-04.log.html 2018-05-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-04-06.log.html 2018-04-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/board_meeting_2018-03-02.html 2018-03-02]<br />
* [https://inkscape.org/gallery/item/12009/ 2018-02-02]<br />
* [https://inkscape.org/gallery/item/11875/ 2018-01-05]<br />
<br />
=== 2017 ===<br />
<br />
* [https://inkscape.org/paste/11743/ 2017-12-01]<br />
* [https://inkscape.org/paste/11651/ 2017-11-03]<br />
* [https://inkscape.org/gallery/item/11517/ 2017-10-06]<br />
* [https://inkscape.org/gallery/item/11377/ 2017-09-01]<br />
* [https://inkscape.org/gallery/item/11250/ 2017-08-04]<br />
* [https://inkscape.org/gallery/item/11176/ 2017-07-07]<br />
* [https://inkscape.org/gallery/item/11064/ 2017-06-02]<br />
* [https://inkscape.org/gallery/item/10844/ 2017-04-07]<br />
* [https://inkscape.org/gallery/item/10740/ 2017-03-03]<br />
* [https://inkscape.org/gallery/item/10651/ 2017-02-03]<br />
* [https://inkscape.org/gallery/item/10582/ 2017-01-06]<br />
<br />
=== 2016 ===<br />
<br />
* [https://inkscape.org/gallery/item/10484/ 2016-12-02]<br />
* [https://inkscape.org/gallery/item/10241/ 2016-11-04]<br />
* [https://inkscape.org/gallery/item/9971/ 2016-09-02]<br />
* [https://inkscape.org/gallery/item/9864/ 2016-08-05]<br />
* [https://inkscape.org/gallery/item/9766/ 2016-07-08]<br />
* [https://inkscape.org/gallery/item/9667/ 2016-06-03]<br />
* [https://inkscape.org/gallery/item/9563/ 2016-05-06]<br />
* [https://inkscape.org/gallery/item/9565/ 2016-04-01]<br />
<br />
* [https://inkscape.org/gallery/item/7276/ 2016-01-08]<br />
<br />
=== 2015 ===<br />
<br />
* [https://inkscape.org/gallery/item/7056/ 2015-12-04]<br />
* [https://inkscape.org/gallery/item/6886/ 2015-11-06]<br />
* [https://inkscape.org/gallery/item/6701/ 2015-10-02]<br />
<br />
=== 2014 ===<br />
<br />
* [https://inkscape.org/gallery/item/2498/ 2014-11-26]<br />
* [https://inkscape.org/gallery/item/2216/ 2014-11-19]<br />
* [https://inkscape.org/gallery/item/2210/ 2014-11-12]<br />
* [https://inkscape.org/gallery/item/2204/ 2014-11-05]<br />
* [https://inkscape.org/gallery/item/1436/ 2014-10-15]<br />
* [https://inkscape.org/gallery/item/950/ 2014-10-08]<br />
* [https://inkscape.org/gallery/item/854/ 2014-09-29]<br />
* [https://inkscape.org/gallery/item/392/ 2014-09-15]<br />
<br />
'''[https://inkscape.org/en/gallery/=pastebin/?q=meeting&order=-edited Website search for all transcripts]'''</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Leadership_Committee_Status_Updates&diff=118978Leadership Committee Status Updates2020-09-29T17:57:46Z<p>Doctormo: </p>
<hr />
<div>== Place and Time ==<br />
<br />
We meet in #inkscape-devel on [https://freenode.net/ freenode]. You can also join the [https://chat.inkscape.org/channel/team_devel #team-devel discussion channel on chat.inkscape.org] to partake in the meeting.<br />
<br />
Board meetings are typically the first Friday of each month.<br />
<br />
<em>Everybody in the Inkscape community is invited to participate.</em><br />
<br />
Next meeting: [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20201002T10&p1=202 10:00 PDT/17:00 UTC/19:00 CEST, (click for world clock)], Fri., Oct. 2, 2020. (Time is fixed to 10 AM Pacific Time.)<br />
<br />
Meetings should be announced in advance on [https://lists.inkscape.org/hyperkitty/list/inkscape-devel@lists.inkscape.org inkscape-devel] and [https://lists.inkscape.org/hyperkitty/list/inkscape-board@lists.inkscape.org inkscape-board] mailing lists.<br />
<br />
== Agenda ==<br />
<br />
* Apple developer membership status update (bryce)<br />
<br />
* Gitlab OSS program progress (ted)<br />
<br />
* What is the future of the Inkscape board<br />
** Start the process for membership review and elections. (Chris/tav)<br />
** Leadership: Responsibility of an active and available board. (doctormo)<br />
** More Regular checkins, 10 minute meetings to keep things moving (like the dev team) (Mc)<br />
** Board Jobs/structure; should board members have a defined role? (ted)<br />
<br />
* Outreachy program report (Mc)<br />
<br />
* GSoC Mentor Summit? (Tav)<br />
<br />
* Developer meeting update (Mc)<br />
** How was 1.0.1?<br />
** Release date for 1.1<br />
<br />
* Community and developer development. (Tav)<br />
** [https://www.amazon.com/Producing-Open-Source-Software-Successful/dp/0596007590 Producing Open Source Software (Fogel)]<br />
** [https://www.amazon.com/Forge-Your-Future-Open-Source/dp/1680503014 Forge Your Future with Open Source (Brasseur)]<br />
** [https://www.amazon.com/C-17-Complete-Guide-First/dp/396730017X C++17 - The Complete Guide (Josuttis)]<br />
<br />
* Vectors update (ryangorley)<br />
<br />
* Board structure update(?) (ted)<br />
<br />
== Deferred Agenda ==<br />
<br />
* Next Hackfest<br />
* Budget<br />
* Need someone to handle escalated complaints re CoC, since Krzysztof Kosiński has resigned. Hopefully someone with training or experience with conflict resolution or mediation. Not much time needed, probably would never happen, but need to be ready just in case. Currently it's vacant.<br />
<br />
== Board Meeting Transcripts == <br />
<br />
=== 2020 ===<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-03-06.log.html 2020-03-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-02-07.log.html 2020-02-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-01-03.log.html 2020-01-03]<br />
<br />
=== 2019 ===<br />
<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-12-06.log.html 2019-12-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-11-01.log.html 2019-11-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-10-04.log.html 2019-10-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-09-06.log.html 2019-09-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-08-03.log.html 2019-08-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-07-26.log.html 2019-07-26]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-07-12.log.html 2019-07-12]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-06-07.log.html 2019-06-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-05-03.log.html 2019-05-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-04-05.log.html 2019-04-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-03-01.log.html 2019-03-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-02-01.log.html 2019-02-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-01-04.log.html 2019-01-04]<br />
<br />
=== 2018 ===<br />
<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-12-07.log.html 2018-12-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-11-02.log.html 2018-11-02]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-10-05.log.html 2018-10-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-09-07.log.html 2018-09-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-08-03.log.html 2018-08-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-07-06.log.html 2018-07-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-06-01.log.html 2018-06-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-05-04.log.html 2018-05-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-04-06.log.html 2018-04-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/board_meeting_2018-03-02.html 2018-03-02]<br />
* [https://inkscape.org/gallery/item/12009/ 2018-02-02]<br />
* [https://inkscape.org/gallery/item/11875/ 2018-01-05]<br />
<br />
=== 2017 ===<br />
<br />
* [https://inkscape.org/paste/11743/ 2017-12-01]<br />
* [https://inkscape.org/paste/11651/ 2017-11-03]<br />
* [https://inkscape.org/gallery/item/11517/ 2017-10-06]<br />
* [https://inkscape.org/gallery/item/11377/ 2017-09-01]<br />
* [https://inkscape.org/gallery/item/11250/ 2017-08-04]<br />
* [https://inkscape.org/gallery/item/11176/ 2017-07-07]<br />
* [https://inkscape.org/gallery/item/11064/ 2017-06-02]<br />
* [https://inkscape.org/gallery/item/10844/ 2017-04-07]<br />
* [https://inkscape.org/gallery/item/10740/ 2017-03-03]<br />
* [https://inkscape.org/gallery/item/10651/ 2017-02-03]<br />
* [https://inkscape.org/gallery/item/10582/ 2017-01-06]<br />
<br />
=== 2016 ===<br />
<br />
* [https://inkscape.org/gallery/item/10484/ 2016-12-02]<br />
* [https://inkscape.org/gallery/item/10241/ 2016-11-04]<br />
* [https://inkscape.org/gallery/item/9971/ 2016-09-02]<br />
* [https://inkscape.org/gallery/item/9864/ 2016-08-05]<br />
* [https://inkscape.org/gallery/item/9766/ 2016-07-08]<br />
* [https://inkscape.org/gallery/item/9667/ 2016-06-03]<br />
* [https://inkscape.org/gallery/item/9563/ 2016-05-06]<br />
* [https://inkscape.org/gallery/item/9565/ 2016-04-01]<br />
<br />
* [https://inkscape.org/gallery/item/7276/ 2016-01-08]<br />
<br />
=== 2015 ===<br />
<br />
* [https://inkscape.org/gallery/item/7056/ 2015-12-04]<br />
* [https://inkscape.org/gallery/item/6886/ 2015-11-06]<br />
* [https://inkscape.org/gallery/item/6701/ 2015-10-02]<br />
<br />
=== 2014 ===<br />
<br />
* [https://inkscape.org/gallery/item/2498/ 2014-11-26]<br />
* [https://inkscape.org/gallery/item/2216/ 2014-11-19]<br />
* [https://inkscape.org/gallery/item/2210/ 2014-11-12]<br />
* [https://inkscape.org/gallery/item/2204/ 2014-11-05]<br />
* [https://inkscape.org/gallery/item/1436/ 2014-10-15]<br />
* [https://inkscape.org/gallery/item/950/ 2014-10-08]<br />
* [https://inkscape.org/gallery/item/854/ 2014-09-29]<br />
* [https://inkscape.org/gallery/item/392/ 2014-09-15]<br />
<br />
'''[https://inkscape.org/en/gallery/=pastebin/?q=meeting&order=-edited Website search for all transcripts]'''</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Leadership_Committee_Status_Updates&diff=118977Leadership Committee Status Updates2020-09-29T16:56:28Z<p>Doctormo: /* Agenda */</p>
<hr />
<div>== Place and Time ==<br />
<br />
We meet in #inkscape-devel on [https://freenode.net/ freenode]. You can also join the [https://chat.inkscape.org/channel/team_devel #team-devel discussion channel on chat.inkscape.org] to partake in the meeting.<br />
<br />
Board meetings are typically the first Friday of each month.<br />
<br />
<em>Everybody in the Inkscape community is invited to participate.</em><br />
<br />
Next meeting: [https://www.timeanddate.com/worldclock/fixedtime.html?iso=20201002T10&p1=202 10:00 PDT/17:00 UTC/19:00 CEST, (click for world clock)], Fri., Oct. 2, 2020. (Time is fixed to 10 AM Pacific Time.)<br />
<br />
Meetings should be announced in advance on [https://lists.inkscape.org/hyperkitty/list/inkscape-devel@lists.inkscape.org inkscape-devel] and [https://lists.inkscape.org/hyperkitty/list/inkscape-board@lists.inkscape.org inkscape-board] mailing lists.<br />
<br />
== Agenda ==<br />
<br />
* Apple developer membership status update (bryce)<br />
<br />
* Gitlab OSS program progress (ted)<br />
<br />
* What is the future of the Inkscape board<br />
** Inactive board members: start the process for membership review and elections. (Chris/tav)<br />
** Leadership: Responsibility of an active and available board. (doctormo)<br />
** More Regular checkins, 10 minute meetings to keep things moving (like the dev team) (Mc)<br />
** Board Jobs/structure; should board members have a defined role? (ted)<br />
<br />
* Outreachy program report (Mc)<br />
<br />
* GSoC Mentor Summit? (Tav)<br />
<br />
* Developer meeting update (Mc)<br />
** How was 1.0.1?<br />
** Release date for 1.1<br />
<br />
* Community and developer development. (Tav)<br />
** [https://www.amazon.com/Producing-Open-Source-Software-Successful/dp/0596007590 Producing Open Source Software (Fogel)]<br />
** [https://www.amazon.com/Forge-Your-Future-Open-Source/dp/1680503014 Forge Your Future with Open Source (Brasseur)]<br />
** [https://www.amazon.com/C-17-Complete-Guide-First/dp/396730017X C++17 - The Complete Guide (Josuttis)]<br />
<br />
* Vectors update (ryangorley)<br />
<br />
* Board structure update(?) (ted)<br />
<br />
== Deferred Agenda ==<br />
<br />
* Next Hackfest<br />
* Budget<br />
* Need someone to handle escalated complaints re CoC, since Krzysztof Kosiński has resigned. Hopefully someone with training or experience with conflict resolution or mediation. Not much time needed, probably would never happen, but need to be ready just in case. Currently it's vacant.<br />
<br />
== Board Meeting Transcripts == <br />
<br />
=== 2020 ===<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-03-06.log.html 2020-03-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-02-07.log.html 2020-02-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2020-01-03.log.html 2020-01-03]<br />
<br />
=== 2019 ===<br />
<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-12-06.log.html 2019-12-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-11-01.log.html 2019-11-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-10-04.log.html 2019-10-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-09-06.log.html 2019-09-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-08-03.log.html 2019-08-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-07-26.log.html 2019-07-26]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-07-12.log.html 2019-07-12]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-06-07.log.html 2019-06-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-05-03.log.html 2019-05-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-04-05.log.html 2019-04-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-03-01.log.html 2019-03-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-02-01.log.html 2019-02-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2019-01-04.log.html 2019-01-04]<br />
<br />
=== 2018 ===<br />
<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-12-07.log.html 2018-12-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-11-02.log.html 2018-11-02]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-10-05.log.html 2018-10-05]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-09-07.log.html 2018-09-07]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-08-03.log.html 2018-08-03]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-07-06.log.html 2018-07-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-06-01.log.html 2018-06-01]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-05-04.log.html 2018-05-04]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/2018-04-06.log.html 2018-04-06]<br />
* [https://alpha.inkscape.org/board/meetings/transcripts/board_meeting_2018-03-02.html 2018-03-02]<br />
* [https://inkscape.org/gallery/item/12009/ 2018-02-02]<br />
* [https://inkscape.org/gallery/item/11875/ 2018-01-05]<br />
<br />
=== 2017 ===<br />
<br />
* [https://inkscape.org/paste/11743/ 2017-12-01]<br />
* [https://inkscape.org/paste/11651/ 2017-11-03]<br />
* [https://inkscape.org/gallery/item/11517/ 2017-10-06]<br />
* [https://inkscape.org/gallery/item/11377/ 2017-09-01]<br />
* [https://inkscape.org/gallery/item/11250/ 2017-08-04]<br />
* [https://inkscape.org/gallery/item/11176/ 2017-07-07]<br />
* [https://inkscape.org/gallery/item/11064/ 2017-06-02]<br />
* [https://inkscape.org/gallery/item/10844/ 2017-04-07]<br />
* [https://inkscape.org/gallery/item/10740/ 2017-03-03]<br />
* [https://inkscape.org/gallery/item/10651/ 2017-02-03]<br />
* [https://inkscape.org/gallery/item/10582/ 2017-01-06]<br />
<br />
=== 2016 ===<br />
<br />
* [https://inkscape.org/gallery/item/10484/ 2016-12-02]<br />
* [https://inkscape.org/gallery/item/10241/ 2016-11-04]<br />
* [https://inkscape.org/gallery/item/9971/ 2016-09-02]<br />
* [https://inkscape.org/gallery/item/9864/ 2016-08-05]<br />
* [https://inkscape.org/gallery/item/9766/ 2016-07-08]<br />
* [https://inkscape.org/gallery/item/9667/ 2016-06-03]<br />
* [https://inkscape.org/gallery/item/9563/ 2016-05-06]<br />
* [https://inkscape.org/gallery/item/9565/ 2016-04-01]<br />
<br />
* [https://inkscape.org/gallery/item/7276/ 2016-01-08]<br />
<br />
=== 2015 ===<br />
<br />
* [https://inkscape.org/gallery/item/7056/ 2015-12-04]<br />
* [https://inkscape.org/gallery/item/6886/ 2015-11-06]<br />
* [https://inkscape.org/gallery/item/6701/ 2015-10-02]<br />
<br />
=== 2014 ===<br />
<br />
* [https://inkscape.org/gallery/item/2498/ 2014-11-26]<br />
* [https://inkscape.org/gallery/item/2216/ 2014-11-19]<br />
* [https://inkscape.org/gallery/item/2210/ 2014-11-12]<br />
* [https://inkscape.org/gallery/item/2204/ 2014-11-05]<br />
* [https://inkscape.org/gallery/item/1436/ 2014-10-15]<br />
* [https://inkscape.org/gallery/item/950/ 2014-10-08]<br />
* [https://inkscape.org/gallery/item/854/ 2014-09-29]<br />
* [https://inkscape.org/gallery/item/392/ 2014-09-15]<br />
<br />
'''[https://inkscape.org/en/gallery/=pastebin/?q=meeting&order=-edited Website search for all transcripts]'''</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2020_Online&diff=118565Hackfest2020 Online2020-07-07T10:55:45Z<p>Doctormo: </p>
<hr />
<div><br />
This page details the planning of Inkscape's Summer 2020 online hackfest. It is focused on features and future plans for 1.1 and beyond.<br />
<br />
Old: [[Hackfest2020 Rennes]] [[Hackfest2019 Saarbrücken]], [[Hackfest2019 SCALE]], [[Hackfest2018 Kiel]], [[Hackfest2018 LGM]], [[Hackfest2018]], [[Hackfest2017]], [[Hackfest2016]], [[Hackfest2015]].<br />
<br />
== The Summer of Hackfest 2020 ==<br />
<br />
<big>[https://digimedia1.r2.enst.fr/b/vec-tz3-fi9 Join Hackfest Now! (Video Chat)]</big><br />
<br />
[[File:Hackfest 2020 p15.png|thumb]]<br />
<br />
The Summer of Hackfest is an online video hackfest which happens for six Saturdays for six hours. You are invited to join Big Blue Button at any time during the hackfest, although each day will have a single meeting as 4PM UTC the rest of the day will be chatting and an easy activity that any new contributor can come and learn.<br />
<br />
The host [Martin Owens] will be in the video chat for the time of the distributed conference but will be joined by meeting hosts for the specific topics. If you are already in one of the teams, please do come along and chat will the whole community about the area for that day. Participants are not required to come every week, or attend for the whole time. (But it will be so much fun if you do)!<br />
<br />
== Schedule ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Saturday !! Team !! Meetings (16:00UTC) !! Meeting Host !! Activity (14-16/17-20:00 UTC) !! RSVP<br />
|-<br />
| July 11th || Board || '''Meeting the board''' || Bryce Harrington || Invite people, join a team, organise! || 6<br />
|-<br />
| July 18th || UX || '''User Experience Priorities''' || Adam Belis || Papercuts Hunt || 8<br />
|-<br />
| July 25th || Developers || '''Technical discussions''' || Thomas Holder || Peer code review of existing merge requests || 9<br />
|-<br />
| August 1st || Vectors || '''Vector's 2.0''' || Ryan Gorley || TBD || 7<br />
|-<br />
| August 8th || Mentors || '''Google summer of Code showcase''' || Tavmjong Bah || TBD || 6<br />
|-<br />
| August 15th || Testers || '''Bug Management''' || Nathan Lee || Test a bug and report back || 6<br />
|}<br />
<br />
== Meetings ==<br />
<br />
There is one meeting each of the days. The meeting is lead by a team leader and will go into the specific discussions the team wishes to have.<br />
<br />
* '''Meet the board''' - Several people have expressed a great desire to have the whole board introduce themselves, explain what the board does, and discuss board related topics to people who are new in the project.<br />
* '''Technical discussions''' - A time to talk about code, code quality, code maintenance, testing and other technical issues.<br />
* '''User Experience Priorities''' - Can we work out what the top tasks are for improving Inkscape User experience and design are for Inkscape 1.1?<br />
* '''Google summer of Code showcase''' - A live show case of google summer of code projects. See how things are going and talk about being a new Inkscape coder.<br />
* '''Vector's 2.0''' - See the presentation of the vectors team talk about how we take Inkscape communication forwards.<br />
* '''Bug Management''' - How are we managing our bugs and are we doing them the right way.<br />
<br />
== Activities ==<br />
<br />
Activities are small things that new contributors and contributors from other parts of the project can engage in over the course of the hackfest video conference.<br />
<br />
* '''Invite people, join a team, organise!''' - Invite new people to come talk about the future of Inkscape using your social media. Then get people to join specific teams and talk about how different teams should be organised. Website teams will be used throughout the day and people will be encouraged to talk about what team's responsibilities should be.<br />
* '''Papercuts Hunt''' - UX is not just about designing new features, plenty of Inkscape's features need small modifications to make them easier to use, or for users to understand how they are supposed to work. These small aggravations are called "papercuts". Going through Inkscape and finding them so we can make a list of all the small ways Inkscape can be polished up.<br />
* '''Peer code review of existing merge requests''' - Lets look at some of the merge requests together, learn some interesting programming and sharpen our skills throughout the day.<br />
* '''Test a bug and report back''' - Never tested a bug before? Let's do it together! Find old bugs, see if they're still a problem and learn how to tag issues with the right tags.<br />
<br />
==Facilities==<br />
<br />
The proposed venue is "The Big Blue Button" offered by Marc, details about capacity, features and so forth to follow.<br />
<br />
[[Category:Hackfest]]</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2020_Online&diff=118564Hackfest2020 Online2020-07-07T10:43:43Z<p>Doctormo: </p>
<hr />
<div><br />
This page details the planning of Inkscape's Summer 2020 online hackfest. It is focused on features and future plans for 1.1 and beyond.<br />
<br />
Other pages: [[Hackfest2020 Online Topics]], [[Hackfest2020 Online Attendees]].<br />
<br />
Old: [[Hackfest2020 Rennes]] [[Hackfest2019 Saarbrücken]], [[Hackfest2019 SCALE]], [[Hackfest2018 Kiel]], [[Hackfest2018 LGM]], [[Hackfest2018]], [[Hackfest2017]], [[Hackfest2016]], [[Hackfest2015]].<br />
<br />
== The Summer of Hackfest 2020 ==<br />
<br />
<big>[https://digimedia1.r2.enst.fr/b/vec-tz3-fi9 Join Hackfest Now! (Video Chat)]</big><br />
<br />
[[File:Hackfest 2020 p15.png|thumb]]<br />
<br />
The Summer of Hackfest is an online video hackfest which happens for six Saturdays for six hours. You are invited to join Big Blue Button at any time during the hackfest, although each day will have a single meeting as 4PM UTC the rest of the day will be chatting and an easy activity that any new contributor can come and learn.<br />
<br />
The host [Martin Owens] will be in the video chat for the time of the distributed conference but will be joined by meeting hosts for the specific topics. If you are already in one of the teams, please do come along and chat will the whole community about the area for that day. Participants are not required to come every week, or attend for the whole time. (But it will be so much fun if you do)!<br />
<br />
== Schedule ==<br />
<br />
{| class="wikitable"<br />
|-<br />
! Saturday !! Team !! Meetings (16:00UTC) !! Meeting Host !! Activity (14-16/17-20:00 UTC) !! RSVP<br />
|-<br />
| July 11th || Board || '''Meeting the board''' || Bryce Harrington || Invite people, join a team, organise! || 6<br />
|-<br />
| July 18th || UX || '''User Experience Priorities''' || Adam Belis || Papercuts Hunt || 8<br />
|-<br />
| July 25th || Developers || '''Technical discussions''' || Thomas Holder || Peer code review of existing merge requests || 9<br />
|-<br />
| August 1st || Vectors || '''Vector's 2.0''' || Ryan Gorley || TBD || 7<br />
|-<br />
| August 8th || Mentors || '''Google summer of Code showcase''' || Tavmjong Bah || TBD || 6<br />
|-<br />
| August 15th || Testers || '''Bug Management''' || Nathan Lee || Test a bug and report back || 6<br />
|}<br />
<br />
== Meetings ==<br />
<br />
There is one meeting each of the days. The meeting is lead by a team leader and will go into the specific discussions the team wishes to have.<br />
<br />
* '''Meet the board''' - Several people have expressed a great desire to have the whole board introduce themselves, explain what the board does, and discuss board related topics to people who are new in the project.<br />
* '''Technical discussions''' - A time to talk about code, code quality, code maintenance, testing and other technical issues.<br />
* '''User Experience Priorities''' - Can we work out what the top tasks are for improving Inkscape User experience and design are for Inkscape 1.1?<br />
* '''Google summer of Code showcase''' - A live show case of google summer of code projects. See how things are going and talk about being a new Inkscape coder.<br />
* '''Vector's 2.0''' - See the presentation of the vectors team talk about how we take Inkscape communication forwards.<br />
* '''Bug Management''' - How are we managing our bugs and are we doing them the right way.<br />
<br />
== Activities ==<br />
<br />
Activities are small things that new contributors and contributors from other parts of the project can engage in over the course of the hackfest video conference.<br />
<br />
* '''Invite people, join a team, organise!''' - Invite new people to come talk about the future of Inkscape using your social media. Then get people to join specific teams and talk about how different teams should be organised. Website teams will be used throughout the day and people will be encouraged to talk about what team's responsibilities should be.<br />
* '''Papercuts Hunt''' - UX is not just about designing new features, plenty of Inkscape's features need small modifications to make them easier to use, or for users to understand how they are supposed to work. These small aggravations are called "papercuts". Going through Inkscape and finding them so we can make a list of all the small ways Inkscape can be polished up.<br />
* '''Peer code review of existing merge requests''' - Lets look at some of the merge requests together, learn some interesting programming and sharpen our skills throughout the day.<br />
* '''Test a bug and report back''' - Never tested a bug before? Let's do it together! Find old bugs, see if they're still a problem and learn how to tag issues with the right tags.<br />
<br />
==Facilities==<br />
<br />
The proposed venue is "The Big Blue Button" offered by Marc, details about capacity, features and so forth to follow.<br />
<br />
[[Category:Hackfest]]</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=File:Hackfest_2020_p15.png&diff=118563File:Hackfest 2020 p15.png2020-07-07T09:35:14Z<p>Doctormo: </p>
<hr />
<div>Hackfest summer 2020 logo</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.1&diff=118560Release notes/1.12020-06-30T04:57:51Z<p>Doctormo: /* Connector Tool */</p>
<hr />
<div>{{Other languages | en = {{FULLPAGENAME}}}}<br />
<br />
== Release highlights ==<br />
<br />
'''Definitely not released yet.'''<br />
<br />
Inkscape 1.1 is a stability and bugfix release. <br />
<br />
[For changes made even before the 1.0 release that aren't in 1.0, try to find out if the checked and not stroked ones here: https://gitlab.com/inkscape/inkscape/-/issues/1030 have really not been cherrypicked]<br />
<br />
The most notable improvements are: <br />
<br />
* Fill in<br />
<br />
== Important changes ==<br />
<br />
=== For packagers ===<br />
<br />
* We no longer depend on GtkSpell and ASpell but on GSpell for spell checking.<br />
* lib2geom has been moved into its own git submodule (like the extensions).<br />
<br />
== Improvements ==<br />
<br />
* In Edit > Preferences > Imported images : Import, there is a new option that allows you to disable relative paths to linked files ("Store absolute file path for linked images", active by default).<br />
* [https://en.wikipedia.org/wiki/XInclude XInclude] support (see [https://gitlab.com/inkscape/inkscape/-/merge_requests/1150 !1150]) ''TODO: Move to a "technical" or "advanced" section?''<br />
* Hidden dialogs stop receiving signals and release resources<br />
* Shell mode: a history of commands is now remembered and can be accessed with the up and down arrow keys. [Tab ... autocompletion?]<br />
* Recognize layers in SVG files exported from CorelDraw (see [https://gitlab.com/inkscape/inkscape/-/merge_requests/2046 !2046])<br />
<br />
=== Connector Tool ===<br />
<br />
New sub-point connections for clones and groups, allowing users to use Inkscape to connect diagrams together like in other drafting tools:<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Sub connector points.gif|New sub-connector points<br />
</gallery><br />
<br />
=== General User Interface ===<br />
<br />
* Dock layouts are now saved in an xml file (<code>docklayout.xml</code>) in the user preferences directory, making them transferable.<br />
* The legacy gradient editor (a dialog that could previously be enabled in the preferences for the gradient tool) has been removed.<br />
<br />
=== Canvas ===<br />
==== Rotation lock ====<br />
<br />
A new menu item has been added to allow the user to prevent the rotation of the canvas with key bindings commonly associated with zooming in other applications. This setting can be toggled on a per-window basis. In addition, a new preference option has been added to allow users to set the mode to be on when a new window is opened.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Canvas rotation lock toggle.png|New "Rotation lock" menu item<br />
File:Default rotation lock toggle.png|Configuration option to lock the rotation by default<br />
</gallery><br />
<br />
=== Live Path Effects ===<br />
<br />
==== Automatic fill preservation for Path Effects ====<br />
<br />
LPEs which render strokes as fills (<code>Join Type</code>, <code>Power Stroke</code>, and <code>Taper Stroke</code>) have been modified to automatically preserve the previous fill by creating a linked path when applied to an object.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Sadchrys original drawing with fill.png|Original drawing<br />
File:Sadchrys after applying LPE previous versions.png|Previous versions of Inkscape would preserve the stroke settings but remove the fill when applied.<br />
File:Sadchrys after applying LPE 1.1 original path.png|Now, Inkscape will automatically preserve the fill by creating a linked path underneath.<br />
File:Sadchrys after applying LPE 1.1 linked fill.png|LPE options for the linked fill<br />
</gallery><br />
<br />
==== Taper Stroke LPE improved ====<br />
<br />
The Taper stroke LPE has been updated to include taper direction options (allowing the taper to run to one side of the path, instead of to the middle) and smoothing options for both ends of the path, allowing more interesting paths to be made in the effect. In addition, using the keybind '''Shift+click''' on the on-canvas knots allows quickly alternating between the different possible taper shapes.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Taper stroke direction control.png|Direction control options<br />
File:Taper stroke new parameter list.png|New parameter list<br />
</gallery><br />
<br />
==== New shortcut for Fill between many LPE ====<br />
<br />
A new shortcut has been added under the Path menu to automatically create a linked fill path using the '''Fill between many''' path effect. The effect is created beneath the selected paths and automatically selected to faciliate moving the path into the correct z-order and styling it as intended. For greater efficiency, the shortcut can also be bound to a hotkey using the '''Preferences''' dialog.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Fill between many shortcut menuitem.png|Previously, using this effect required tediously copying every path to the clipboard and pasting it into the parameter list of a new path.<br />
File:Fill between many result.png|Now, Inkscape can perform this task automatically, without any tedium.<br />
</gallery><br />
<br />
<br />
=== Extensions ===<br />
<br />
A new extension allows to directly save as a PDF through Scribus, if Scribus 1.5+ is found in the path. This should allow to produce a color-managed PDF if the SVG is color-managed.<br />
<br />
<br />
<!-- == Regression fixes ==<br />
<br />
* ... --><br />
<br />
== Notable bugfixes ==<br />
<br />
* Dragging connected objects now does not leave the connections behind until dragging concludes. Instead lines follow drag smoothly.<br />
<br />
== Breaking changes / Action required ==<br />
<br />
=== Extensions ===<br />
<br />
Element selections API has been improved, the API in 10 of using `self.svg.selected` is deprecated in favour of the new `self.svg.selection` interface. The previous API will continue to work for the time being but should be updated to the new API. Selection is now a type of ElementList which provides filtering, ordering and other generalised functionality, if you need an element list for example to make a bounding box, this is the way to do it.<br />
<br />
== Crash fixes ==<br />
<br />
Fix a crash &hellip;<br />
* &hellip; when ... ([https://gitlab.com/inkscape/inkscape/-/issues/ #number])<br />
<br />
== More bug fixes ==<br />
<br />
There were even more issues fixed than those listed above, but these probably only affect a small portion of users, or are relevant for development and packaging only.<br />
<br />
For a complete list, visit [https://gitlab.com/inkscape/inkscape/-/milestones/2 our GitLab issue tracker] and see the [https://gitlab.com/inkscape/inkscape/-/commits/1.0.x commit history] (all changes since DATE until release date).<br />
<br />
== Translations ==<br />
<br />
The following UI translations received updates:<br />
<br />
* Language<br />
<br />
The following documentation translations received updates:<br />
<br />
* Language<br />
<br />
=== Contributing to interface translations ===<br />
<br />
Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]<br />
<br />
== Documentation ==<br />
<br />
* Some missing options were added to the man page (command line help)<br />
* Some missing keyboard shortcuts were added to the keyboard shortcut reference<br />
<br />
=== Contributing to documentation and documentation translation ===<br />
Contributions to the documentation translations, as well as improvements to its contents, are welcome at [https://gitlab.com/inkscape/inkscape-docs/documentation the inkscape-docs repository].<br />
<br />
== Known issues ==<br />
<br />
* Fill in<br />
* Many of Inkscape's old bug reports still need to be [https://alpha.inkscape.org/bug-migration/ tested and migrated to the new bug and feature request reporting page]. While some progress has already been made, we still need your help with that task.<br />
* All (migrated and new) open issues for the project are listed on [https://gitlab.com/groups/inkscape/-/issues GitLab]. If you have some time on your hands and can help fixing them, [https://chat.inkscape.org/channel/team_devel join us in the development chat] and let us tackle them together.<br />
<br />
== Previous releases ==<br />
* [[Release notes/0.92]]<br />
* [[Release notes/0.92.1]]<br />
* [[Release notes/0.92.2]]<br />
* [[Release notes/0.92.3]]<br />
* [[Release notes/0.92.4]]<br />
* [[Release notes/0.92.5]]<br />
* [[Release notes/1.0]]</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=File:Sub_connector_points.gif&diff=118559File:Sub connector points.gif2020-06-30T04:57:29Z<p>Doctormo: </p>
<hr />
<div>New sub-connector points in connector tool</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.1&diff=118558Release notes/1.12020-06-30T04:56:51Z<p>Doctormo: /* Improvements */</p>
<hr />
<div>{{Other languages | en = {{FULLPAGENAME}}}}<br />
<br />
== Release highlights ==<br />
<br />
'''Definitely not released yet.'''<br />
<br />
Inkscape 1.1 is a stability and bugfix release. <br />
<br />
[For changes made even before the 1.0 release that aren't in 1.0, try to find out if the checked and not stroked ones here: https://gitlab.com/inkscape/inkscape/-/issues/1030 have really not been cherrypicked]<br />
<br />
The most notable improvements are: <br />
<br />
* Fill in<br />
<br />
== Important changes ==<br />
<br />
=== For packagers ===<br />
<br />
* We no longer depend on GtkSpell and ASpell but on GSpell for spell checking.<br />
* lib2geom has been moved into its own git submodule (like the extensions).<br />
<br />
== Improvements ==<br />
<br />
* In Edit > Preferences > Imported images : Import, there is a new option that allows you to disable relative paths to linked files ("Store absolute file path for linked images", active by default).<br />
* [https://en.wikipedia.org/wiki/XInclude XInclude] support (see [https://gitlab.com/inkscape/inkscape/-/merge_requests/1150 !1150]) ''TODO: Move to a "technical" or "advanced" section?''<br />
* Hidden dialogs stop receiving signals and release resources<br />
* Shell mode: a history of commands is now remembered and can be accessed with the up and down arrow keys. [Tab ... autocompletion?]<br />
* Recognize layers in SVG files exported from CorelDraw (see [https://gitlab.com/inkscape/inkscape/-/merge_requests/2046 !2046])<br />
<br />
=== Connector Tool ===<br />
<br />
New sub-point connections for clones and groups, allowing users to use Inkscape to connect diagrams together like in other drafting tools:<br />
<br />
<gallery mode="packed" heights=250px><br />
File:sub_connector_points_1.1.gif|New sub-connector points<br />
</gallery><br />
<br />
=== General User Interface ===<br />
<br />
* Dock layouts are now saved in an xml file (<code>docklayout.xml</code>) in the user preferences directory, making them transferable.<br />
* The legacy gradient editor (a dialog that could previously be enabled in the preferences for the gradient tool) has been removed.<br />
<br />
=== Canvas ===<br />
==== Rotation lock ====<br />
<br />
A new menu item has been added to allow the user to prevent the rotation of the canvas with key bindings commonly associated with zooming in other applications. This setting can be toggled on a per-window basis. In addition, a new preference option has been added to allow users to set the mode to be on when a new window is opened.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Canvas rotation lock toggle.png|New "Rotation lock" menu item<br />
File:Default rotation lock toggle.png|Configuration option to lock the rotation by default<br />
</gallery><br />
<br />
=== Live Path Effects ===<br />
<br />
==== Automatic fill preservation for Path Effects ====<br />
<br />
LPEs which render strokes as fills (<code>Join Type</code>, <code>Power Stroke</code>, and <code>Taper Stroke</code>) have been modified to automatically preserve the previous fill by creating a linked path when applied to an object.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Sadchrys original drawing with fill.png|Original drawing<br />
File:Sadchrys after applying LPE previous versions.png|Previous versions of Inkscape would preserve the stroke settings but remove the fill when applied.<br />
File:Sadchrys after applying LPE 1.1 original path.png|Now, Inkscape will automatically preserve the fill by creating a linked path underneath.<br />
File:Sadchrys after applying LPE 1.1 linked fill.png|LPE options for the linked fill<br />
</gallery><br />
<br />
==== Taper Stroke LPE improved ====<br />
<br />
The Taper stroke LPE has been updated to include taper direction options (allowing the taper to run to one side of the path, instead of to the middle) and smoothing options for both ends of the path, allowing more interesting paths to be made in the effect. In addition, using the keybind '''Shift+click''' on the on-canvas knots allows quickly alternating between the different possible taper shapes.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Taper stroke direction control.png|Direction control options<br />
File:Taper stroke new parameter list.png|New parameter list<br />
</gallery><br />
<br />
==== New shortcut for Fill between many LPE ====<br />
<br />
A new shortcut has been added under the Path menu to automatically create a linked fill path using the '''Fill between many''' path effect. The effect is created beneath the selected paths and automatically selected to faciliate moving the path into the correct z-order and styling it as intended. For greater efficiency, the shortcut can also be bound to a hotkey using the '''Preferences''' dialog.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Fill between many shortcut menuitem.png|Previously, using this effect required tediously copying every path to the clipboard and pasting it into the parameter list of a new path.<br />
File:Fill between many result.png|Now, Inkscape can perform this task automatically, without any tedium.<br />
</gallery><br />
<br />
<br />
=== Extensions ===<br />
<br />
A new extension allows to directly save as a PDF through Scribus, if Scribus 1.5+ is found in the path. This should allow to produce a color-managed PDF if the SVG is color-managed.<br />
<br />
<br />
<!-- == Regression fixes ==<br />
<br />
* ... --><br />
<br />
== Notable bugfixes ==<br />
<br />
* Dragging connected objects now does not leave the connections behind until dragging concludes. Instead lines follow drag smoothly.<br />
<br />
== Breaking changes / Action required ==<br />
<br />
=== Extensions ===<br />
<br />
Element selections API has been improved, the API in 10 of using `self.svg.selected` is deprecated in favour of the new `self.svg.selection` interface. The previous API will continue to work for the time being but should be updated to the new API. Selection is now a type of ElementList which provides filtering, ordering and other generalised functionality, if you need an element list for example to make a bounding box, this is the way to do it.<br />
<br />
== Crash fixes ==<br />
<br />
Fix a crash &hellip;<br />
* &hellip; when ... ([https://gitlab.com/inkscape/inkscape/-/issues/ #number])<br />
<br />
== More bug fixes ==<br />
<br />
There were even more issues fixed than those listed above, but these probably only affect a small portion of users, or are relevant for development and packaging only.<br />
<br />
For a complete list, visit [https://gitlab.com/inkscape/inkscape/-/milestones/2 our GitLab issue tracker] and see the [https://gitlab.com/inkscape/inkscape/-/commits/1.0.x commit history] (all changes since DATE until release date).<br />
<br />
== Translations ==<br />
<br />
The following UI translations received updates:<br />
<br />
* Language<br />
<br />
The following documentation translations received updates:<br />
<br />
* Language<br />
<br />
=== Contributing to interface translations ===<br />
<br />
Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]<br />
<br />
== Documentation ==<br />
<br />
* Some missing options were added to the man page (command line help)<br />
* Some missing keyboard shortcuts were added to the keyboard shortcut reference<br />
<br />
=== Contributing to documentation and documentation translation ===<br />
Contributions to the documentation translations, as well as improvements to its contents, are welcome at [https://gitlab.com/inkscape/inkscape-docs/documentation the inkscape-docs repository].<br />
<br />
== Known issues ==<br />
<br />
* Fill in<br />
* Many of Inkscape's old bug reports still need to be [https://alpha.inkscape.org/bug-migration/ tested and migrated to the new bug and feature request reporting page]. While some progress has already been made, we still need your help with that task.<br />
* All (migrated and new) open issues for the project are listed on [https://gitlab.com/groups/inkscape/-/issues GitLab]. If you have some time on your hands and can help fixing them, [https://chat.inkscape.org/channel/team_devel join us in the development chat] and let us tackle them together.<br />
<br />
== Previous releases ==<br />
* [[Release notes/0.92]]<br />
* [[Release notes/0.92.1]]<br />
* [[Release notes/0.92.2]]<br />
* [[Release notes/0.92.3]]<br />
* [[Release notes/0.92.4]]<br />
* [[Release notes/0.92.5]]<br />
* [[Release notes/1.0]]</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.1&diff=118557Release notes/1.12020-06-30T04:53:29Z<p>Doctormo: /* Notable bugfixes */</p>
<hr />
<div>{{Other languages | en = {{FULLPAGENAME}}}}<br />
<br />
== Release highlights ==<br />
<br />
'''Definitely not released yet.'''<br />
<br />
Inkscape 1.1 is a stability and bugfix release. <br />
<br />
[For changes made even before the 1.0 release that aren't in 1.0, try to find out if the checked and not stroked ones here: https://gitlab.com/inkscape/inkscape/-/issues/1030 have really not been cherrypicked]<br />
<br />
The most notable improvements are: <br />
<br />
* Fill in<br />
<br />
== Important changes ==<br />
<br />
=== For packagers ===<br />
<br />
* We no longer depend on GtkSpell and ASpell but on GSpell for spell checking.<br />
* lib2geom has been moved into its own git submodule (like the extensions).<br />
<br />
== Improvements ==<br />
<br />
* In Edit > Preferences > Imported images : Import, there is a new option that allows you to disable relative paths to linked files ("Store absolute file path for linked images", active by default).<br />
* [https://en.wikipedia.org/wiki/XInclude XInclude] support (see [https://gitlab.com/inkscape/inkscape/-/merge_requests/1150 !1150]) ''TODO: Move to a "technical" or "advanced" section?''<br />
* Hidden dialogs stop receiving signals and release resources<br />
* Shell mode: a history of commands is now remembered and can be accessed with the up and down arrow keys. [Tab ... autocompletion?]<br />
* Recognize layers in SVG files exported from CorelDraw (see [https://gitlab.com/inkscape/inkscape/-/merge_requests/2046 !2046])<br />
<br />
=== General User Interface ===<br />
<br />
* Dock layouts are now saved in an xml file (<code>docklayout.xml</code>) in the user preferences directory, making them transferable.<br />
* The legacy gradient editor (a dialog that could previously be enabled in the preferences for the gradient tool) has been removed.<br />
<br />
=== Canvas ===<br />
==== Rotation lock ====<br />
<br />
A new menu item has been added to allow the user to prevent the rotation of the canvas with key bindings commonly associated with zooming in other applications. This setting can be toggled on a per-window basis. In addition, a new preference option has been added to allow users to set the mode to be on when a new window is opened.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Canvas rotation lock toggle.png|New "Rotation lock" menu item<br />
File:Default rotation lock toggle.png|Configuration option to lock the rotation by default<br />
</gallery><br />
<br />
=== Live Path Effects ===<br />
<br />
==== Automatic fill preservation for Path Effects ====<br />
<br />
LPEs which render strokes as fills (<code>Join Type</code>, <code>Power Stroke</code>, and <code>Taper Stroke</code>) have been modified to automatically preserve the previous fill by creating a linked path when applied to an object.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Sadchrys original drawing with fill.png|Original drawing<br />
File:Sadchrys after applying LPE previous versions.png|Previous versions of Inkscape would preserve the stroke settings but remove the fill when applied.<br />
File:Sadchrys after applying LPE 1.1 original path.png|Now, Inkscape will automatically preserve the fill by creating a linked path underneath.<br />
File:Sadchrys after applying LPE 1.1 linked fill.png|LPE options for the linked fill<br />
</gallery><br />
<br />
==== Taper Stroke LPE improved ====<br />
<br />
The Taper stroke LPE has been updated to include taper direction options (allowing the taper to run to one side of the path, instead of to the middle) and smoothing options for both ends of the path, allowing more interesting paths to be made in the effect. In addition, using the keybind '''Shift+click''' on the on-canvas knots allows quickly alternating between the different possible taper shapes.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Taper stroke direction control.png|Direction control options<br />
File:Taper stroke new parameter list.png|New parameter list<br />
</gallery><br />
<br />
==== New shortcut for Fill between many LPE ====<br />
<br />
A new shortcut has been added under the Path menu to automatically create a linked fill path using the '''Fill between many''' path effect. The effect is created beneath the selected paths and automatically selected to faciliate moving the path into the correct z-order and styling it as intended. For greater efficiency, the shortcut can also be bound to a hotkey using the '''Preferences''' dialog.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Fill between many shortcut menuitem.png|Previously, using this effect required tediously copying every path to the clipboard and pasting it into the parameter list of a new path.<br />
File:Fill between many result.png|Now, Inkscape can perform this task automatically, without any tedium.<br />
</gallery><br />
<br />
<br />
=== Extensions ===<br />
<br />
A new extension allows to directly save as a PDF through Scribus, if Scribus 1.5+ is found in the path. This should allow to produce a color-managed PDF if the SVG is color-managed.<br />
<br />
<br />
<!-- == Regression fixes ==<br />
<br />
* ... --><br />
<br />
== Notable bugfixes ==<br />
<br />
* Dragging connected objects now does not leave the connections behind until dragging concludes. Instead lines follow drag smoothly.<br />
<br />
== Breaking changes / Action required ==<br />
<br />
=== Extensions ===<br />
<br />
Element selections API has been improved, the API in 10 of using `self.svg.selected` is deprecated in favour of the new `self.svg.selection` interface. The previous API will continue to work for the time being but should be updated to the new API. Selection is now a type of ElementList which provides filtering, ordering and other generalised functionality, if you need an element list for example to make a bounding box, this is the way to do it.<br />
<br />
== Crash fixes ==<br />
<br />
Fix a crash &hellip;<br />
* &hellip; when ... ([https://gitlab.com/inkscape/inkscape/-/issues/ #number])<br />
<br />
== More bug fixes ==<br />
<br />
There were even more issues fixed than those listed above, but these probably only affect a small portion of users, or are relevant for development and packaging only.<br />
<br />
For a complete list, visit [https://gitlab.com/inkscape/inkscape/-/milestones/2 our GitLab issue tracker] and see the [https://gitlab.com/inkscape/inkscape/-/commits/1.0.x commit history] (all changes since DATE until release date).<br />
<br />
== Translations ==<br />
<br />
The following UI translations received updates:<br />
<br />
* Language<br />
<br />
The following documentation translations received updates:<br />
<br />
* Language<br />
<br />
=== Contributing to interface translations ===<br />
<br />
Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]<br />
<br />
== Documentation ==<br />
<br />
* Some missing options were added to the man page (command line help)<br />
* Some missing keyboard shortcuts were added to the keyboard shortcut reference<br />
<br />
=== Contributing to documentation and documentation translation ===<br />
Contributions to the documentation translations, as well as improvements to its contents, are welcome at [https://gitlab.com/inkscape/inkscape-docs/documentation the inkscape-docs repository].<br />
<br />
== Known issues ==<br />
<br />
* Fill in<br />
* Many of Inkscape's old bug reports still need to be [https://alpha.inkscape.org/bug-migration/ tested and migrated to the new bug and feature request reporting page]. While some progress has already been made, we still need your help with that task.<br />
* All (migrated and new) open issues for the project are listed on [https://gitlab.com/groups/inkscape/-/issues GitLab]. If you have some time on your hands and can help fixing them, [https://chat.inkscape.org/channel/team_devel join us in the development chat] and let us tackle them together.<br />
<br />
== Previous releases ==<br />
* [[Release notes/0.92]]<br />
* [[Release notes/0.92.1]]<br />
* [[Release notes/0.92.2]]<br />
* [[Release notes/0.92.3]]<br />
* [[Release notes/0.92.4]]<br />
* [[Release notes/0.92.5]]<br />
* [[Release notes/1.0]]</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Inkscape-specific_XML_attributes&diff=118553Inkscape-specific XML attributes2020-06-27T00:04:14Z<p>Doctormo: </p>
<hr />
<div>= Inkscape-specific XML attributes =<br />
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 ===<br />
<br />
'''Namespace URL''': http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd<br />
<br />
'''Canonical prefix''': sodipodi<br />
<br />
=== Local names ===<br />
<br />
* absref - the absolute native (UTF-8) path to a resource (valid on svg:image)<br />
* arg1<br />
* arg2<br />
* argument<br />
* cx<br />
* cy<br />
* docbase - the absolute native (UTF-8) directory containing the document<br />
* docname - the absolute native (UTF-8) path to the document<br />
* end<br />
* expansion<br />
* insensitive - when set to "1", make an object unselectable via the mouse (valid on any renderable SVG element)<br />
* linespacing<br />
* modified - INTERNAL USE ONLY; never serialized; set to "1" when an element has been modified since the file was last saved (valid on svg:svg)<br />
* nodetypes<br />
* nonprintable<br />
* open<br />
* original<br />
* r1<br />
* r2<br />
* radius<br />
* revolution<br />
* role<br />
* rx<br />
* ry<br />
* sides - the number of convex vertices in a polygon/star<br />
* spiral<br />
* star<br />
* start<br />
* t0<br />
* 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 />
* version - the version of Sodipodi which saved this document (valid on svg:svg)<br />
<br />
== Inkscape ==<br />
<br />
=== Namespace ===<br />
<br />
'''Namespace URL''': http://www.inkscape.org/namespaces/inkscape<br />
<br />
'''Canonical prefix''': inkscape<br />
<br />
=== Local names ===<br />
<br />
* collect<br />
* '''connection-end''' - An internal url reference [rfc3987] pointing to which object's center this path's end point is connected to. If not specified, no automatic connection is made.<br />
* '''connection-end-point''' - An internal url reference [rfc3987] pointing to which child-object of the ''connection-end'' object. The parent object may be a group tag or a use tag. The point is the center of the child object as it would appear in the rendered object. The default is no-child object and the parent's center point is used.<br />
* '''connection-start''' - Same as ''connection-end'' but for the start connection<br />
* '''connection-start-point''' - Same as ''connection-end-point'' but for the start connection child object.<br />
* connector-avoid<br />
* connector-spacing<br />
* connector-type<br />
* current-layer<br />
* cx<br />
* cy<br />
* dataloss<br />
* document-units<br />
* dstBox<br />
* dstColumn<br />
* dstPath<br />
* dstShape<br />
* excludeShape<br />
* export-filename<br />
* export-xdpi<br />
* export-ydpi<br />
* flatsided<br />
* grid-bbox<br />
* grid-points<br />
* groupmode<br />
* guide-bbox<br />
* guide-points<br />
* has_abs_tolerance<br />
* href<br />
* label<br />
* layoutOptions<br />
* marker<br />
* object-bbox<br />
* object-nodes<br />
* object-paths<br />
* object-points<br />
* offset<br />
* original<br />
* output_extension<br />
* pageopacity<br />
* pageshadow<br />
* radius<br />
* randomized<br />
* rounded<br />
* showpageshadow<br />
* srcNoMarkup<br />
* srcPango<br />
* stockid<br />
* tile-cx<br />
* tile-cy<br />
* tiled-clone-of<br />
* tile-h<br />
* tile-w<br />
* transform-center-x<br />
* transform-center-y<br />
* unset - used for unsetting a property via an SPCSSAttr. INTERNAL USE ONLY, never to be seen in saved SVG.<br />
* version<br />
* window-height<br />
* window-width<br />
* window-x<br />
* window-y<br />
* zoom<br />
<br />
[[Category:Developer Documentation]]<br />
[[Category:Needs Work]]</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Inkscape-specific_XML_attributes&diff=118552Inkscape-specific XML attributes2020-06-27T00:02:21Z<p>Doctormo: </p>
<hr />
<div>= Inkscape-specific XML attributes =<br />
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 ===<br />
<br />
'''Namespace URL''': http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd<br />
<br />
'''Canonical prefix''': sodipodi<br />
<br />
=== Local names ===<br />
<br />
* absref - the absolute native (UTF-8) path to a resource (valid on svg:image)<br />
* arg1<br />
* arg2<br />
* argument<br />
* cx<br />
* cy<br />
* docbase - the absolute native (UTF-8) directory containing the document<br />
* docname - the absolute native (UTF-8) path to the document<br />
* end<br />
* expansion<br />
* insensitive - when set to "1", make an object unselectable via the mouse (valid on any renderable SVG element)<br />
* linespacing<br />
* modified - INTERNAL USE ONLY; never serialized; set to "1" when an element has been modified since the file was last saved (valid on svg:svg)<br />
* nodetypes<br />
* nonprintable<br />
* open<br />
* original<br />
* r1<br />
* r2<br />
* radius<br />
* revolution<br />
* role<br />
* rx<br />
* ry<br />
* sides - the number of convex vertices in a polygon/star<br />
* spiral<br />
* star<br />
* start<br />
* t0<br />
* 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 />
* version - the version of Sodipodi which saved this document (valid on svg:svg)<br />
<br />
== Inkscape ==<br />
<br />
=== Namespace ===<br />
<br />
'''Namespace URL''': http://www.inkscape.org/namespaces/inkscape<br />
<br />
'''Canonical prefix''': inkscape<br />
<br />
=== Local names ===<br />
<br />
* collect<br />
* connection-end - An internal url reference [rfc3987] pointing to which object's center this path's end point is connected to. If not specified, no automatic connection is made.<br />
* connection-end-point - An internal url reference [rfc3987] pointing to which child-object of the `connection-end` object. The parent object may be a group tag or a use tag. The point is the center of the child object as it would appear in the rendered object. The default is no-child object and the parent's center point is used.<br />
* connection-start - Same as `connection-end` but for the start connection<br />
* connection-start-point - Same as `connection-end-point` but for the start connection child object.<br />
* connector-avoid<br />
* connector-spacing<br />
* connector-type<br />
* current-layer<br />
* cx<br />
* cy<br />
* dataloss<br />
* document-units<br />
* dstBox<br />
* dstColumn<br />
* dstPath<br />
* dstShape<br />
* excludeShape<br />
* export-filename<br />
* export-xdpi<br />
* export-ydpi<br />
* flatsided<br />
* grid-bbox<br />
* grid-points<br />
* groupmode<br />
* guide-bbox<br />
* guide-points<br />
* has_abs_tolerance<br />
* href<br />
* label<br />
* layoutOptions<br />
* marker<br />
* object-bbox<br />
* object-nodes<br />
* object-paths<br />
* object-points<br />
* offset<br />
* original<br />
* output_extension<br />
* pageopacity<br />
* pageshadow<br />
* radius<br />
* randomized<br />
* rounded<br />
* showpageshadow<br />
* srcNoMarkup<br />
* srcPango<br />
* stockid<br />
* tile-cx<br />
* tile-cy<br />
* tiled-clone-of<br />
* tile-h<br />
* tile-w<br />
* transform-center-x<br />
* transform-center-y<br />
* unset - used for unsetting a property via an SPCSSAttr. INTERNAL USE ONLY, never to be seen in saved SVG.<br />
* version<br />
* window-height<br />
* window-width<br />
* window-x<br />
* window-y<br />
* zoom<br />
<br />
[[Category:Developer Documentation]]<br />
[[Category:Needs Work]]</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2020_Online&diff=118547Hackfest2020 Online2020-06-23T00:17:21Z<p>Doctormo: </p>
<hr />
<div><br />
This page details the planning of Inkscape's August 2020 online hackfest. It is focused on features and future plans for 1.1 and beyond.<br />
<br />
Other pages: [[Hackfest2020 Online Topics]], [[Hackfest2020 Online Attendees]].<br />
<br />
Old: [[Hackfest2020 Rennes]] [[Hackfest2019 Saarbrücken]], [[Hackfest2019 SCALE]], [[Hackfest2018 Kiel]], [[Hackfest2018 LGM]], [[Hackfest2018]], [[Hackfest2017]], [[Hackfest2016]], [[Hackfest2015]].<br />
<br />
= Hackfest: Online =<br />
<br />
==Description==<br />
<br />
A hackfest! We will work on Inkscape features, designs and the project's future; while we won't be in the same space, we will be collecting together at the same time to discuss our plans.<br />
<br />
==Online==<br />
<br />
The event will be held online only. No physical gatherings unless locally organised with local regulations permitting. As such any reimbursements will have to be on a case by case basis (for example if Europe isn't in lock-down and people take the train to somewhere to meet up)<br />
<br />
==Catering==<br />
<br />
This is a self-catered event. Please bring snacks.<br />
<br />
==Facilities==<br />
<br />
The proposed venue is "The Big Blue Button" offered by Marc, details about capacity, features and so forth to follow.<br />
<br />
For presentations<br />
<br />
==Attendance==<br />
<br />
Anybody interested in Inkscape is welcome to attend. If you have a topic to discuss, please add yourself to the attendees page [[Hackfest2020 Online Attendees]].<br />
<br />
==Hackfest Topics and Schedule==<br />
<br />
A schedule will be developed based on input from attendees and the Inkscape community. See the [[Hackfest2020 Online Topics]] page for further details.<br />
<br />
==Helpers==<br />
<br />
The following folk have offered to assist with organization work, in limited capacities:<br />
<br />
* Martin Owens<br />
<br />
[[Category:Hackfest]]</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Scratch&diff=118526Scratch2020-06-13T12:04:19Z<p>Doctormo: Created page with "<!-- some LaTeX macros we want to use: --> $$\newcommand{\Re}{\mathrm{Re}\,} \newcommand{\pFq}[5]{{}_{#1}\mathrm{F}_{#2} \left( \genfrac{}{}{0pt}{}{#3}{#4} \bigg| {#5} \right)..."</p>
<hr />
<div><!-- some LaTeX macros we want to use: --><br />
$$\newcommand{\Re}{\mathrm{Re}\,}<br />
\newcommand{\pFq}[5]{{}_{#1}\mathrm{F}_{#2} \left( \genfrac{}{}{0pt}{}{#3}{#4} \bigg| {#5} \right)}$$<br />
<br />
We consider, for various values of $$s$$, the $$n$$-dimensional integral<br />
\begin{align}<br />
\label{def:Wns}<br />
W_n (s)<br />
&:= <br />
\int_{[0, 1]^n} <br />
\left| \sum_{k = 1}^n \mathrm{e}^{2 \pi \mathrm{i} \, x_k} \right|^s \mathrm{d}\boldsymbol{x}<br />
\end{align}<br />
which occurs in the theory of uniform random walk integrals in the plane, <br />
where at each step a unit-step is taken in a random direction. As such, <br />
the integral \eqref{def:Wns} expresses the $$s$$-th moment of the distance <br />
to the origin after $$n$$ steps.<br />
<br />
By experimentation and some sketchy arguments we quickly conjectured and <br />
strongly believed that, for $$k$$ a nonnegative integer<br />
\begin{align}<br />
\label{eq:W3k}<br />
W_3(k) &= \Re \, \pFq32{\frac12, -\frac k2, -\frac k2}{1, 1}{4}.<br />
\end{align}<br />
Appropriately defined, \eqref{eq:W3k} also holds for negative odd integers. <br />
The reason for \eqref{eq:W3k} was long a mystery, but it will be explained <br />
at the end of the paper.</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2020_Online_Attendees&diff=118515Hackfest2020 Online Attendees2020-05-29T10:44:03Z<p>Doctormo: </p>
<hr />
<div>Other pages: [[Hackfest2020 Online]], [[Hackfest2020 Online Topics]]. <br />
<br />
== Who is Attending? ==<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ List of Attendees<br />
Hackfest<br />
|-<br />
! rowspan="2" | Who<br />
! rowspan="2" | Dates<br />
! rowspan="2" | Maximum Allocation<br />
! colspan="2" | Arrival<br />
! colspan="2" | Departure<br />
! rowspan="2" | Team<br />
|-<br />
! Date/Time<br />
! Detail<br />
! Date/Time<br />
! Detail<br />
|-<br />
| Martin Owens<br />
| TBD<br />
| TBD<br />
| <!-- arrival date + time --><br />
| Online<br />
| <!-- departure date + time --><br />
| Online<br />
| <!-- hotel --><br />
|-<br />
| Sample Person<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-! Total<br />
!<br />
!<br />
! $ TBD<br />
!<br />
!<br />
!<br />
!<br />
!<br />
|}<br />
<br />
== Unconfirmed but Likely Attendees ==<br />
<br />
== Maybe ==<br />
<br />
== People to Invite ==</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2020_Online_Attendees&diff=118514Hackfest2020 Online Attendees2020-05-29T10:43:08Z<p>Doctormo: Created page with "Other pages: Hackfest2020 Rennes, Hackfest2020 Rennes Topics. == Who is Attending? == {| class="wikitable" style="text-align: center;" |+ List of Attendees Hackfes..."</p>
<hr />
<div>Other pages: [[Hackfest2020 Rennes]], [[Hackfest2020 Rennes Topics]]. <br />
<br />
== Who is Attending? ==<br />
<br />
{| class="wikitable" style="text-align: center;"<br />
|+ List of Attendees<br />
Hackfest<br />
|-<br />
! rowspan="2" | Who<br />
! rowspan="2" | Dates<br />
! rowspan="2" | Maximum Allocation<br />
! colspan="2" | Arrival<br />
! colspan="2" | Departure<br />
! rowspan="2" | Team<br />
|-<br />
! Date/Time<br />
! Detail<br />
! Date/Time<br />
! Detail<br />
|-<br />
| Martin Owens<br />
| TBD<br />
| TBD<br />
| <!-- arrival date + time --><br />
| Online<br />
| <!-- departure date + time --><br />
| Online<br />
| <!-- hotel --><br />
|-<br />
| Sample Person<br />
| <!-- dates --><br />
| TBD<br />
| <!-- arrival date + time --><br />
| <!-- arrival details, e.g. flight number --><br />
| <!-- departure date + time --><br />
| <!-- departure details, e.g. flight number --><br />
| <!-- hotel --><br />
|-! Total<br />
!<br />
!<br />
! $ TBD<br />
!<br />
!<br />
!<br />
!<br />
!<br />
|}<br />
<br />
== Unconfirmed but Likely Attendees ==<br />
<br />
== Maybe ==<br />
<br />
== People to Invite ==</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2020_Online&diff=118513Hackfest2020 Online2020-05-29T10:41:28Z<p>Doctormo: </p>
<hr />
<div><br />
This page details the planning of Inkscape's August 2020 online hackfest. It is focused on features and future plans for 1.1 and beyond.<br />
<br />
Other pages: [[Hackfest2020 Online Topics]], [[Hackfest2020 Online Attendees]].<br />
<br />
Old: [[Hackfest2020 Rennes]] [[Hackfest2019 Saarbrücken]], [[Hackfest2019 SCALE]], [[Hackfest2018 Kiel]], [[Hackfest2018 LGM]], [[Hackfest2018]], [[Hackfest2017]], [[Hackfest2016]], [[Hackfest2015]].<br />
<br />
= Hackfest: Online =<br />
<br />
==Description==<br />
<br />
A hackfest! We will work on Inkscape features, designs and the project's future; while we won't be in the same space, we will be collecting together at the same time to discuss our plans.<br />
<br />
==Online==<br />
<br />
The event will be held online only. No physical gatherings unless locally organised with local regulations permitting. As such any reimbursements will have to be on a case by case basis (for example if Europe isn't in lock-down and people take the train to somewhere to meet up)<br />
<br />
==Catering==<br />
<br />
This is a self-catered event. Please bring snacks.<br />
<br />
==Facilities==<br />
<br />
The proposed venue is "The Big Blue Button" offered by Marc, details about capacity, features and so forth to follow.<br />
<br />
For presentations<br />
<br />
==Hackfest Social==<br />
<br />
Instead of a dinner, we will have a 1 hour social. People are encouraged to bring a drink and food if they wish and can talk about non-inkscape things.<br />
<br />
==Attendance==<br />
<br />
Anybody interested in Inkscape is welcome to attend. If you have a topic to discuss, please add yourself to the attendees page [[Hackfest2020 Online Attendees]].<br />
<br />
==Hackfest Topics and Schedule==<br />
<br />
A schedule will be developed based on input from attendees and the Inkscape community. See the [[Hackfest2020 Online Topics]] page for further details.<br />
<br />
==Helpers==<br />
<br />
The following folk have offered to assist with organization work, in limited capacities:<br />
<br />
* Martin Owens<br />
<br />
[[Category:Hackfest]]</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Hackfest2020_Online&diff=118512Hackfest2020 Online2020-05-29T10:40:53Z<p>Doctormo: Created page with " This page details the planning of Inkscape's August 2020 online hackfest. It is focused on features and future plans for 1.1 and beyond. Other pages: Hackfest2020 Online T..."</p>
<hr />
<div><br />
This page details the planning of Inkscape's August 2020 online hackfest. It is focused on features and future plans for 1.1 and beyond.<br />
<br />
Other pages: [[Hackfest2020 Online Topics]], [[Hackfest2020 Online Attendees]].<br />
<br />
Old: [[Hackfest2020 Renne]] [[Hackfest2019 Saarbrücken]], [[Hackfest2019 SCALE]], [[Hackfest2018 Kiel]], [[Hackfest2018 LGM]], [[Hackfest2018]], [[Hackfest2017]], [[Hackfest2016]], [[Hackfest2015]].<br />
<br />
= Hackfest: Online =<br />
<br />
==Description==<br />
<br />
A hackfest! We will work on Inkscape features, designs and the project's future; while we won't be in the same space, we will be collecting together at the same time to discuss our plans.<br />
<br />
==Online==<br />
<br />
The event will be held online only. No physical gatherings unless locally organised with local regulations permitting. As such any reimbursements will have to be on a case by case basis (for example if Europe isn't in lock-down and people take the train to somewhere to meet up)<br />
<br />
==Catering==<br />
<br />
This is a self-catered event. Please bring snacks.<br />
<br />
==Facilities==<br />
<br />
The proposed venue is "The Big Blue Button" offered by Marc, details about capacity, features and so forth to follow.<br />
<br />
For presentations<br />
<br />
==Hackfest Social==<br />
<br />
Instead of a dinner, we will have a 1 hour social. People are encouraged to bring a drink and food if they wish and can talk about non-inkscape things.<br />
<br />
==Attendance==<br />
<br />
Anybody interested in Inkscape is welcome to attend. If you have a topic to discuss, please add yourself to the attendees page [[Hackfest2020 Online Attendees]].<br />
<br />
==Hackfest Topics and Schedule==<br />
<br />
A schedule will be developed based on input from attendees and the Inkscape community. See the [[Hackfest2020 Online Topics]] page for further details.<br />
<br />
==Helpers==<br />
<br />
The following folk have offered to assist with organization work, in limited capacities:<br />
<br />
* Martin Owens<br />
<br />
[[Category:Hackfest]]</div>Doctormohttps://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.1&diff=118511Release notes/1.12020-05-28T20:27:08Z<p>Doctormo: </p>
<hr />
<div>{{Other languages | en = {{FULLPAGENAME}}}}<br />
<br />
== Release highlights ==<br />
<br />
'''Definitely not released yet.'''<br />
<br />
Inkscape 1.1 is a stability and bugfix release. <br />
<br />
[For changes made even before the 1.0 release that aren't in 1.0, try to find out if the checked and not stroked ones here: https://gitlab.com/inkscape/inkscape/-/issues/1030 have really not been cherrypicked]<br />
<br />
The most notable improvements are: <br />
<br />
* Fill in<br />
<br />
== Important changes ==<br />
<br />
=== For packagers ===<br />
<br />
* We no longer depend on GtkSpell and ASpell but on GSpell for spell checking.<br />
* lib2geom has been moved into its own git submodule (like the extensions).<br />
<br />
== Improvements ==<br />
<br />
* In Edit > Preferences > Imported images : Import, there is a new option that allows you to disable relative paths to linked files ("Store absolute file path for linked images", active by default).<br />
* [https://en.wikipedia.org/wiki/XInclude XInclude] support<br />
* Hidden dialogs stop receiving signals and release resources<br />
* Shell mode: a history of commands is now remembered and can be accessed with the up and down arrow keys. [Tab ... autocompletion?]<br />
<br />
=== General User Interface ===<br />
<br />
* Dock layouts are now saved in an xml file (<code>docklayout.xml</code>) in the user preferences directory, making them transferable.<br />
* The legacy gradient editor (a dialog that could previously be enabled in the preferences for the gradient tool) has been removed.<br />
<br />
=== Canvas ===<br />
==== Rotation lock ====<br />
<br />
A new menu item has been added to allow the user to prevent the rotation of the canvas with key bindings commonly associated with zooming in other applications. This setting can be toggled on a per-window basis. In addition, a new preference option has been added to allow users to set the mode to be on when a new window is opened.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Canvas rotation lock toggle.png|New "Rotation lock" menu item<br />
File:Default rotation lock toggle.png|Configuration option to lock the rotation by default<br />
</gallery><br />
<br />
=== Live Path Effects ===<br />
<br />
==== Automatic fill preservation for Path Effects ====<br />
<br />
LPEs which render strokes as fills (<code>Join Type</code>, <code>Power Stroke</code>, and <code>Taper Stroke</code>) have been modified to automatically preserve the previous fill by creating a linked path when applied to an object.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Sadchrys original drawing with fill.png|Original drawing<br />
File:Sadchrys after applying LPE previous versions.png|Previous versions of Inkscape would preserve the stroke settings but remove the fill when applied.<br />
File:Sadchrys after applying LPE 1.1 original path.png|Now, Inkscape will automatically preserve the fill by creating a linked path underneath.<br />
File:Sadchrys after applying LPE 1.1 linked fill.png|LPE options for the linked fill<br />
</gallery><br />
<br />
==== Taper Stroke LPE improved ====<br />
<br />
The Taper stroke LPE has been updated to include taper direction options (allowing the taper to run to one side of the path, instead of to the middle) and smoothing options for both ends of the path, allowing more interesting paths to be made in the effect. In addition, using the keybind '''Shift+click''' on the on-canvas knots allows quickly alternating between the different possible taper shapes.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Taper stroke direction control.png|Direction control options<br />
File:Taper stroke new parameter list.png|New parameter list<br />
</gallery><br />
<br />
==== New shortcut for Fill between many LPE ====<br />
<br />
A new shortcut has been added under the Path menu to automatically create a linked fill path using the '''Fill between many''' path effect. The effect is created beneath the selected paths and automatically selected to faciliate moving the path into the correct z-order and styling it as intended. For greater efficiency, the shortcut can also be bound to a hotkey using the '''Preferences''' dialog.<br />
<br />
<gallery mode="packed" heights=250px><br />
File:Fill between many shortcut menuitem.png|Previously, using this effect required tediously copying every path to the clipboard and pasting it into the parameter list of a new path.<br />
File:Fill between many result.png|Now, Inkscape can perform this task automatically, without any tedium.<br />
</gallery><br />
<br />
<br />
<br />
<!-- == Regression fixes ==<br />
<br />
* ... --><br />
<br />
== Notable bugfixes ==<br />
<br />
* Fill in<br />
<br />
== Breaking changes / Action required ==<br />
<br />
=== Extensions ===<br />
<br />
Element selections API has been improved, the API in 10 of using `self.svg.selected` is deprecated in favour of the new `self.svg.selection` interface. The previous API will continue to work for the time being but should be updated to the new API. Selection is now a type of ElementList which provides filtering, ordering and other generalised functionality, if you need an element list for example to make a bounding box, this is the way to do it.<br />
<br />
== Crash fixes ==<br />
<br />
Fix a crash &hellip;<br />
* &hellip; when ... ([https://gitlab.com/inkscape/inkscape/-/issues/ #number])<br />
<br />
== More bug fixes ==<br />
<br />
There were even more issues fixed than those listed above, but these probably only affect a small portion of users, or are relevant for development and packaging only.<br />
<br />
For a complete list, visit [https://gitlab.com/inkscape/inkscape/-/milestones/2 our GitLab issue tracker] and see the [https://gitlab.com/inkscape/inkscape/-/commits/1.0.x commit history] (all changes since DATE until release date).<br />
<br />
== Translations ==<br />
<br />
The following UI translations received updates:<br />
<br />
* Language<br />
<br />
The following documentation translations received updates:<br />
<br />
* Language<br />
<br />
=== Contributing to interface translations ===<br />
<br />
Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]<br />
<br />
== Documentation ==<br />
<br />
* Some missing options were added to the man page (command line help)<br />
* Some missing keyboard shortcuts were added to the keyboard shortcut reference<br />
<br />
=== Contributing to documentation and documentation translation ===<br />
Contributions to the documentation translations, as well as improvements to its contents, are welcome at [https://gitlab.com/inkscape/inkscape-docs/documentation the inkscape-docs repository].<br />
<br />
== Known issues ==<br />
<br />
* Fill in<br />
* Many of Inkscape's old bug reports still need to be [https://alpha.inkscape.org/bug-migration/ tested and migrated to the new bug and feature request reporting page]. While some progress has already been made, we still need your help with that task.<br />
* All (migrated and new) open issues for the project are listed on [https://gitlab.com/groups/inkscape/-/issues GitLab]. If you have some time on your hands and can help fixing them, [https://chat.inkscape.org/channel/team_devel join us in the development chat] and let us tackle them together.<br />
<br />
== Previous releases ==<br />
* [[Release notes/0.92]]<br />
* [[Release notes/0.92.1]]<br />
* [[Release notes/0.92.2]]<br />
* [[Release notes/0.92.3]]<br />
* [[Release notes/0.92.4]]<br />
* [[Release notes/0.92.5]]<br />
* [[Release notes/1.0]]</div>Doctormo