Difference between revisions of "PastMilestones"

From Inkscape Wiki
Jump to navigation Jump to search
(Moving 0.40 tasks to Past)
(Removed spam)
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Past Milestones ==
+
Past Milestones ==
  
=== Milestone 0 ===
+
Milestone 0 ===
  
 
Inkscape Production:
 
Inkscape Production:
Line 11: Line 11:
 
* (DONE) Install inkscape 0.00 for personal use [ted]
 
* (DONE) Install inkscape 0.00 for personal use [ted]
 
* (DONE) Install inkscape 0.00 for personal use [njh]
 
* (DONE) Install inkscape 0.00 for personal use [njh]
* (DONE) Decide what release number N to use (0.00? 0.33? 0.35? 1.00?) - we'll use 0.35
+
* (DONE) Decide what release number N to use (0.00? 0.33? 0.35? 1.00?) - we'll use 0.35
  
 
Inkscape Experimental
 
Inkscape Experimental
Line 22: Line 22:
 
* (DONE) Post sketchy website with homepage, contact info, news, and pointer to wiki [bryce]
 
* (DONE) Post sketchy website with homepage, contact info, news, and pointer to wiki [bryce]
 
* (DONE) Set up website to auto-rebuild every few minutes [bryce]
 
* (DONE) Set up website to auto-rebuild every few minutes [bryce]
 +
Milestone 1
 +
  
=== Milestone 1 ===
 
 
Inkscape Production
 
Inkscape Production
 
* (DONE) Get inkscape to build with a C++ compiler [team]
 
* (DONE) Get inkscape to build with a C++ compiler [team]
Line 44: Line 45:
 
* (DONE) SourceForge RFE section needs setting up (categories and groups) [bryce]
 
* (DONE) SourceForge RFE section needs setting up (categories and groups) [bryce]
 
* (DONE) Create inkscape_project module & add wiki.pl there [bryce]
 
* (DONE) Create inkscape_project module & add wiki.pl there [bryce]
 +
Inkscape 0.36 - Milestone 2
  
=== Inkscape 0.36 - Milestone 2 ===
+
 
Objective: Implement new features & do prep work for major changes in future
+
Objective: Implement new features & do prep work for major changes in future
  
 
Inkscape Production
 
Inkscape Production
Line 57: Line 59:
 
* (DONE) Implement preliminary support for doxygen or doc++ in the codebase [tgould]
 
* (DONE) Implement preliminary support for doxygen or doc++ in the codebase [tgould]
 
* (DONE) Implement preliminary support for arrowheads on path ends [bryce]
 
* (DONE) Implement preliminary support for arrowheads on path ends [bryce]
* (DONE) Make [[SPGroup]]s behave like layers if inkscape:groupmode is set to "layer" [mental]
+
* (DONE) Make SPGroup?s behave like layers if inkscape:groupmode is set to "layer" [mental]
 
* (DONE) Decide on URI namespace [mental, bryce] - http://www.inkscape.org/namespaces/inkscape
 
* (DONE) Decide on URI namespace [mental, bryce] - http://www.inkscape.org/namespaces/inkscape
 
* (DONE) Implement an Inkscape namespaces [mental]
 
* (DONE) Implement an Inkscape namespaces [mental]
 
* (DONE) Eliminate all warnings in g++ build process on Linux [joncruz]
 
* (DONE) Eliminate all warnings in g++ build process on Linux [joncruz]
 
* (DONE) Incorporate bulk of patches posted to patch tracker [Kees]
 
* (DONE) Incorporate bulk of patches posted to patch tracker [Kees]
* (DONE) Fix bug: on quit, still says I have unsaved changes, even though I saved
+
* (DONE) Fix bug: on quit, still says I have unsaved changes, even though I saved
* (DONE) Fix bug: save as/save should use "SVG with xmlns:sodipodi namespace" as default [tgould]
+
* (DONE) Fix bug: save as/save should use "SVG with xmlns:sodipodi namespace" as default [tgould]
* (DONE) Fix bug: files are sometimes erroneously saved without the extension namespaces (typically the first time) [tgould, mental]
+
* (DONE) Fix bug: files are sometimes erroneously saved without the extension namespaces (typically the first time) [tgould, mental]
 
* (DONE) Rename "SVG with xmlns:sodipodi namespace" to "SVG with extension namespaces" [mental]
 
* (DONE) Rename "SVG with xmlns:sodipodi namespace" to "SVG with extension namespaces" [mental]
 
* (DONE) Rewrite inkscape manpage [bryce]
 
* (DONE) Rewrite inkscape manpage [bryce]
Line 73: Line 75:
 
* (DONE) Create Windows exe package for 0.36 [mael]
 
* (DONE) Create Windows exe package for 0.36 [mael]
 
* (DONE) Post release to Freshmeat [tgould or bryce]
 
* (DONE) Post release to Freshmeat [tgould or bryce]
* (DONE) Send mentions to GnomeDesktop, LWN, and other sites [kidproto=rejon]
+
* (DONE) Send mentions to GnomeDesktop?, LWN, and other sites [kidproto=rejon]
  
 
Interface & usability
 
Interface & usability
* (DONE) Merge BORKEN UI reorganization [mental]  
+
* (DONE) Merge BORKEN UI reorganization [mental]
 
* (DONE) Make all dialogs unsinkable, closeable (ctrl-f4, ctrl-w), defocusable (esc, enter in textfields) [bb]
 
* (DONE) Make all dialogs unsinkable, closeable (ctrl-f4, ctrl-w), defocusable (esc, enter in textfields) [bb]
 
* (DONE) Make all dialogs remember size and position across sessions [bb]
 
* (DONE) Make all dialogs remember size and position across sessions [bb]
Line 85: Line 87:
 
Inkscape Experimental R&D
 
Inkscape Experimental R&D
 
* (DONE) Describe what needs to be done to fix ambiguous default namespace issue [mental]
 
* (DONE) Describe what needs to be done to fix ambiguous default namespace issue [mental]
:We need to disambiguate between qnames that have no namespace and qnames in the default namespace (normally SVG's). Since internally we use a standard set of prefixes with qnames rather than expanded names, this means using e.g. "svg:g" and "svg:svg" instead of "g" and "svg" everywhere to name SVG elements. Note that namespaces are normalized to our standard prefix mappings at load time, so that does not itself constitute a compliance issue. -- MenTaLguY
+
:We need to disambiguate between qnames that have no namespace and qnames in the default namespace (normally SVG's). Since internally we use a standard set of prefixes with qnames rather than expanded names, this means using e.g. "svg:g" and "svg:svg" instead of "g" and "svg" everywhere to name SVG elements. Note that namespaces are normalized to our standard prefix mappings at load time, so that does not itself constitute a compliance issue. -- MenTaLguY?
 
* (DONE) Select a regression test system strategy (I wrote a very minimal testing framework) [mental]
 
* (DONE) Select a regression test system strategy (I wrote a very minimal testing framework) [mental]
* (DONE) Build a prototype GridOptions dialog using gtkmm [njh]
+
* (DONE) Build a prototype GridOptions? dialog using gtkmm [njh]
 
* (DONE) Prototype stroking/path enhancements [njh]
 
* (DONE) Prototype stroking/path enhancements [njh]
 
* (DONE) Start assembling list of requirements for plugin system [bryce]
 
* (DONE) Start assembling list of requirements for plugin system [bryce]
* (DONE) Change Inkscape from 'CSDI' to 'SDI'. See [http://developer.gnome.org/projects/gup/hig/1.0/windows.html#document-interface-types HIG Document Interface Types] [mental]
+
* (DONE) Change Inkscape from 'CSDI' to 'SDI'. See [HIG Document Interface Types] [mental]
  
 
Inkscape Website & Project
 
Inkscape Website & Project
Line 100: Line 102:
 
* (DONE) Set up a 'project' cvs module for putting config files, backups, etc. [bryce]
 
* (DONE) Set up a 'project' cvs module for putting config files, backups, etc. [bryce]
 
* (DONE) Plan out Milestone 3 [bryce]
 
* (DONE) Plan out Milestone 3 [bryce]
 +
Inkscape 0.37 - Milestone 3
  
=== Inkscape 0.37 - Milestone 3 ===
+
 
Objective: Convert codebase to C++ and cleanup codebase
+
Objective: Convert codebase to C++ and cleanup codebase
  
 
Inkscape Production
 
Inkscape Production
Line 182: Line 185:
 
* (DONE) Set up automatically updated display of man page(s) onto Inkscape website [kidproto=rejon]
 
* (DONE) Set up automatically updated display of man page(s) onto Inkscape website [kidproto=rejon]
 
* (DONE) Initiate clipart effort [bryce]
 
* (DONE) Initiate clipart effort [bryce]
 +
Milestone 4 - Bug Hunt & Testing - Inkscape 0.38
  
  
 
=== Milestone 4 - Bug Hunt & Testing - Inkscape 0.38 ===
 
  
 
* (DONE) Port Inkscape to work with ebuild, the gentoo packaging/compiling system
 
* (DONE) Port Inkscape to work with ebuild, the gentoo packaging/compiling system
Line 191: Line 193:
 
* (DONE) Implement text kerning and spacing (hor & vert), at least by keys [bb]
 
* (DONE) Implement text kerning and spacing (hor & vert), at least by keys [bb]
 
* (DONE) outline help system, possible strategies and available documentation for inclusion - use SVG! [bb]
 
* (DONE) outline help system, possible strategies and available documentation for inclusion - use SVG! [bb]
 +
Milestone 5 - Pango Architectural Change - Inkscape 0.39
  
  
=== Milestone 5 - Pango Architectural Change - Inkscape 0.39 ===
 
  
 
* (DONE) Develop GTKMM mockup/ideas for the Layers dialog [brisgeek, mental]
 
* (DONE) Develop GTKMM mockup/ideas for the Layers dialog [brisgeek, mental]
* (DONE) Consider trimming ChangeLog (currently ~370 KB) [bryce]
+
* (DONE) Consider trimming ChangeLog? (currently ~370 KB) [bryce]
 
* (DONE) Wiki site refactoring/cleanup - move old or less useful links off the top wiki page [bryce]
 
* (DONE) Wiki site refactoring/cleanup - move old or less useful links off the top wiki page [bryce]
 
* (DONE) Review and revise TricksAndTips - can some of these move to the User Manual?
 
* (DONE) Review and revise TricksAndTips - can some of these move to the User Manual?
Line 213: Line 215:
 
* (DONE) Replace calls to arikkei string/tokenizing routines in libnrtype/ with standard glib functions & remove libarikkei
 
* (DONE) Replace calls to arikkei string/tokenizing routines in libnrtype/ with standard glib functions & remove libarikkei
 
* (DONE) Expand the Preferences dialog (see HandlingPreferences) [bb]
 
* (DONE) Expand the Preferences dialog (see HandlingPreferences) [bb]
* (DONE) Create SetStyleSignal and make Dropper useful [bb]
+
* (DONE) Create SetStyleSignal? and make Dropper useful [bb]
 
* (DONE) Reorganize/trim down User Interface Discussion section of main wiki page [bryce]
 
* (DONE) Reorganize/trim down User Interface Discussion section of main wiki page [bryce]
 
* (DONE) Incorporate ECMA Javascript [ishmal]
 
* (DONE) Incorporate ECMA Javascript [ishmal]
Line 221: Line 223:
 
* (DONE) Make Pango a required dependency for Inkscape & remove compile-time option scaffolding
 
* (DONE) Make Pango a required dependency for Inkscape & remove compile-time option scaffolding
 
* (DONE) Create a pango_test in the experimental CVS module [fred]
 
* (DONE) Create a pango_test in the experimental CVS module [fred]
* (DONE) Test outlines using Pango [fred] - c.f. test_font->RasterFont(one_mat,the_stroke_width)
+
* (DONE) Test outlines using Pango [fred] - c.f. test_font->RasterFont?(one_mat,the_stroke_width)
 
* (DONE) Test vertical text using Pango with multi-glyph characters like an A with an umlaut [fred]
 
* (DONE) Test vertical text using Pango with multi-glyph characters like an A with an umlaut [fred]
 
* (DONE) Document functions in libnrtype
 
* (DONE) Document functions in libnrtype
Line 230: Line 232:
  
 
Holdovers from last release
 
Holdovers from last release
* (DONE) Write an extensions/plugin enhancement proposal(s) and post to mailing list and [http://inkscape.org/cgi-bin/wiki.pl?ExtensionArchitectureProposals this wiki page] for review [bryce]
+
* (DONE) Write an extensions/plugin enhancement proposal(s) and post to mailing list and [this wiki page] for review [bryce]
 
* (DONE, but needs fixing libnr display while dragging) Implement "scale stroke" switch
 
* (DONE, but needs fixing libnr display while dragging) Implement "scale stroke" switch
  
Line 243: Line 245:
 
* (DONE) Consider refactoring for the main Inkscape website
 
* (DONE) Consider refactoring for the main Inkscape website
 
* (DONE) Trim down the number of links on the main wiki page to be much fewer
 
* (DONE) Trim down the number of links on the main wiki page to be much fewer
 +
Milestone 6 - Features and Fixes - Inkscape 0.40
 +
  
=== Milestone 6 - Features and Fixes - Inkscape 0.40 ===
+
New/Changed? Dependencies
New/Changed Dependencies
 
 
* (DONE) Add a dependency on libgc (the Boehm conservative collector), which will be required for the AST code [mental]
 
* (DONE) Add a dependency on libgc (the Boehm conservative collector), which will be required for the AST code [mental]
 
* (DONE) Switch to sigc++ 2 + gtkmm 2 early in 0.40, before we start doing gtkmm-intensive stuff like the layers dialog etc. [mental]
 
* (DONE) Switch to sigc++ 2 + gtkmm 2 early in 0.40, before we start doing gtkmm-intensive stuff like the layers dialog etc. [mental]
Line 259: Line 262:
 
** (DONE) add SPObject::defaultLabel() to return a default label string if inkscape:label is unset [bryce]
 
** (DONE) add SPObject::defaultLabel() to return a default label string if inkscape:label is unset [bryce]
 
* (DONE) Implement SPItem::{locked,setLocked,visible,setVisible} [bryce]
 
* (DONE) Implement SPItem::{locked,setLocked,visible,setVisible} [bryce]
* (DONE) Implement SPDesktop::itemIsHidden(SPItem *) for getting per-desktop visibility [mental]
+
* (DONE) Implement SPDesktop::itemIsHidden?(SPItem *) for getting per-desktop visibility [mental]
  
 
Drawing
 
Drawing
Line 285: Line 288:
 
* (DONE) UI support for visibility
 
* (DONE) UI support for visibility
 
** (DONE) Implement and enable "visible" checkbox in object properties (using SPObject::{visible,setVisible} [bryce]
 
** (DONE) Implement and enable "visible" checkbox in object properties (using SPObject::{visible,setVisible} [bryce]
** (DONE) Make "intelligent" raise/lower aware of visibility status (using per-desktop SPDesktop::itemIsHidden) [bb]
+
** (DONE) Make "intelligent" raise/lower aware of visibility status (using per-desktop SPDesktop::itemIsHidden?) [bb]
 
** (DONE) Make selection tool and tests for item-at-point aware of per-desktop visibility [bb]
 
** (DONE) Make selection tool and tests for item-at-point aware of per-desktop visibility [bb]
 
* (DONE) object label support
 
* (DONE) object label support
 
** (DONE) add ability to set inkscape:label from "Item Properties" [bryce]
 
** (DONE) add ability to set inkscape:label from "Item Properties" [bryce]
 
** (DONE) remove id setting from "Item Properties"? [bryce]
 
** (DONE) remove id setting from "Item Properties"? [bryce]
** (DONE) switch to using SPObject::label()/SPObject::defaultLabel() in UI where object ID is currently used [bryce]
+
** (DONE) switch to using SPObject::label()/SPObject?::defaultLabel() in UI where object ID is currently used [bryce]
 
* (DONE) add (preliminary) support for "title" and "desc" elements to "Item Properties"
 
* (DONE) add (preliminary) support for "title" and "desc" elements to "Item Properties"
  
 
Documentation & Packaging
 
Documentation & Packaging
  
* (DONE) Split tutorials into even smaller pieces, document new stuff since 0.38  
+
* (DONE) Split tutorials into even smaller pieces, document new stuff since 0.38
 
** (DONE) shrink and subdivide Elements and Principles of Design (made smaller) [rejon]
 
** (DONE) shrink and subdivide Elements and Principles of Design (made smaller) [rejon]
 
** (DONE) Create a new tutorial (Shapes) [bulia]
 
** (DONE) Create a new tutorial (Shapes) [bulia]
 
* (DONE) Push for new dependencies to be updated upstream [all]
 
* (DONE) Push for new dependencies to be updated upstream [all]

Revision as of 11:39, 22 December 2004

Past Milestones ==

Milestone 0 ===

Inkscape Production:

  • (DONE) Post hydra-october patchset to Sodipodi mailing list [bryce]
  • (DONE) Import sodipodi into inkscape CVS as module 'inkscape' from hydra-october [mental]
  • (DONE) Unsodipodify the tree, replacing instances of 'Sodipodi' with 'Inkscape' where appropriate (we will be keeping the sodipodi XML namespace for compatibility) [mental]
  • (DONE) Install inkscape 0.00 for personal use [bryce]
  • (DONE) Install inkscape 0.00 for personal use [mental]
  • (DONE) Install inkscape 0.00 for personal use [ted]
  • (DONE) Install inkscape 0.00 for personal use [njh]
  • (DONE) Decide what release number N to use (0.00? 0.33? 0.35? 1.00?) - we'll use 0.35

Inkscape Experimental

  • (DONE) Decide name for Mental's sketch 'inkscape-experimental'? 'experimental'? 'inkscape-next-gen'? -- It shall be called 'experimental' [mental]
  • (DONE) Import code into CVS [mental]
  • (DONE) Document use of the experimental module [bryce]

Inkscape Website

  • (DONE) Set up a Wiki [bryce]
  • (DONE) Post sketchy website with homepage, contact info, news, and pointer to wiki [bryce]
  • (DONE) Set up website to auto-rebuild every few minutes [bryce]

Milestone 1


Inkscape Production

  • (DONE) Get inkscape to build with a C++ compiler [team]
  • (DONE) Fix CDATA issue [mental]
  • (DONE) Get codebase to successfully complete `make distcheck` -- mental says 'worksforme' [team]
  • (DONE) Fix 'snap to guides' crash bug [bryce]
  • (DONE) Update the about dialog to include the new logo and version [bryce, tvon]
  • (DONE) Cut a release of Inkscape 0.35 [ted]
  • (DONE) Upload release tarball of Inkscape 0.35 to Inkscape SF file manager [ted]

Inkscape Experimental

  • (DONE) Initiate work on grid-proto code & put in CVS [njh]
  • (DONE) Conceptualize a new export dialog in python [tvon, njh]

Inkscape Website & Project

  • (DONE) Create logo for Inkscape [team]
  • (DONE) Create look and feel graphical design prototype for website [tvon]
  • (DONE) Create 3+ screenshots of Inkscape Production [bryce]
  • (DONE) Flesh out website more fully [bryce]
  • (DONE) SourceForge RFE section needs setting up (categories and groups) [bryce]
  • (DONE) Create inkscape_project module & add wiki.pl there [bryce]

Inkscape 0.36 - Milestone 2


Objective: Implement new features & do prep work for major changes in future

Inkscape Production

  • (DONE) Create Freshmeat project for Inkscape [tgould]
  • (DONE) Remove the KDE / Qt code and dependencies [manny]
  • (DONE) Check all listed Sodipodi bugs numbered from 775385 to less than 830500, and copy recreatible ones to Inkscape's CVS tracker [bryce]
  • (DONE) Check all listed Sodipodi bugs numbered from 830500 and up, and copy recreatible ones to Inkscape's CVS tracker [kidproto]
  • (DONE) Check all listed Sodipodi bugs numbered less than 775385 and copy recreatible ones to Inkscape's CVS tracker [kidproto]
  • (DONE) Copy open patches from Sodipodi patch tracker to Inkscape [bryce]
  • (DONE) Implement preliminary support for doxygen or doc++ in the codebase [tgould]
  • (DONE) Implement preliminary support for arrowheads on path ends [bryce]
  • (DONE) Make SPGroup?s behave like layers if inkscape:groupmode is set to "layer" [mental]
  • (DONE) Decide on URI namespace [mental, bryce] - http://www.inkscape.org/namespaces/inkscape
  • (DONE) Implement an Inkscape namespaces [mental]
  • (DONE) Eliminate all warnings in g++ build process on Linux [joncruz]
  • (DONE) Incorporate bulk of patches posted to patch tracker [Kees]
  • (DONE) Fix bug: on quit, still says I have unsaved changes, even though I saved
  • (DONE) Fix bug: save as/save should use "SVG with xmlns:sodipodi namespace" as default [tgould]
  • (DONE) Fix bug: files are sometimes erroneously saved without the extension namespaces (typically the first time) [tgould, mental]
  • (DONE) Rename "SVG with xmlns:sodipodi namespace" to "SVG with extension namespaces" [mental]
  • (DONE) Rewrite inkscape manpage [bryce]
  • (DONE) Replace the doc/keybindings.txt file with one from Wiki [tgould]
  • (DONE) Create & post tarball of 0.36 release [tgould]
  • (DONE) Create RPM for 0.36 [bryce]
  • (DONE) Create Deb package for 0.36 [njh]
  • (DONE) Create Windows exe package for 0.36 [mael]
  • (DONE) Post release to Freshmeat [tgould or bryce]
  • (DONE) Send mentions to GnomeDesktop?, LWN, and other sites [kidproto=rejon]

Interface & usability

  • (DONE) Merge BORKEN UI reorganization [mental]
  • (DONE) Make all dialogs unsinkable, closeable (ctrl-f4, ctrl-w), defocusable (esc, enter in textfields) [bb]
  • (DONE) Make all dialogs remember size and position across sessions [bb]
  • (DONE) Unify names of commands and dialogs [bb]
  • (DONE) Implement Tab, Esc, ctrl-a in node editor [bb]
  • (DONE) Fix scrollwheel problem [kees]

Inkscape Experimental R&D

  • (DONE) Describe what needs to be done to fix ambiguous default namespace issue [mental]
We need to disambiguate between qnames that have no namespace and qnames in the default namespace (normally SVG's). Since internally we use a standard set of prefixes with qnames rather than expanded names, this means using e.g. "svg:g" and "svg:svg" instead of "g" and "svg" everywhere to name SVG elements. Note that namespaces are normalized to our standard prefix mappings at load time, so that does not itself constitute a compliance issue. -- MenTaLguY?
  • (DONE) Select a regression test system strategy (I wrote a very minimal testing framework) [mental]
  • (DONE) Build a prototype GridOptions? dialog using gtkmm [njh]
  • (DONE) Prototype stroking/path enhancements [njh]
  • (DONE) Start assembling list of requirements for plugin system [bryce]
  • (DONE) Change Inkscape from 'CSDI' to 'SDI'. See [HIG Document Interface Types] [mental]

Inkscape Website & Project

  • (DONE) Convert wiki to new look and feel [tvon]
  • (DONE) Convert website to new look and feel [tvon]
  • (DONE) Post project status [bryce]
  • (DONE) See if it's possible to make wiki send edit notification to a mailing list & set it up if so [bryce]
  • (DONE) Figure out how to get http://inkscape.org to work correctly [mental, kees]
  • (DONE) Set up a 'project' cvs module for putting config files, backups, etc. [bryce]
  • (DONE) Plan out Milestone 3 [bryce]

Inkscape 0.37 - Milestone 3


Objective: Convert codebase to C++ and cleanup codebase

Inkscape Production

  • (DONE) Fill in HandlingPreferences with a how-to on storing and using preference values
  • (DONE) Create patch to add doxygen documentation for sp-root [bryce]
  • (DONE) Create a class hierarchy diagram & add to website [mental & bryce]
  • (DONE) Create a block diagram of the subsystems* Define C++ namespaces (e.g., 'Inkscape::$subsystem')
  • (DONE) Ensure doc/ dir is included in source tarballs [mental]
  • (DONE) Commit to C++ build; rename .c files to .cpp [mental & njh]
  • (DONE) Investigate getting spsvgview building in C++
  • (DONE) Increase precision in SVG, apply and test the 256x zoom patch [bb]
  • (DONE) Investigate why events don't always get passed from dialogs to canvas - see EventContextGrab
  • (DONE) Fix node editor's display update properly when the path is modified outside of the editor - see SelectionModifiedSignal
  • (DONE) Consider using the release number for the milestone number [bryce + kidproto]
  • (DONE) Go through all Sodipodi feature requests and programming tasks and copy ones worth doing into Inkscape's tracker, or create Wiki pages for those that require discussion [kidproto=rejon]
  • (DONE) Implement Fullscreen mode menuitem [jceuppens]
  • (DONE) Review #if 0 code and delete any that doesn't look like it's needed or document why, if it is
    • (DONE) Review #if 0 code in bonobo/ [bryce]
    • (DONE) Review #if 0 code in *-context.cpp files [johan]
    • (DONE) Review #if 0 code in desktop*.cpp and svg-view.cpp files [ted]
    • (DONE) Review #if 0 code in sp-gradient.cpp, sp-root.cpp [njh]
    • (DONE) Review #if 0 code in file.h, interface.cpp, geom.cpp, inkscape.cpp, and style.cpp [ishmal]
    • (DONE) Review #if 0 code in *-chemistry.cpp [njh]
    • (POSTPONED) Review #if 0 code in seltrans.cpp [pjrm]
    • (DONE) Review #if 0 code in knotholder.cpp, nodepath.cpp, rubberband.cpp, object-edit.cpp, and object-ui.cpp [bb]
    • (DONE) Review #if 0 code in svg/ [bryce]
    • (DONE) Review #if 0 code in dialogs/ [bryce]
    • (DONE) Review #if 0 code in display/ [mental]
    • (DONE) Review #if 0 code in helper/ [bryce]
    • (DONE) Review #if 0 code in libnr/
    • (DONE) Review #if 0 code in libnrtype/ [rejon]
    • (DONE) Review #if 0 code in modules/
    • (DONE) Review #if 0 code in widgets/ [bryce]
    • (DONE) Review #if 0 code in xml/
    • (DONE) dialogs folder [rejon]
  • (DONE) Revise HACKING file(s) [bryce]
  • (DONE) Create new screenshots for website & Freshmeat [kidproto=rejon]
  • (DONE) Port good code from Sodipodi 0.33 (including xml:space work) [bb]
  • (DONE) Update coding-style.txt when the Coding_Style page is finalized [bryce]
  • (DONE) Do a final proof-read / edit of Coding_Style to formalize it [bryce]
  • (DONE) Move the contents of the Coding_Style page to CVS [bryce]
  • (DONE) Announce finalized coding-style.txt to inkscape-devel@ list [bryce]
  • (DONE for src/*) Remove NRPoint based code. [njh, pjrm]
  • (DONE) Update NEWS with copy of ReleaseNotes when all development is finalized [rejon]
  • (DONE) Create & post tarball of 0.37 release [tgould]
  • (DONE) GPG sign the tarballs - md5sum is not secure enough [tgould]
  • (DONE)Look at the spec files from KDE-Redhat for how to use %defines for different flavors of distros (it works better for different versions of same distro.. its gets ugly when mixing distros)
  • (DONE)Grab spec file from fedora.us in the sodipodi package to set up Fedora packaging
  • (DONE) Create Mandrake SRPM & RPM for 0.37 [bryce]
  • (DONE) Create Deb package for 0.37 [njh]
  • (DONE) Create Windows exe package for 0.37 [ishmal]
  • (DONE) Post release to Freshmeat [tgould]
  • (DONE) Upload debs to debian unstable
  • (DONE) Upload rpm(s) to Mandrake Cooker [bryce]
  • (DONE) rename old glade directories and make sure name change is reflected throughout code [rejon]

Interface & usability

  • (DONE) Enable keyboard navigation within dialogs (tab switching, next widget, etc) [bb]
  • (DONE) Make text fields in dialogs directly editable
  • (DONE) Make all dialogs remember size and position across sessions [bb]
  • (DONE, except skew) Consistently enable restricted rotate (with Ctrl) everywhere [bb]
  • (DONE) Implement the global dialogs on/off toggle [bb]
  • (DONE) Store more global things in preferences (nudge distance, mouse scroll distance, etc) [bb]
  • (DONE) Decide on mouse scrollwheel modifiers [everyone, see mailing list archives]
  • (DONE) Full keyboard control in node edit [bb]
  • (DONE) Flesh out the SecondaryToolbar, at least for selector [bb]
  • (DONE) Add keyboard shortcuts reference and tutorial to the Help menu [bb]
  • (DONE) Allow the user to edit the control points in the gradient editor [njh]

Inkscape Experimental:

  • (DONE) Identify the remaining XML compliance bugs needing to be fixed & add to plan for M4/M5 [mental]
  • (DONE) Investigate feasibility of removing libarikkei and plan doing it [bryce]
  • (DONE) Investigate replacement of libnrtype with Pango and plan doing it [bryce]

Inkscape Website & Project

  • (DONE) Set up a logging for jabber
  • (DONE) Set up hourly cronjob to rebuild code docs onto website [tvon]
  • (DONE) Set up Google Search for inkscape.org [kidproto=rejon]
  • (DONE) Set up automatically updated display of man page(s) onto Inkscape website [kidproto=rejon]
  • (DONE) Initiate clipart effort [bryce]

Milestone 4 - Bug Hunt & Testing - Inkscape 0.38


  • (DONE) Port Inkscape to work with ebuild, the gentoo packaging/compiling system
  • (DONE) Knock bug list count down to 10 or fewer, or to a ratio of 10% open/total [all]
  • (DONE) Implement text kerning and spacing (hor & vert), at least by keys [bb]
  • (DONE) outline help system, possible strategies and available documentation for inclusion - use SVG! [bb]

Milestone 5 - Pango Architectural Change - Inkscape 0.39


  • (DONE) Develop GTKMM mockup/ideas for the Layers dialog [brisgeek, mental]
  • (DONE) Consider trimming ChangeLog? (currently ~370 KB) [bryce]
  • (DONE) Wiki site refactoring/cleanup - move old or less useful links off the top wiki page [bryce]
  • (DONE) Review and revise TricksAndTips - can some of these move to the User Manual?
  • (DONE) Reduce/eliminate debug messages that occur when doing e.g. node editing, etc.
  • (DONE) Remove last bits of dependency on libart by copying what we need out of it, into libnr
  • (DONE) Cleanup/reorganize Wiki homepage (too many links!) - perhaps move some into a PDF manual?
  • (DONE) Finish moving tool options to 2ndary palette
    • (DONE) move arc tool options to 2ndary palette (code in src/toolbox.cpp)
    • (DONE) Remove tool options dialogue and code from project [bulia]
    • (DONE) Fix Alt+X
  • (DONE) Make window layout settable in View menu
  • (DONE) Fix markers preview
  • (DONE, unless I missed something) Fix all object-replacing commands to preserve ID
  • (DONE) Fix svg:use support, create the Clone command [bb]
  • (DONE) Add -V, --version commandline option to display application version & copyright info
  • (DONE) Replace calls to arikkei string/tokenizing routines in libnrtype/ with standard glib functions & remove libarikkei
  • (DONE) Expand the Preferences dialog (see HandlingPreferences) [bb]
  • (DONE) Create SetStyleSignal? and make Dropper useful [bb]
  • (DONE) Reorganize/trim down User Interface Discussion section of main wiki page [bryce]
  • (DONE) Incorporate ECMA Javascript [ishmal]

Adopt Pango for handling fonts (http://inkscape.org/cgi-bin/wiki.pl?Pangoification)

  • (DONE) Add Pango as an optional dependency for Inkscape & test on our various target platforms
  • (DONE) Make Pango a required dependency for Inkscape & remove compile-time option scaffolding
  • (DONE) Create a pango_test in the experimental CVS module [fred]
  • (DONE) Test outlines using Pango [fred] - c.f. test_font->RasterFont?(one_mat,the_stroke_width)
  • (DONE) Test vertical text using Pango with multi-glyph characters like an A with an umlaut [fred]
  • (DONE) Document functions in libnrtype
  • (DONE) Test out if letterspacing / kerning works with Pango [fred]
  • (DONE) Reimplement the libnrtype routines in Pango terms [fred]
  • (DONE) Go through the code looking for nrtype calls and replace them with direct calls to Pango
  • (DONE) Eliminate need for the libnrtype API via direct calls whereever possible.

Holdovers from last release

  • (DONE) Write an extensions/plugin enhancement proposal(s) and post to mailing list and [this wiki page] for review [bryce]
  • (DONE, but needs fixing libnr display while dragging) Implement "scale stroke" switch

Publicity & Networking

  • (DONE) Write an article about the project to various websites [bryce]
  • (DONE) Try to get a mention on LWN

Website Revision

  • (DONE) Find & move pages out of the wiki that should really be in the main website
  • (DONE) Archive obsolete pages in the Inkscape wiki
  • (DONE) Consider refactoring for the main Inkscape website
  • (DONE) Trim down the number of links on the main wiki page to be much fewer

Milestone 6 - Features and Fixes - Inkscape 0.40


New/Changed? Dependencies

  • (DONE) Add a dependency on libgc (the Boehm conservative collector), which will be required for the AST code [mental]
  • (DONE) Switch to sigc++ 2 + gtkmm 2 early in 0.40, before we start doing gtkmm-intensive stuff like the layers dialog etc. [mental]
  • (DONE) Add Gtk-Wimp (for windows theming)
  • (DONE) Use new file dialog when GTK 2.4 is released (but need to smooth out)

Internal

  • (DONE) Create new gtkmm classes Inkscape::Dialog, Inkscape::Application, and some widgets [bryce]
  • (DONE) Auto-include AUTHORS list into manpage on build [pjrm]
  • (DONE) Set up automatic insertion of current application version into Inkscape man page [pjrm]
  • (DONE) Change the SEGV and SIGABRT handlers to reliably autosave and put up a crash dialog
  • (DONE) add support for inkscape:label attribute for author-readable object names [mental]
    • (DONE) add SPObject::defaultLabel() to return a default label string if inkscape:label is unset [bryce]
  • (DONE) Implement SPItem::{locked,setLocked,visible,setVisible} [bryce]
  • (DONE) Implement SPDesktop::itemIsHidden?(SPItem *) for getting per-desktop visibility [mental]

Drawing

  • (DONE) Implement Text on Path
  • (DONE) Smoother freehand pencil tool [pjrm]
  • (DONE) Make gradient management & chaining work similar to patterns [bb]
    • (DONE) Fix fill-opacity ignored with gradients [bb]
  • (DONE except bug #1061934) add support for visibility CSS property [mental]

Interface & Usability

  • (DONE) Make all knots display explanations in statusbar on mouseover
  • (DONE) Implement "Select Under" [bb]
  • (DONE) Add shortcuts to button tooltips (at least for verbs)
  • (DONE) Basic metadata/RDF support for clipart, etc.
  • (DONE) Rudimentary layers UI
    • (DONE) Finish new gtkmm layer selector [mental]
      • (DONE) Update list upon addition/removal/reordering of layers [mental]
      • (DONE) Finish show/hide lock/unlock buttons [mental]
      • (DONE) Add UI for setting inkscape:label attribute [bryce]
      • (DONE) Fix funky widget resizing [bryce]
      • (DONE) unselect objects when manually switching layers [mental]
    • (DONE) Tie off loose ends with layer-related commands [mental]
      • (DONE) Add "selection to sublayer" command and its inverse [mental, bb]
      • (DONE) Make "move to next/prev layer" move selected objects to next/prev layer [mental, bb]
  • (DONE) UI support for visibility
    • (DONE) Implement and enable "visible" checkbox in object properties (using SPObject::{visible,setVisible} [bryce]
    • (DONE) Make "intelligent" raise/lower aware of visibility status (using per-desktop SPDesktop::itemIsHidden?) [bb]
    • (DONE) Make selection tool and tests for item-at-point aware of per-desktop visibility [bb]
  • (DONE) object label support
    • (DONE) add ability to set inkscape:label from "Item Properties" [bryce]
    • (DONE) remove id setting from "Item Properties"? [bryce]
    • (DONE) switch to using SPObject::label()/SPObject?::defaultLabel() in UI where object ID is currently used [bryce]
  • (DONE) add (preliminary) support for "title" and "desc" elements to "Item Properties"

Documentation & Packaging

  • (DONE) Split tutorials into even smaller pieces, document new stuff since 0.38
    • (DONE) shrink and subdivide Elements and Principles of Design (made smaller) [rejon]
    • (DONE) Create a new tutorial (Shapes) [bulia]
  • (DONE) Push for new dependencies to be updated upstream [all]