Add notes for 1.0 release. Thanks to Owen Taylor.

Note that PS and PDF backends are experimental.
Note the progress that has been completed so that 1.0 is ready now.
This commit is contained in:
Carl Worth 2005-08-24 05:21:50 +00:00
parent 112094a350
commit 5ca5ddde0b
4 changed files with 111 additions and 12 deletions

View file

@ -1,3 +1,12 @@
2005-08-24 Carl Worth <cworth@cworth.org>
* NEWS: Add notes for 1.0 release. Thanks to Owen Taylor.
* README: Note that PS and PDF backends are experimental.
* ROADMAP: Note the progress that has been completed so that 1.0
is ready now.
2005-08-24 Keith Packard <keithp@keithp.com>
reviewed by: cworth

82
NEWS
View file

@ -1,3 +1,85 @@
Release 1.0.0 (2005-08-24 Carl Worth <cworth@cworth.org>)
=========================================================
Experimental backends
---------------------
* The PS, PDF, Quartz, and XCB backends have been declared
experimental, and are not part of the API guarantees that accompany
this release. They are not built by default, even when the required
libraries are available, and must be enabled explicitly with
--enable-ps, --enable-pdf, --enable-quartz or --enable-xcb.
It is very painful for us to be pushing out a major release without
these backends enabled. There has been a tremendous amount of work
put into each one and all are quite functional to some
extent. However, each also has some limitations. And none of these
backends have been tested to the level of completeness and
correctness that we expect from cairo backends.
We do encourage people to experiment with these backends and report
sucess, failure, or means of improving them.
Operator behavior
-----------------
* Prior to 0.9.0 the SOURCE, CLEAR and a number of other operators
behaved in an inconsistent and buggy fashion and could affect areas
outside the clip mask. In 0.9.0, these six "unbounded" operators
were fixed to consistently clear areas outside the shape but within
the clip mask. This is useful behavior for an operator such as IN,
but not what was expected for SOURCE and CLEAR. So, in this release
the behavior of SOURCE and CLEAR has been changed again. They now
affect areas only within both the source and shape. We can write
the new operators as:
SOURCE: dest' = (mask IN clip) ? source : dest
CLEAR: dest' = (mask IN clip) ? 0 : dest
Behavior and API changes
------------------------
* Setting the filter on a gradient pattern would change the
interpolation between color stops away from the normal linear
interpolation. This dubious behavior has been removed.
* The CAIRO_CONTENT_VALID() and CAIRO_FORMAT_VALID() macros --
implementation details that leaked into cairo.h -- have been moved
into an internal header.
* The cairo_show_text function now advances the current point
according to the total advance values of the string.
Features
--------
* When compiled against recent versions of fontconfig and FreeType,
artificial bold fonts can now be turned on from fonts.conf using
the FC_EMBOLDEN fontconfig key.
Optimization
------------
* The compositing code from the 'xserver' code tree has now been
completely merged into libpixman. This includes MMX optimization of
common operations.
* The image transformation code in libpixman has been improved and
now performs significantly faster.
Bug fixes
---------
* Several crashes related to corruption in the font caches have been
fixed.
* All test cases now match pixel-for-pixel on x86 and PPC; this
required fixing bugs in the compositing, stroking, and pattern
rendering code.
* Negative dash offsets have been fixed to work correctly.
* The stroking of paths with mutiple subpaths has now been fixed to
apply caps to all subpaths rather than just the last one.
* Many build fixes for better portability on various systems.
* Lots of other bug fixes, but we're too tired to describe them in
more detail here.
Release 0.9.2 (2005-08-13 Carl Worth <cworth@cworth.org>)
=========================================================
Release numbering

4
README
View file

@ -5,8 +5,8 @@ What is cairo
=============
Cairo is a 2D graphics library with support for multiple output
devices. Currently supported output targets include the X Window
System, OpenGL, and win32 as well as image buffers and PostScript and
PDF files.
System, OpenGL, and win32 as well as image buffers. Experimental
backends include Quartz and XCB as well as PostScript and PDF files.
Cairo is designed to produce consistent output on all output media
while taking advantage of display hardware acceleration when available

28
ROADMAP
View file

@ -20,9 +20,13 @@ Implementation work
✓I4. Fix the cache lock deadlocking problems.
Status: Done (in cairo 0.9.2)
I6. Fix all expected failures (XFAIL) in the test suite. Either
I6. Fix all expected failures (XFAIL) in the test suite. Either
there's a bug that needs to be fixed, or there are illegitimate
tests that should be removed.
Status: Done. 5 XFAIL test remain, but 4 of those have results
that are acceptable. The only with with completely broken
output (a8-mask) only happens with A8 image surface masks with
weird padding, (so it is easy to avoid).
API additions (more detail in TODO file)
----------------------------------------
@ -34,15 +38,9 @@ API additions (more detail in TODO file)
Performance work
----------------
P2. Generate better trapezoids to go easier on the rasterizer
Difficulty: moderate to hard
Status: cworth drafted a plan to the list. vektor is looking
at this, (or other similarly useful performance
optimizations)
P3. Glyph measurement needs to be sped up.
Status: keithp and cworth planned this all out. keithp is
working on this.
✓ Lots of performance work was done, such as the MMX-ification of
pixman, the addition of cairo-benchmarks, and several 2x improvements
for tests within cairo-benchamarks. Many thanks to Billy Biggs!
Things that have been dropped from the 1.0 roadmap
==================================================
@ -89,3 +87,13 @@ Things that have been dropped from the 1.0 roadmap
Some of these could be handled by fallbacks, either as
a stop-gap measuer, or permanently. But that will also
depend on finishing up [I7].
P2. Generate better trapezoids to go easier on the rasterizer
Difficulty: moderate to hard
Status: cworth drafted a plan to the list. vektor is looking
at this, (or other similarly useful performance
optimizations)
P3. Glyph measurement needs to be sped up.
Status: keithp and cworth planned this all out. keithp is
working on this.