"SfR Fresh" - the SfR Freeware/Shareware Archive 
Member "WindowMaker-0.92.0/wrlib/ChangeLog" of archive WindowMaker-0.92.0.tar.gz:
As a special service "SfR Fresh" has tried to format the requested source page into HTML format using source code syntax highlighting with prefixed line numbers.
Alternatively you can here view or download the uninterpreted source code file.
That can be also achieved for any archive member file by clicking within an archive contents listing on the first character of the file(path) respectively on the according byte size field.
1 - removed obsoleted RDestroyImage()
2 - removed Hermes code.
3 - Put back asm/mmx optimized code.
4
5 - fixed a bug in RCombineAreaWithOpaqueness() (Brad <lists@anomie.yi.org>)
6
7 - Added retain/release mechanism to RImage by adding RRetainImage() and
8 RReleaseImage(). RDestroyImage() is an alias to RReleaseImage() now, but
9 will be removed in a future release because it no longer fits with the
10 semantics. Will be kept for a while to allow a smoother transition.
11 More about in NEWS
12 - Fixed crashing for Pseudocolor visuals with BestMatchRendering
13 - Small speed improvement for 24 and 32 bpp, if internal converter is used
14 - Small speed improvement for generating gradients.
15 - Fixed RSaveXPM() to output correct xpm images.
16 - Fixed speckles (white dots) on dithered images (bug still present on the
17 PowerPC architecture, because on LinuxPPC char is unsigned by default, not
18 signed like on the other platforms).
19 Bug fixed by Philip Derrin <philipd@student.unsw.edu.au>
20 - Fixed not working Grayscale visual (was crashing)
21 - Fixed wrong display of images with alpha in StaticGray and GrayScale visuals
22
23
24 - fixed code dependant on the order of evaluation. code like
25 *ptr++ = *ptr++ = *ptr++ = color;
26 is wrong, because there is no guarantee that ptr will be incremented
27 _between_ the assignment operations. it can be incremented after all
28 assignment operations as well. Because of this both of these are valid
29 implementations for a compiler:
30 a. assign, increment, assign, increment, assign, increment
31 b. assign, assign, assign, increment by 3
32 In case b. only the first memory location of the 3 will be modified, being
33 assigned 3 times the same value, while the other 2 remain unchanged.
34 For example egcs-2.91.66 (and possibly gcc-2.95.x too) implement this in
35 the second way (like in case b.)
36 Also the order in which the assignement is made is undefined (left to right
37 or right to left).
38
39 - added RMakeCenteredImage()
40
41 - Added code to draw pixels and lines. Both writing absolute values, or
42 offseting existing pixels with delta values are supported.
43 - Remade the beveling code to be simpler, using the RAlterLine() functions.
44 - Fixed some pixels in the bevels.
45 - Changed RAlter* functions to more generic ROperate*