<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LinkMauve</id>
	<title>Inkscape Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=LinkMauve"/>
	<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/Special:Contributions/LinkMauve"/>
	<updated>2026-05-09T12:28:28Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Tracking_Dependencies&amp;diff=118602</id>
		<title>Tracking Dependencies</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Tracking_Dependencies&amp;diff=118602"/>
		<updated>2020-07-30T12:33:10Z</updated>

		<summary type="html">&lt;p&gt;LinkMauve: Remove EOL’d Ubuntu 19.10, unsupported since the 17th of July.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
We need help getting our basic lib dependencies listed out and kept up to date. Also we need to track which versions of which distros have the needed dependencies.&lt;br /&gt;
&lt;br /&gt;
To get glib and GTK+ dependencies figured out, people can go through the API documentation and look for the 'since' entries saying when calls were added. Then look for those calls in our source. Voila! we'll have base minimum dependencies figured out.&lt;br /&gt;
&lt;br /&gt;
== Compilers ==&lt;br /&gt;
&lt;br /&gt;
For C++11 features, see [[C++11]]&lt;br /&gt;
&lt;br /&gt;
=== gcc ===&lt;br /&gt;
=== clang ===&lt;br /&gt;
&lt;br /&gt;
== Libs ==&lt;br /&gt;
&lt;br /&gt;
C++ bindings are not included, since their required versions match those of the C counterparts.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Library&lt;br /&gt;
! v 0.92&lt;br /&gt;
! v 1.0&lt;br /&gt;
! master&lt;br /&gt;
|-&lt;br /&gt;
| Boehm-GC&lt;br /&gt;
| 7.2&lt;br /&gt;
| 7.2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Cairo&lt;br /&gt;
| 1.14&lt;br /&gt;
| 1.14 (1.15.4 required for PDF links)&lt;br /&gt;
| 1.16*&lt;br /&gt;
|-&lt;br /&gt;
| double-conversion [https://github.com/google/double-conversion]&amp;lt;br/&amp;gt;''(lib2geom dependency)''&lt;br /&gt;
| ''(not required)''&lt;br /&gt;
| any&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| GDL&lt;br /&gt;
| N/A&amp;lt;br /&amp;gt;(3.4)&lt;br /&gt;
| 3.4&lt;br /&gt;
| 3.6&lt;br /&gt;
|-&lt;br /&gt;
| Glib&lt;br /&gt;
| 2.28&lt;br /&gt;
| 2.48&lt;br /&gt;
| 2.56 or 2.62*&lt;br /&gt;
|-&lt;br /&gt;
| GTK+&lt;br /&gt;
| 2.24&amp;lt;br /&amp;gt;(3.8)&lt;br /&gt;
| 3.22&lt;br /&gt;
| 3.24*&lt;br /&gt;
|-&lt;br /&gt;
| GNU Scientific Library&lt;br /&gt;
| ?&lt;br /&gt;
| ?&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| libsigc++&lt;br /&gt;
| ''2.0.12*''&lt;br /&gt;
| ''2.0.12*''&lt;br /&gt;
| 2.10*&lt;br /&gt;
|-&lt;br /&gt;
| libSoup&lt;br /&gt;
| ''(not required)''&lt;br /&gt;
| (any)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| libpotrace&lt;br /&gt;
| ''(not required)''&lt;br /&gt;
| (any)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| libxml&lt;br /&gt;
| ''2.6.11*''&lt;br /&gt;
| ''2.6.11*''&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| libxslt&lt;br /&gt;
| ''1.0.15*''&lt;br /&gt;
| ''1.0.15*''&lt;br /&gt;
|-&lt;br /&gt;
| LittleCMS&lt;br /&gt;
| 1.13&lt;br /&gt;
| 1.13&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Pango&lt;br /&gt;
| 1.24&lt;br /&gt;
| 1.24 (1.41.1 required for variable fonts)&lt;br /&gt;
| 1.42*&lt;br /&gt;
|-&lt;br /&gt;
| Poppler&lt;br /&gt;
| 0.20.0&lt;br /&gt;
| 0.20.0&lt;br /&gt;
| 0.71*&lt;br /&gt;
|-&lt;br /&gt;
| [https://formulae.brew.sh/formula/gtk-mac-integration gtk-mac-integration]&amp;lt;br&amp;gt;[https://www.macports.org/ports.php?by=library&amp;amp;substr=gtk-osx-application-gtk3 gtk-osx-application-gtk3]&lt;br /&gt;
| N/A&lt;br /&gt;
| 2.0.8 ([[CompilingMacOsX|macOS only]])&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''* Tentative dependency''&lt;br /&gt;
&lt;br /&gt;
== Distros ==&lt;br /&gt;
&lt;br /&gt;
Note: This table is not relevant to (non-fink) MacOS X, where we ship the desired version with Inkscape.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Inkscape&amp;quot; column is default or distro version / oldest that builds - latest that builds. If no latest is given then that means trunk is expected to build on the given platform.&lt;br /&gt;
&lt;br /&gt;
e.g. for a distro that ships with 0.48 but should support building of trunk you might get:&lt;br /&gt;
 0.48 / 0.47-&lt;br /&gt;
&lt;br /&gt;
'''General rules:'''&lt;br /&gt;
* Support last Debian Stable&lt;br /&gt;
* Support last Ubuntu LTS&lt;br /&gt;
* Support last CentOS/Redhat (as best effort).&lt;br /&gt;
* Support last two Fedora releases.&lt;br /&gt;
* Don't break ''point'' releases.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Distro&lt;br /&gt;
! Inkscape&lt;br /&gt;
! gcc&lt;br /&gt;
! clang&lt;br /&gt;
! cairo&lt;br /&gt;
! cairomm&lt;br /&gt;
! glib&lt;br /&gt;
! glibmm&lt;br /&gt;
! gtk+&lt;br /&gt;
! gtkmm&lt;br /&gt;
! pango&lt;br /&gt;
! poppler&lt;br /&gt;
! gdl&lt;br /&gt;
! lcms2&lt;br /&gt;
! libsigc++&lt;br /&gt;
! libgc &amp;lt;!-- Fedora rpm: gc --&amp;gt;&lt;br /&gt;
! libsoup&lt;br /&gt;
|-&lt;br /&gt;
| Windows MSYS2 (2018-11-08)&amp;lt;br/&amp;gt;([https://github.com/Alexpux/MINGW-packages mingw-w64 packages] from MSYS2 project)&lt;br /&gt;
  &amp;lt;!-- see http://quodlibet.duckdns.org/msys2/base for list of latest package versions --&amp;gt;&lt;br /&gt;
| -&lt;br /&gt;
| 8.2.0&lt;br /&gt;
| &amp;lt;abbr title=&amp;quot;compiles but fails to link due to long path issue (help welcome)&amp;quot;&amp;gt;(7.0.0)&amp;lt;/abbr&amp;gt;&lt;br /&gt;
| 1.16.0&lt;br /&gt;
| 1.12.2&lt;br /&gt;
| 2.58.1&lt;br /&gt;
| 2.58.0&lt;br /&gt;
| 2.24.32&amp;lt;br /&amp;gt;3.24.1&lt;br /&gt;
| 2.24.5&amp;lt;br /&amp;gt;3.22.3&lt;br /&gt;
| 1.42.4&lt;br /&gt;
| 0.69.0&lt;br /&gt;
| 3.28.0&lt;br /&gt;
| 1.19&amp;lt;br /&amp;gt;2.9&lt;br /&gt;
| 2.10.1&lt;br /&gt;
| 7.6.8&lt;br /&gt;
| 2.64.2&lt;br /&gt;
|-&lt;br /&gt;
| Debian 10 (Buster, &amp;lt;i&amp;gt;stable&amp;lt;/i&amp;gt;) &amp;lt;small&amp;gt;EOL 2024-06&amp;lt;/small&amp;gt;&lt;br /&gt;
| 0.92.4&lt;br /&gt;
| 8.3.0&lt;br /&gt;
| 7.0&lt;br /&gt;
| 1.16&lt;br /&gt;
| 1.12.2&lt;br /&gt;
| 2.58.3&lt;br /&gt;
| 2.58.0&lt;br /&gt;
| 2.24.32&amp;lt;br /&amp;gt;3.24.5&lt;br /&gt;
| 2.24.5&amp;lt;br /&amp;gt;3.24.0&lt;br /&gt;
| 1.42.4&lt;br /&gt;
| 0.71.0&lt;br /&gt;
| 3.28.0&lt;br /&gt;
| 2.9&lt;br /&gt;
| 2.10.1&lt;br /&gt;
| 7.6.4&lt;br /&gt;
| 2.64.2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:Violet;&amp;quot;|(RHEL) / CentOS 8.1 &amp;lt;small&amp;gt;EOFS 2024-05&amp;lt;/small&amp;gt;&amp;lt;br/&amp;gt;Based on Centros 8.1 package list&lt;br /&gt;
| 0.92.3&lt;br /&gt;
| 8.3.1&lt;br /&gt;
| 8.0.1&lt;br /&gt;
| 1.15.12&lt;br /&gt;
| 1.12.0&lt;br /&gt;
| 2.56.4&lt;br /&gt;
| 2.56.0&lt;br /&gt;
| 2.24.32&amp;lt;br /&amp;gt;3.22.30&lt;br /&gt;
| 2.24.5&amp;lt;br /&amp;gt;3.22.2&lt;br /&gt;
| 1.42.4&lt;br /&gt;
| 0.66.0&lt;br /&gt;
| style=&amp;quot;background:Violet;&amp;quot;|?&lt;br /&gt;
| 2.9&lt;br /&gt;
| 2.10.0&lt;br /&gt;
| 7.6.4&lt;br /&gt;
| 2.62.3&lt;br /&gt;
|-&lt;br /&gt;
| Ubuntu 18.04 LTS (Bionic) &amp;lt;small&amp;gt;EOL 2023-04&amp;lt;/small&amp;gt;&lt;br /&gt;
| 0.92.3&lt;br /&gt;
| 7.3&lt;br /&gt;
| 6.0&lt;br /&gt;
| 1.15.10&lt;br /&gt;
| 1.12.2&lt;br /&gt;
| 2.56.1&lt;br /&gt;
| 2.56.0&lt;br /&gt;
| 2.24.32&amp;lt;br /&amp;gt;3.22.30&lt;br /&gt;
| 2.24.5&amp;lt;br /&amp;gt;3.22.2&lt;br /&gt;
| 1.40.14&lt;br /&gt;
| 0.62.0&lt;br /&gt;
| 3.28.0&lt;br /&gt;
| 2.9&lt;br /&gt;
| 2.10.0&lt;br /&gt;
| 7.4.2&lt;br /&gt;
| 2.62.1&lt;br /&gt;
|-&lt;br /&gt;
| Ubuntu 20.04 LTS (Focal Fossa) &amp;lt;small&amp;gt;EOL 2025-04&amp;lt;/small&amp;gt;&lt;br /&gt;
| 0.92.5&lt;br /&gt;
| 10&lt;br /&gt;
| 10&lt;br /&gt;
| 1.16&lt;br /&gt;
| 1.12.2&lt;br /&gt;
| 2.64.1&lt;br /&gt;
| 2.64.2&lt;br /&gt;
| 2.24.32&amp;lt;br /&amp;gt;3.24.17&lt;br /&gt;
| 2.24.5&amp;lt;br /&amp;gt;3.24.2&lt;br /&gt;
| 1.44.7&lt;br /&gt;
| 0.86.1&lt;br /&gt;
| 3.34.0&lt;br /&gt;
| 2.9.4&lt;br /&gt;
| 2.10.2&lt;br /&gt;
| 10&lt;br /&gt;
| 2.70.0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Legend&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:Orange;&amp;quot;| Inkscape 1.0.x unsupported&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background:Violet;&amp;quot;| GTK+ 3 builds unsupported&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Agreed to at Saarbrücken hackfest.&lt;br /&gt;
&lt;br /&gt;
== Getting and Installing Source packages ==&lt;br /&gt;
&lt;br /&gt;
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download&lt;br /&gt;
source packages and build and install them yourself.  Actually this is not that hard, and is similar to&lt;br /&gt;
doing a Gentoo 'emerge.'&lt;br /&gt;
&lt;br /&gt;
* Usually you download a file with a name like somepackage-1.0.tar.gz.  Unpack it with&lt;br /&gt;
&lt;br /&gt;
    $ tar zxf somepackage-1.0.tar.gz&lt;br /&gt;
    or&lt;br /&gt;
    $ tar jxf somepackage-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Then 'cd' into the new directory.&lt;br /&gt;
&lt;br /&gt;
* Configure it with the command:&lt;br /&gt;
&lt;br /&gt;
    $ ./configure&lt;br /&gt;
&lt;br /&gt;
* Build it with:&lt;br /&gt;
&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
* As the 'root' user,  install it with:&lt;br /&gt;
&lt;br /&gt;
    # make install&lt;br /&gt;
&lt;br /&gt;
=== Boehm-GC ===&lt;br /&gt;
&lt;br /&gt;
Website: http://www.hboehm.info/gc/&lt;br /&gt;
&lt;br /&gt;
GitHub Project: https://github.com/ivmai/bdwgc&lt;br /&gt;
&lt;br /&gt;
Binaries:  If searching for a package for GC, the name of it is sometimes:&lt;br /&gt;
&lt;br /&gt;
* gc&lt;br /&gt;
* libgc&lt;br /&gt;
* gc-devel&lt;br /&gt;
* libgc-devel&lt;br /&gt;
* boehm-gc  (on Gentoo)&lt;br /&gt;
* debian/ubuntu:  sudo apt-get install libgc-dev&lt;br /&gt;
&lt;br /&gt;
=== libSigc++ ===&lt;br /&gt;
&lt;br /&gt;
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
With this file, and for GlibMM and GtkMM below, it is usually desirable for us developers to&lt;br /&gt;
build this C++ library statically.  This removes a dependency that might be difficult for an&lt;br /&gt;
end-user during installation.  Configure it with:&lt;br /&gt;
&lt;br /&gt;
    ./configure --enable-static --disable-shared&lt;br /&gt;
&lt;br /&gt;
=== GlibMM ===&lt;br /&gt;
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/&lt;br /&gt;
&lt;br /&gt;
=== GtkMM ===&lt;br /&gt;
Usually you can try the latest version of GtkMM, but if you get version mismatch errors, try older releases.&lt;br /&gt;
&lt;br /&gt;
Source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.12/gtkmm-2.12.7.tar.bz2&lt;br /&gt;
&lt;br /&gt;
=== cairomm ===&lt;br /&gt;
&lt;br /&gt;
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Boost ===&lt;br /&gt;
&lt;br /&gt;
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a &amp;quot;boost&amp;quot; package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:&lt;br /&gt;
&lt;br /&gt;
    ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost&lt;br /&gt;
&lt;br /&gt;
Source: http://www.boost.org/users/download/&lt;br /&gt;
&lt;br /&gt;
=== Poppler ===&lt;br /&gt;
&lt;br /&gt;
Source: http://poppler.freedesktop.org/&lt;br /&gt;
&lt;br /&gt;
Poppler is required for PDF import. There are several potential issues:&lt;br /&gt;
* Some Linux distributions do not ship the Xpdf headers required by Inkscape. In such cases, you need to recompile Poppler, passing --enable-xpdf-headers on the configure line or install the libpoppler-private-dev package. See [https://bugs.launchpad.net/inkscape/+bug/254849 this wishlist bug]. This typically manifests in error messages like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;In file included from extension/internal/pdfinput/svg-builder.cpp:19:&lt;br /&gt;
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory&lt;br /&gt;
...&lt;br /&gt;
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1&lt;br /&gt;
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'&lt;br /&gt;
make[1]: *** [all-recursive] Error 1&lt;br /&gt;
make[1]: Leaving directory `/tmp/build/inkscape-0.46'&lt;br /&gt;
make: *** [all] Error 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Inkscape 0.47 does not compile with Poppler &amp;gt;= 0.12.2. If you need to compile Inkscape on such systems, use the development version from Bazaar, where this bug is fixed. See [https://bugs.launchpad.net/inkscape/+bug/487038 the bug report] for details and a minimal patch.&lt;br /&gt;
* Inkscape compiled with Poppler &amp;lt;= 0.12.1 will run on systems with Poppler &amp;gt;= 0.12.2, but the PDF import function will crash instantly. This problem does not concern Windows users, since the correct Poppler version is contained in the Windows installer package. This cannot be fixed on Inkscape's side: those two versions of Poppler are not ABI compatible, yet share the same soname. See [https://bugs.launchpad.net/inkscape/+bug/258504 this bug] for more details.&lt;br /&gt;
* Poppler's Xpdf headers are not guaranteed to be API-compatible between releases. It's likely that future Poppler versions will break PDF import in some way. PDF import works at least up to 0.12.4 but might not work with later versions.&lt;br /&gt;
&lt;br /&gt;
== Optional Dependencies ==&lt;br /&gt;
&lt;br /&gt;
Inkscape will still compile without these, but some features may be missing if they are absent during compilation:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Library&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Needed for&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Default&lt;br /&gt;
|-&lt;br /&gt;
|aspell&lt;br /&gt;
|Dictionaries for spell checking&lt;br /&gt;
|On&lt;br /&gt;
|-&lt;br /&gt;
|libcdr&lt;br /&gt;
|Open Corel Draw files&lt;br /&gt;
|On&lt;br /&gt;
|-&lt;br /&gt;
|gettext/msgformat&lt;br /&gt;
|Translation support&lt;br /&gt;
|On&lt;br /&gt;
|-&lt;br /&gt;
|gtest/gmock&lt;br /&gt;
|Automatted testing&lt;br /&gt;
|Off&lt;br /&gt;
|-&lt;br /&gt;
|gspell&lt;br /&gt;
|Spell checking&lt;br /&gt;
|On&lt;br /&gt;
|-&lt;br /&gt;
|imagemagick&lt;br /&gt;
|Bitmap editing extensions, bitmap import resolution&lt;br /&gt;
|On&lt;br /&gt;
|-&lt;br /&gt;
|jpeg&lt;br /&gt;
|jpeg import?&lt;br /&gt;
|On&lt;br /&gt;
|-&lt;br /&gt;
|lcms&lt;br /&gt;
|Color management&lt;br /&gt;
|On&lt;br /&gt;
|-&lt;br /&gt;
|OpenMP&lt;br /&gt;
|Multi-threaded filter rendering&lt;br /&gt;
|On&lt;br /&gt;
|-&lt;br /&gt;
|scour&lt;br /&gt;
|Save as Optimized SVG&lt;br /&gt;
|(not needed during compiling, Python)&lt;br /&gt;
|-&lt;br /&gt;
|libvisio&lt;br /&gt;
|Open Visio Files, use Visio stencils&lt;br /&gt;
|On&lt;br /&gt;
|-&lt;br /&gt;
|libwpg&lt;br /&gt;
|Open WordPerfect Graphics&lt;br /&gt;
|On&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:About Inkscape]]&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>LinkMauve</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Roadmap&amp;diff=118551</id>
		<title>Roadmap</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Roadmap&amp;diff=118551"/>
		<updated>2020-06-26T19:13:58Z</updated>

		<summary type="html">&lt;p&gt;LinkMauve: /* 2Geom 1.0 */ Mark tasks as done.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a working document showing specific near-term tasks needed for achieving the numbered milestones. It is '''not a wishlist''' of features to be included in future releases. Because people often work on whatever they feel like, only the current and current+1 releases should be taken seriously.  Beyond that is mainly conjectural.&lt;br /&gt;
&lt;br /&gt;
''See [[OldRoadmap]] for milestones that have already been achieved.''&lt;br /&gt;
&lt;br /&gt;
=== Inkscape 0.92 ~ Infrastructure Focus ===&lt;br /&gt;
* (DONE) &amp;lt;s&amp;gt;Set up autogeneration of Inkscape source code documentation ([http://wiki.inkscape.org/wiki/index.php/Doxygen_documentation Doxygen not available online according to old wiki page] but [http://fossies.org/dox/inkscape-0.91pre2/ available here (fossies.org)])&amp;lt;/s&amp;gt; (http://jenkins.inkscape.org/job/Inkscape_trunk_doxygen/doxygen/)&lt;br /&gt;
** (DONE) &amp;lt;s&amp;gt;Put it publicly somewhere on the inkscape domain for &amp;quot;official&amp;quot; access.&amp;lt;/s&amp;gt; (http://jenkins.inkscape.org/job/Inkscape_trunk_doxygen/doxygen/)&lt;br /&gt;
* (DONE) &amp;lt;s&amp;gt;Build system: migrate away from Autotools (See [[Build system improvements]])&amp;lt;/s&amp;gt;&lt;br /&gt;
** (DONE) &amp;lt;s&amp;gt;Decide between CMake and Waf&amp;lt;/s&amp;gt;&lt;br /&gt;
*** (DONE) &amp;lt;s&amp;gt;Alex will be doing a &amp;quot;neutral party&amp;quot; review of the two&amp;lt;/s&amp;gt;  Decision to go with cmake for now.&lt;br /&gt;
** (DONE) &amp;lt;s&amp;gt;Get decided system working&amp;lt;/s&amp;gt;&lt;br /&gt;
*** See [[CMake_Tasks]]&lt;br /&gt;
** (DONE) &amp;lt;s&amp;gt;Switch release tools to use new build system&amp;lt;/s&amp;gt;  Documented for now; will wait on mechanizing it until after switch to git.&lt;br /&gt;
** (DONE) &amp;lt;s&amp;gt;Switch packaging tools to use new build system&amp;lt;/s&amp;gt;&lt;br /&gt;
** (DONE) &amp;lt;s&amp;gt;Retain Autotools support one final release (legacy support)&amp;lt;/s&amp;gt;, then drop next release.&lt;br /&gt;
* (DONE) &amp;lt;s&amp;gt;Make the Windows uninstaller work (reevaluate this, we now have msi installer for win32 and Win64)&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2Geom 1.0 ===&lt;br /&gt;
* 2geom maintenance&lt;br /&gt;
** (DONE) &amp;lt;s&amp;gt;Stop embedding 2Geom in Inkscape's codebase; handle it as a regular dependency&amp;lt;/s&amp;gt; (https://gitlab.com/inkscape/inkscape/-/merge_requests/2109)&lt;br /&gt;
** (DONE) &amp;lt;s&amp;gt;Move project to gitlab, from https://launchpad.net/lib2geom, http://lib2geom.sourceforge.net/, and https://github.com/inkscape/lib2geom [kk]&amp;lt;/s&amp;gt; (https://gitlab.com/inkscape/lib2geom)&lt;br /&gt;
** Possibly start doing lib2geom releases in conjunction with Inkscape's releases? [bryce]&lt;br /&gt;
** Add to PPAs and other CI / autobuilds we already use for Inkscape [alex + bryce]&lt;br /&gt;
&lt;br /&gt;
=== Inkscape 1.0alpha ~ Maintenance and Optimization Focus ===&lt;br /&gt;
* (DONE) &amp;lt;s&amp;gt;Migration to Git&amp;lt;/s&amp;gt;&lt;br /&gt;
* (DONE) &amp;lt;s&amp;gt;Migration to GitLab&amp;lt;/s&amp;gt;&lt;br /&gt;
* (DONE) &amp;lt;s&amp;gt;Decide which Unit testing framework to use ([http://inkscape.13.x6.nabble.com/Unit-testing-td4967386.html Discussion July 2013 didn't get much traction])&amp;lt;/s&amp;gt;&lt;br /&gt;
** Hackfest consensus is Google test.&lt;br /&gt;
* (DONE) &amp;lt;s&amp;gt;Set up continuous builds (e.g. Travis CI / Appveyor or gitlab)&amp;lt;/s&amp;gt;&lt;br /&gt;
* (DONE) &amp;lt;s&amp;gt;Make C++11 compiler a hard requirement&amp;lt;/s&amp;gt;&lt;br /&gt;
* (DONE) &amp;lt;s&amp;gt;Drop Autotools support (See [[Build system improvements]])&amp;lt;/s&amp;gt;&lt;br /&gt;
* (DONE) &amp;lt;s&amp;gt;Migrate potrace to be an external dependency&amp;lt;/s&amp;gt; Done for 0.92&lt;br /&gt;
* (DONE) &amp;lt;s&amp;gt;Gtk3/UI revamp&amp;lt;/s&amp;gt; Down to bug fixing and follow-on work&lt;br /&gt;
&lt;br /&gt;
* Split out less well maintained extensions to an 'extras' package&lt;br /&gt;
** Add a test suite that runs each extension against a collection of test documents&lt;br /&gt;
** Possibly start doing inkscape-extras releases in conjunction with Inkscape's releases?&lt;br /&gt;
** If we don't achieve this by this release, push it to 1.1 or later&lt;br /&gt;
* Split tutorials and other content from the main executable, to enable them to be updated independently of our main release process&lt;br /&gt;
** Need to investigate where we stand with this, and re-evaluate more precisely what we want to do this release&lt;br /&gt;
* Prepatory work for expanded testing&lt;br /&gt;
** Document how to do the tests&lt;br /&gt;
** Create or identify a good model test case &lt;br /&gt;
** Implement example unit tests for:  SP objects, verbs, cmdline options, live effects, UI dialogs, UI widgets/tools, UI view, etc.&lt;br /&gt;
** Start collecting regression svg files in a testing repository somewhere&lt;br /&gt;
* Thorough testing of document recovery after crash.  Make this more robust.&lt;br /&gt;
** Need to better define what we want to test&lt;br /&gt;
** How should the crash be triggered?&lt;br /&gt;
** What should the document be?&lt;br /&gt;
** Need to be careful about what cases we actually want to consider&lt;br /&gt;
* Improved performance&lt;br /&gt;
** with an empty start&lt;br /&gt;
** when starting up with an existing file&lt;br /&gt;
** peppering printfs in the startup logic shows that some routines that should get called one time only, actually get called multiple times&lt;br /&gt;
** need to investigate if there is existing instrumentation tools that could be used to identify recursion or other causes of slowness during startup&lt;br /&gt;
* Improved mailing list archive&lt;br /&gt;
** Move existing archive to inkscape.org or add an archive mirror at inkscape.org (&amp;quot;official&amp;quot; inkscape information is spread out wide between different domains), this would be an improvement.&lt;br /&gt;
** Consider also bringing lib2geom mailing lists?&lt;br /&gt;
** inkscape: We need postmaster@inkscape.org and abuse@inkscape.org set up.  Maybe as part of a mailing list refresh?&lt;br /&gt;
* Set up effort to package selected branches and organize community testing around them&lt;br /&gt;
** Use this initially for changes planned for landing in 1.0&lt;br /&gt;
** Once we're feature-frozen for 1.0, use this mechanism for wider testing of new feature work&lt;br /&gt;
* Gtk+ 3 migration: Goal is a clean, deprecation-free build&lt;br /&gt;
** Stop using GtkActions.  Migrate toolbars to use plain widgets, and GAction&lt;br /&gt;
** Turn Inkscape into a proper Gtk::Application.  Stop using Gtk::Main&lt;br /&gt;
** GtkMM/C++ify and clean up toolbar code&lt;br /&gt;
** Remove unused GtkAction-based widgets&lt;br /&gt;
&lt;br /&gt;
=== Inkscape 1.0beta ~ Test Case and Documentation Writing Focus ===&lt;br /&gt;
* Write unit test cases&lt;br /&gt;
** Core functions&lt;br /&gt;
* Better translations - keep track of % translations for all languages.  Drive to 95% on all major languages.&lt;br /&gt;
* Cleanup website and wiki&lt;br /&gt;
** Move pages of value to users from wiki to the main website&lt;br /&gt;
** Trim down amount of legacy material presented in the wiki&lt;br /&gt;
* Coder stories&lt;br /&gt;
** different stories about how to do common development tasks, like hooking in a new widget or adding support of a new SVG tag&lt;br /&gt;
** have people sketch in what they know, then pass around for critique to optimize the description&lt;br /&gt;
** where to store the documentation?  Where would someone look?&lt;br /&gt;
&lt;br /&gt;
=== Inkscape 1.0 ===&lt;br /&gt;
* Strict bugfix focus, with all development targeted to feature branches&lt;br /&gt;
* This will be a long term stable release series&lt;br /&gt;
&lt;br /&gt;
-----------------------------------&lt;br /&gt;
'''Following is a WIP draft of the post-1.0 release goals; this is not yet finalized, and should not be taken as official yet'''&lt;br /&gt;
-----------------------------------&lt;br /&gt;
&lt;br /&gt;
=== Inkscape 1.1 ~ New Features ===&lt;br /&gt;
* Land feature branches held for post-1.0&lt;br /&gt;
* SVG Flowed Text&lt;br /&gt;
** Fix flowtext&lt;br /&gt;
** Implement SVG 2 flowed text which has a natural SVG 1.1 fallback.&lt;br /&gt;
** Ex. https://dl.dropboxusercontent.com/u/65084033/irc/ask-smart-questions.svg&lt;br /&gt;
* Externalize some (easy) dependencies for better modularization&lt;br /&gt;
** Break libdepixelize out to its own library&lt;br /&gt;
** Break libnrtype out to its own library&lt;br /&gt;
** Break libuemf out to its own library&lt;br /&gt;
** Switch to using libcroco as a regular dependency (not embedded in our codebase).&lt;br /&gt;
*** Contact maintainer to see if still actively maintaining, and if can roll a new release for us&lt;br /&gt;
*** Else, consider adopting maintenance of the library under the Inkscape project umbrella&lt;br /&gt;
*** Or consider replacement with libcss or other CSS parser.&lt;br /&gt;
*** See http://inkscape.13.x6.nabble.com/Should-inkscape-take-over-libcroco-td2784457.html&lt;br /&gt;
** Switch to using Adaptagrams (libvpsc, libcola &amp;amp; libavoid) as a regular dependency&lt;br /&gt;
*** Contact maintainer to see if still actively maintaining, and if can roll a new release for us&lt;br /&gt;
*** Else, consider adopting maintenance of the library under the Inkscape project umbrella&lt;br /&gt;
*** See https://bugs.launchpad.net/inkscape/+bug/1353833&lt;br /&gt;
* Complete conversion to GTK 3&lt;br /&gt;
** Drop use of libgdl in place of GtkNotebook&lt;br /&gt;
** Be smarter about toolbar layout so we never have invisible (but necessary) buttons off the screen.&lt;br /&gt;
** Rework panels so that they resize consistently and display contents better.  Consider moving back to dialogs in some cases or moving more functionality to the canvas.&lt;br /&gt;
* Begin development of new plugin / extension system(s)&lt;br /&gt;
** C++ API with Python bindings&lt;br /&gt;
** Review the D-Bus scripting API GSoC work from 0.48 timeframe&lt;br /&gt;
** Easy to create&lt;br /&gt;
** Powerful enough to do LPEs, filters, etc.&lt;br /&gt;
** Probably need several different APIs for different levels in the codebase, such as atop the object model, one for canvas stuff, one atop the UI, etc.&lt;br /&gt;
*** For object layer will require better division from UI, so it doesn't require a selection for items to operate on&lt;br /&gt;
** Include a debug print of the loaded extensions/plugins/etc.&lt;br /&gt;
** Establish an Extensions Center for community-collaborative sharing/reviewing/maintaining extensions&lt;br /&gt;
*** Core extensions are shipped with Inkscape&lt;br /&gt;
*** User review ranking&lt;br /&gt;
*** Developer review ranking&lt;br /&gt;
*** Auto-QC ranking (mechanical testing, and checking for docs, test cases, etc.)&lt;br /&gt;
** Search the Extensions Center and install from within Inkscape&lt;br /&gt;
* Switch to using Poppler's API rather than using internals (the current situation causes regular breakage with new releases of Poppler)&lt;br /&gt;
* [[GtkMMification]]&lt;br /&gt;
* Improved performance&lt;br /&gt;
** Working with large files&lt;br /&gt;
** Working with files with lots of filters&lt;br /&gt;
* Consider setting up workflow (passing tests, test coverage, code review) for getting code into trunk.&lt;br /&gt;
** Improve new contributor experience for getting patch reviews&lt;br /&gt;
** Switch patch review software from launchpad to something like mailing list + patchwork, or phabricator&lt;br /&gt;
* make msi Windows install multilingual&lt;br /&gt;
* Implement application-scope actions and &amp;quot;remixable&amp;quot; user interfaces:&lt;br /&gt;
** Replace &amp;quot;Verbs&amp;quot; with application-scope Gio::Action definitions.&lt;br /&gt;
** Define user-interface using Gtk::Builder XML files.&lt;br /&gt;
** Provide command-line &amp;quot;headless&amp;quot; access to application actions.&lt;br /&gt;
** Provide documentation for all actions, and tutorial for GUI customization&lt;br /&gt;
&lt;br /&gt;
=== Inkscape 1.2 ~ Refactoring ===&lt;br /&gt;
* Split backend / GUI frontend&lt;br /&gt;
* Flip y-coordinate to match SVG.&lt;br /&gt;
** Introduce a backwards compatibility mechanism that will allow us to modify the XML representation of editing info. This is needed to bring the desktop coordinate system in line with SVG due to guideline and 3D box problems (they save desktop coordinates in the XML). This can be done either at the SP tree level or by moving to a SAX-based parser which updates the editing information as the document is parsed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>LinkMauve</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.1&amp;diff=118364</id>
		<title>Release notes/1.1</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Release_notes/1.1&amp;diff=118364"/>
		<updated>2020-05-05T14:37:00Z</updated>

		<summary type="html">&lt;p&gt;LinkMauve: /* Important changes */ Add a mention about aspell too.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Other languages | en = {{FULLPAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
== Release highlights ==&lt;br /&gt;
&lt;br /&gt;
'''Definitely not released yet.'''&lt;br /&gt;
&lt;br /&gt;
Inkscape 1.1 is a stability and bugfix release. &lt;br /&gt;
&lt;br /&gt;
[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]&lt;br /&gt;
&lt;br /&gt;
The most notable improvements are: &lt;br /&gt;
&lt;br /&gt;
* Fill in&lt;br /&gt;
&lt;br /&gt;
== Important changes ==&lt;br /&gt;
&lt;br /&gt;
* For packagers: we do not depend on GtkSpell and ASpell but on GSpell for spelling checks.&lt;br /&gt;
&lt;br /&gt;
== Improvements ==&lt;br /&gt;
&lt;br /&gt;
* In Edit &amp;gt; Preferences &amp;gt; Imported images : Import, there is a new option that allows you to disable relative paths to linked files (&amp;quot;Store absolute file path for linked images&amp;quot;, active by default).&lt;br /&gt;
* [https://en.wikipedia.org/wiki/XInclude XInclude] support&lt;br /&gt;
* Hidden dialogs stop receiving signals and release resources&lt;br /&gt;
* Shell mode: a history of commands is now remembered and can be accessed with the up and down arrow keys. [Tab ... autocompletion?]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- == Regression fixes ==&lt;br /&gt;
&lt;br /&gt;
* ... --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notable bugfixes ==&lt;br /&gt;
&lt;br /&gt;
* Fill in&lt;br /&gt;
&lt;br /&gt;
== Crash fixes ==&lt;br /&gt;
&lt;br /&gt;
Fix a crash &amp;amp;hellip;&lt;br /&gt;
* &amp;amp;hellip; when ... ([https://gitlab.com/inkscape/inkscape/issues/ #number])&lt;br /&gt;
&lt;br /&gt;
== More bug fixes ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
== Translations ==&lt;br /&gt;
&lt;br /&gt;
The following UI translations received updates:&lt;br /&gt;
&lt;br /&gt;
* Language&lt;br /&gt;
&lt;br /&gt;
The following documentation translations received updates:&lt;br /&gt;
&lt;br /&gt;
* Language&lt;br /&gt;
&lt;br /&gt;
=== Contributing to interface translations ===&lt;br /&gt;
&lt;br /&gt;
Want to help with translations? [https://inkscape.org/contribute/translations/ Learn how to help!]&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
* Some missing options were added to the man page (command line help)&lt;br /&gt;
* Some missing keyboard shortcuts were added to the keyboard shortcut reference&lt;br /&gt;
&lt;br /&gt;
=== Contributing to documentation and documentation translation ===&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* Fill in&lt;br /&gt;
* 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.&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
== Previous releases ==&lt;br /&gt;
* [[Release notes/0.92]]&lt;br /&gt;
* [[Release notes/0.92.1]]&lt;br /&gt;
* [[Release notes/0.92.2]]&lt;br /&gt;
* [[Release notes/0.92.3]]&lt;br /&gt;
* [[Release notes/0.92.4]]&lt;br /&gt;
* [[Release notes/0.92.5]]&lt;br /&gt;
* [[Release notes/1.0]]&lt;/div&gt;</summary>
		<author><name>LinkMauve</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=C%2B%2B17&amp;diff=117759</id>
		<title>C++17</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=C%2B%2B17&amp;diff=117759"/>
		<updated>2020-04-14T09:57:56Z</updated>

		<summary type="html">&lt;p&gt;LinkMauve: Add move semantics&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Usage status ==&lt;br /&gt;
This table lists C++14 and C++17 features and whether they can be used in Inkscape or not (yet).&lt;br /&gt;
Add C++14 or C++17 features that you would like to use to the table, so that we know what to test for to increase the C++17 &amp;quot;allowance&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Feature !! Since !! Can use? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;std::move&amp;lt;/code&amp;gt; and rvalues || C++11 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.0 || Allows passing ownership of internal resources between objects&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;enum class&amp;lt;/code&amp;gt; || C++11 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Strong enum constants (take the name of the enum, can't be implicitly converted to &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;std::make_unique&amp;lt;Foo&amp;gt;(…)&amp;lt;/code&amp;gt; || C++14 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Replaces &amp;lt;code&amp;gt;std::unique_ptr&amp;lt;Foo&amp;gt;(new Foo(…))&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constexpr&amp;lt;/code&amp;gt; || C++14 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Declares a variable as usable in a const expression&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;if constexpr&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Guarantees the branches will be decided at compile-time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;std::variant&amp;lt;…&amp;gt;&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Type-safe union, where the contained type is known at runtime&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;std::optional&amp;lt;…&amp;gt;&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Object type (not a pointer or reference) which can either exist or be &amp;lt;code&amp;gt;std::nullopt&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;auto [x, y] = foo();&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Structured binding, for returning more than a single value&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;namespace A::B::C&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Nested namespaces&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;inline static const int&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Inline variables (inside header files)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;std::filesystem&amp;lt;code&amp;gt; || C++17 || not yet || Filesystem library (may not be useful as we are using Gio::File).  Also only supported from gcc 8, and Ubuntu 18.04 only has gcc 7.&lt;br /&gt;
|-&lt;br /&gt;
| toxic feature of doom || || style=&amp;quot;background: red;&amp;quot; | NO || Never use this (in case we stumble upon C++14/C++17 features that we really don't like)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Platform status ==&lt;br /&gt;
&lt;br /&gt;
We need to keep coordinated with the section on [[Tracking_Dependencies#Distros|Distro Dependencies]].&lt;br /&gt;
&lt;br /&gt;
Also see this page:&lt;br /&gt;
* http://en.cppreference.com/w/cpp/compiler_support&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;code&amp;gt;__cplusplus&amp;lt;/code&amp;gt; is always &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for GCC 4.6 that is used on Windows. So &amp;lt;code&amp;gt;#if __cplusplus &amp;lt; 201103L&amp;lt;/code&amp;gt; or variants does not work to choose between C++03 or C++11 code.&lt;br /&gt;
&lt;br /&gt;
C++17 is well supported by all major compilers.&lt;br /&gt;
&lt;br /&gt;
Compiler version when feature complete:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!         !! GCC        !! Clang                                                                !! MSVC                                        &lt;br /&gt;
|-&lt;br /&gt;
|C++17    || 7 (2017)  || 4   (2017) (5 for constexpr lambda expressions)                       || 19.14 (2017)&lt;br /&gt;
|-&lt;br /&gt;
|C++20    || 10*       || 10*                                                                   || 19.22#&lt;br /&gt;
|}&lt;br /&gt;
'*' Mostly complete&lt;br /&gt;
'#' About half complete&lt;/div&gt;</summary>
		<author><name>LinkMauve</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=C%2B%2B17&amp;diff=117758</id>
		<title>C++17</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=C%2B%2B17&amp;diff=117758"/>
		<updated>2020-04-14T09:56:24Z</updated>

		<summary type="html">&lt;p&gt;LinkMauve: Make std::filesystem not yet.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Usage status ==&lt;br /&gt;
This table lists C++14 and C++17 features and whether they can be used in Inkscape or not (yet).&lt;br /&gt;
Add C++14 or C++17 features that you would like to use to the table, so that we know what to test for to increase the C++17 &amp;quot;allowance&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Feature !! Since !! Can use? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;enum class&amp;lt;/code&amp;gt; || C++11 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Strong enum constants (take the name of the enum, can't be implicitly converted to &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;std::make_unique&amp;lt;Foo&amp;gt;(…)&amp;lt;/code&amp;gt; || C++14 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Replaces &amp;lt;code&amp;gt;std::unique_ptr&amp;lt;Foo&amp;gt;(new Foo(…))&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constexpr&amp;lt;/code&amp;gt; || C++14 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Declares a variable as usable in a const expression&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;if constexpr&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Guarantees the branches will be decided at compile-time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;std::variant&amp;lt;…&amp;gt;&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Type-safe union, where the contained type is known at runtime&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;std::optional&amp;lt;…&amp;gt;&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Object type (not a pointer or reference) which can either exist or be &amp;lt;code&amp;gt;std::nullopt&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;auto [x, y] = foo();&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Structured binding, for returning more than a single value&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;namespace A::B::C&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Nested namespaces&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;inline static const int&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Inline variables (inside header files)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;std::filesystem&amp;lt;code&amp;gt; || C++17 || not yet || Filesystem library (may not be useful as we are using Gio::File).  Also only supported from gcc 8, and Ubuntu 18.04 only has gcc 7.&lt;br /&gt;
|-&lt;br /&gt;
| toxic feature of doom || || style=&amp;quot;background: red;&amp;quot; | NO || Never use this (in case we stumble upon C++14/C++17 features that we really don't like)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Platform status ==&lt;br /&gt;
&lt;br /&gt;
We need to keep coordinated with the section on [[Tracking_Dependencies#Distros|Distro Dependencies]].&lt;br /&gt;
&lt;br /&gt;
Also see this page:&lt;br /&gt;
* http://en.cppreference.com/w/cpp/compiler_support&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;code&amp;gt;__cplusplus&amp;lt;/code&amp;gt; is always &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for GCC 4.6 that is used on Windows. So &amp;lt;code&amp;gt;#if __cplusplus &amp;lt; 201103L&amp;lt;/code&amp;gt; or variants does not work to choose between C++03 or C++11 code.&lt;br /&gt;
&lt;br /&gt;
C++17 is well supported by all major compilers.&lt;br /&gt;
&lt;br /&gt;
Compiler version when feature complete:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!         !! GCC        !! Clang                                                                !! MSVC                                        &lt;br /&gt;
|-&lt;br /&gt;
|C++17    || 7 (2017)  || 4   (2017) (5 for constexpr lambda expressions)                       || 19.14 (2017)&lt;br /&gt;
|-&lt;br /&gt;
|C++20    || 10*       || 10*                                                                   || 19.22#&lt;br /&gt;
|}&lt;br /&gt;
'*' Mostly complete&lt;br /&gt;
'#' About half complete&lt;/div&gt;</summary>
		<author><name>LinkMauve</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=C%2B%2B17&amp;diff=117750</id>
		<title>C++17</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=C%2B%2B17&amp;diff=117750"/>
		<updated>2020-04-13T11:23:05Z</updated>

		<summary type="html">&lt;p&gt;LinkMauve: Add enum class&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Usage status ==&lt;br /&gt;
This table lists C++14 and C++17 features and whether they can be used in Inkscape or not (yet).&lt;br /&gt;
Add C++14 or C++17 features that you would like to use to the table, so that we know what to test for to increase the C++17 &amp;quot;allowance&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Feature !! Since !! Can use? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;enum class&amp;lt;/code&amp;gt; || C++11 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Strong enum constants (take the name of the enum, can't be implicitly converted to &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;std::make_unique&amp;lt;Foo&amp;gt;(…)&amp;lt;/code&amp;gt; || C++14 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Replaces &amp;lt;code&amp;gt;std::unique_ptr&amp;lt;Foo&amp;gt;(new Foo(…))&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constexpr&amp;lt;/code&amp;gt; || C++14 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Declares a variable as usable in a const expression&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;if constexpr&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Guarantees the branches will be decided at compile-time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;std::variant&amp;lt;…&amp;gt;&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Type-safe union, where the contained type is known at runtime&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;std::optional&amp;lt;…&amp;gt;&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Object type (not a pointer or reference) which can either exist or be &amp;lt;code&amp;gt;std::nullopt&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;auto [x, y] = foo();&amp;lt;/code&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Structured binding, for returning more than a single value&lt;br /&gt;
|-&lt;br /&gt;
| toxic feature of doom || || style=&amp;quot;background: red;&amp;quot; | NO || Never use this (in case we stumble upon C++14/C++17 features that we really don't like)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Platform status ==&lt;br /&gt;
&lt;br /&gt;
We need to keep coordinated with the section on [[Tracking_Dependencies#Distros|Distro Dependencies]].&lt;br /&gt;
&lt;br /&gt;
Also see this page:&lt;br /&gt;
* http://en.cppreference.com/w/cpp/compiler_support&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;code&amp;gt;__cplusplus&amp;lt;/code&amp;gt; is always &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for GCC 4.6 that is used on Windows. So &amp;lt;code&amp;gt;#if __cplusplus &amp;lt; 201103L&amp;lt;/code&amp;gt; or variants does not work to choose between C++03 or C++11 code.&lt;br /&gt;
&lt;br /&gt;
C++17 is well supported by all major compilers.&lt;br /&gt;
&lt;br /&gt;
Compiler version when feature complete:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!         !! GCC        !! Clang                                                                !! MSVC                                        &lt;br /&gt;
|-&lt;br /&gt;
|C++17    || 7 (2017)  || 4   (2017) (5 for constexpr lambda expressions)                       || 19.14 (2017)&lt;br /&gt;
|-&lt;br /&gt;
|C++20    || 10*       || 10*                                                                   || 19.22#&lt;br /&gt;
|}&lt;br /&gt;
'*' Mostly complete&lt;br /&gt;
'#' About half complete&lt;/div&gt;</summary>
		<author><name>LinkMauve</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=C%2B%2B17&amp;diff=117749</id>
		<title>C++17</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=C%2B%2B17&amp;diff=117749"/>
		<updated>2020-04-13T11:18:50Z</updated>

		<summary type="html">&lt;p&gt;LinkMauve: Add structured binding&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Usage status ==&lt;br /&gt;
This table lists C++14 and C++17 features and whether they can be used in Inkscape or not (yet).&lt;br /&gt;
Add C++14 or C++17 features that you would like to use to the table, so that we know what to test for to increase the C++17 &amp;quot;allowance&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Feature !! Since !! Can use? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| std::make_unique&amp;lt;Foo&amp;gt;(…) || C++14 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Replaces std::unique_ptr&amp;lt;Foo&amp;gt;(new Foo(…))&lt;br /&gt;
|-&lt;br /&gt;
| constexpr || C++14 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Declares a variable as usable in a const expression&lt;br /&gt;
|-&lt;br /&gt;
| if constexpr || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Guarantees the branches will be decided at compile-time&lt;br /&gt;
|-&lt;br /&gt;
| std::variant&amp;lt;…&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Type-safe union, where the contained type is known at runtime&lt;br /&gt;
|-&lt;br /&gt;
| std::optional&amp;lt;…&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Object type (not a pointer or reference) which can either exist or be nullopt&lt;br /&gt;
|-&lt;br /&gt;
| auto [x, y] = foo() || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Structured binding, for returning more than a single value&lt;br /&gt;
|-&lt;br /&gt;
| toxic feature of doom || || style=&amp;quot;background: red;&amp;quot; | NO || Never use this (in case we stumble upon C++14/C++17 features that we really don't like)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Platform status ==&lt;br /&gt;
&lt;br /&gt;
We need to keep coordinated with the section on [[Tracking_Dependencies#Distros|Distro Dependencies]].&lt;br /&gt;
&lt;br /&gt;
Also see this page:&lt;br /&gt;
* http://en.cppreference.com/w/cpp/compiler_support&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;code&amp;gt;__cplusplus&amp;lt;/code&amp;gt; is always &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for GCC 4.6 that is used on Windows. So &amp;lt;code&amp;gt;#if __cplusplus &amp;lt; 201103L&amp;lt;/code&amp;gt; or variants does not work to choose between C++03 or C++11 code.&lt;br /&gt;
&lt;br /&gt;
C++17 is well supported by all major compilers.&lt;br /&gt;
&lt;br /&gt;
Compiler version when feature complete:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!         !! GCC        !! Clang                                                                !! MSVC                                        &lt;br /&gt;
|-&lt;br /&gt;
|C++17    || 7 (2017)  || 4   (2017) (5 for constexpr lambda expressions)                       || 19.14 (2017)&lt;br /&gt;
|-&lt;br /&gt;
|C++20    || 10*       || 10*                                                                   || 19.22#&lt;br /&gt;
|}&lt;br /&gt;
'*' Mostly complete&lt;br /&gt;
'#' About half complete&lt;/div&gt;</summary>
		<author><name>LinkMauve</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=C%2B%2B17&amp;diff=117748</id>
		<title>C++17</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=C%2B%2B17&amp;diff=117748"/>
		<updated>2020-04-13T11:17:04Z</updated>

		<summary type="html">&lt;p&gt;LinkMauve: Add std::variant and std::optional&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Usage status ==&lt;br /&gt;
This table lists C++14 and C++17 features and whether they can be used in Inkscape or not (yet).&lt;br /&gt;
Add C++14 or C++17 features that you would like to use to the table, so that we know what to test for to increase the C++17 &amp;quot;allowance&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Feature !! Since !! Can use? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| std::make_unique&amp;lt;Foo&amp;gt;() || C++14 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Replaces std::unique_ptr&amp;lt;Foo&amp;gt;(new Foo(…))&lt;br /&gt;
|-&lt;br /&gt;
| constexpr || C++14 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Declares a variable as usable in a const expression&lt;br /&gt;
|-&lt;br /&gt;
| if constexpr || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Guarantees the branches will be decided at compile-time&lt;br /&gt;
|-&lt;br /&gt;
| std::variant&amp;lt;…&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Type-safe union, where the contained type is known at runtime&lt;br /&gt;
|-&lt;br /&gt;
| std::optional&amp;lt;…&amp;gt; || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Object type (not a pointer or reference) which can either exist or be nullopt&lt;br /&gt;
|-&lt;br /&gt;
| toxic feature of doom || || style=&amp;quot;background: red;&amp;quot; | NO || Never use this (in case we stumble upon C++14/C++17 features that we really don't like)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Platform status ==&lt;br /&gt;
&lt;br /&gt;
We need to keep coordinated with the section on [[Tracking_Dependencies#Distros|Distro Dependencies]].&lt;br /&gt;
&lt;br /&gt;
Also see this page:&lt;br /&gt;
* http://en.cppreference.com/w/cpp/compiler_support&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;code&amp;gt;__cplusplus&amp;lt;/code&amp;gt; is always &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for GCC 4.6 that is used on Windows. So &amp;lt;code&amp;gt;#if __cplusplus &amp;lt; 201103L&amp;lt;/code&amp;gt; or variants does not work to choose between C++03 or C++11 code.&lt;br /&gt;
&lt;br /&gt;
C++17 is well supported by all major compilers.&lt;br /&gt;
&lt;br /&gt;
Compiler version when feature complete:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!         !! GCC        !! Clang                                                                !! MSVC                                        &lt;br /&gt;
|-&lt;br /&gt;
|C++17    || 7 (2017)  || 4   (2017) (5 for constexpr lambda expressions)                       || 19.14 (2017)&lt;br /&gt;
|-&lt;br /&gt;
|C++20    || 10*       || 10*                                                                   || 19.22#&lt;br /&gt;
|}&lt;br /&gt;
'*' Mostly complete&lt;br /&gt;
'#' About half complete&lt;/div&gt;</summary>
		<author><name>LinkMauve</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=C%2B%2B17&amp;diff=117747</id>
		<title>C++17</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=C%2B%2B17&amp;diff=117747"/>
		<updated>2020-04-13T11:04:11Z</updated>

		<summary type="html">&lt;p&gt;LinkMauve: Copy the C++11 page and update for C++17 to be the baseline.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Usage status ==&lt;br /&gt;
This table lists C++14 and C++17 features and whether they can be used in Inkscape or not (yet).&lt;br /&gt;
Add C++14 or C++17 features that you would like to use to the table, so that we know what to test for to increase the C++17 &amp;quot;allowance&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Feature !! Since !! Can use? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| std::make_unique&amp;lt;Foo&amp;gt;() || C++14 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Replaces std::unique_ptr&amp;lt;Foo&amp;gt;(new Foo(…))&lt;br /&gt;
|-&lt;br /&gt;
| constexpr || C++14 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Declares a variable as usable in a const expression&lt;br /&gt;
|-&lt;br /&gt;
| if constexpr || C++17 ||  style=&amp;quot;background: lightgreen;&amp;quot; | from 1.1 || Guarantees the branches will be decided at compile-time&lt;br /&gt;
|-&lt;br /&gt;
| toxic feature of doom || || style=&amp;quot;background: red;&amp;quot; | NO || Never use this (in case we stumble upon C++14/C++17 features that we really don't like)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Platform status ==&lt;br /&gt;
&lt;br /&gt;
We need to keep coordinated with the section on [[Tracking_Dependencies#Distros|Distro Dependencies]].&lt;br /&gt;
&lt;br /&gt;
Also see this page:&lt;br /&gt;
* http://en.cppreference.com/w/cpp/compiler_support&lt;br /&gt;
&lt;br /&gt;
Note that &amp;lt;code&amp;gt;__cplusplus&amp;lt;/code&amp;gt; is always &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; for GCC 4.6 that is used on Windows. So &amp;lt;code&amp;gt;#if __cplusplus &amp;lt; 201103L&amp;lt;/code&amp;gt; or variants does not work to choose between C++03 or C++11 code.&lt;br /&gt;
&lt;br /&gt;
C++17 is well supported by all major compilers.&lt;br /&gt;
&lt;br /&gt;
Compiler version when feature complete:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!         !! GCC        !! Clang                                                                !! MSVC                                        &lt;br /&gt;
|-&lt;br /&gt;
|C++17    || 7 (2017)  || 4   (2017) (5 for constexpr lambda expressions)                       || 19.14 (2017)&lt;br /&gt;
|-&lt;br /&gt;
|C++20    || 10*       || 10*                                                                   || 19.22#&lt;br /&gt;
|}&lt;br /&gt;
'*' Mostly complete&lt;br /&gt;
'#' About half complete&lt;/div&gt;</summary>
		<author><name>LinkMauve</name></author>
	</entry>
</feed>