This is the cairo roadmap. Everything here is subject to change, but it is hoped that all of it will be useful. If you want to influence the roadmap, please feel free to get involved with cairo.
cairo 1.6.6 (Currently unscheduled---should get a subset of the 1.6.x issues from below)
cairo 1.6.x
• Add dithering for xlib fallbacks (behdad)
• Eliminate XGetImage from xlib fallbacks (behdad)
• Enable X server-side gradients (cworth)
• Fix all remaining XFAIL failures from the test suite.
• Review and land AltiVec patches
• Update bindings chapter of documentation to reflect new APIs
(get_reference_count() and user_data for all)
• Make cairo-ft respect FC_FT_FACE pattern element. (behdad)
• Implement a faster lookup-table-based rasterizer (cworth)
• Internal move to cairo_object_t (Chris 'ickle' Wilson)
• A significant improvement to pixman compositing code (jrmuizel) (jrmuizel's recent work and other ideas going on).
• Make cairo-xcb a supported backend (Jamey Sharp)
• Avoid re-embedding the same image in the PDF backend (adrianj)
• Add "/Interpolate (true|false)" to PDF image dictionaries.
• Improve filtering handling in cairo-pattern.c. See:
http://bugs.freedesktop.org/show_bug.cgi?id=15367
• Clip mode needs to "upgrade" to CLIP_MODE_MASK. See patch here:
http://lists.cairographics.org/archives/cairo/2008-March/013373.html
and original mozilla bug here:
https://bugzilla.mozilla.org/show_bug.cgi?id=409227
• Investigate extend-reflect/buggy_repeat X server crash to try to find the exact version where the bug was fixed in the X server.
• Fix leaks found by "make TESTS=self-copy check-valgrind"
• Investigate cleaning up "unused parameter" warnings
cairo 1.8 (November 2008?)
• David Turner's cairo-ft rewrite. (behdad)
• User-font API (behdad, krh) Described in several mailing list threads: [1] [2] [3]
• cairo_toy_font_face_describe() or something like that, that is the getter
for cairo_select_font_face().
• New text API that allows for perfect text extraction in PDF (behdad)
• cairo_font_options_[gs]et_writing_mode (behdad)
• cairo_font_metrics_t (behdad)
• API to allow enable/disabling certain subsetters (adrianj) This would also be useful feature to control via an environment variable as it would allow the user to override the application settings.
• API to set surface metadata (title, author, etc). This should be a generic surface API. See two threads: [1] [2]
• Give backends access to raw jpeg data and use this in e.g. in PDF/PS/Win32-printing backends to embed jpeg images without lossy recompression (adrianj) (see long thread starting with http://lists.freedesktop.org/archives/cairo/2007-January/009096.html)
• Support document hyperlinks (adrianj) See thread http://lists.cairographics.org/archives/cairo/2007-November/012026.html
• Debug environment variable to disable PDF compression (adrianj)
In the meantime, a useful workaround is to use pdftk to post-process the document to remove the compression:
pdftk original.pdf output new.pdf uncompress
For other ideas that have been proposed for cairo but are not yet scheduled on the roadmap of any particular release, please see the todo page.
Where does the information on this roadmap come from?
The intent is for this to be a living document. We want both the users of cairo, (GTK+, GNOME, Mozilla, Mono, etc. etc.) to let us know features they need and dates by which they are needed so that we can use those to guide our plans.
Additionally, people who are actively developing cairo itself should regularly update this document to reflect their current plans. If you don't want to see a particular release happen without some essential feature, then put that feature on the list and put your name next to it to indicate you are working on it.
Targets
Firefox 3.0 (Roadmap)
Firefox 3 is the first release expected to use cairo for all rendering. The cairo 1.6.4 release appears to be adequate for Firefox according to what we've heard from Mozilla folks. If future Mozilla product/projects require more from cairo, please let us know.
GNOME (Roadmap)
GNOME has a regular (6 month) release schedule, so there's always another GNOME release coming up soon.
