xref: /potrace-1.14/ChangeLog (revision b3fce824)
1189777a2SCristian PallaresChangeLog
2189777a2SCristian Pallares
3*b3fce824SCristian Pallarésv1.14 2017/02/19
4*b3fce824SCristian Pallarés	(2017/02/19) PS1 - speed: use clang as default compiler if
5*b3fce824SCristian Pallarés	available, and no longer use -ffloat-store even with gcc.
6*b3fce824SCristian Pallarés	(2017/02/18) PS1 - corrected some exit codes, added some missing
7*b3fce824SCristian Pallarés	error handlers.
8*b3fce824SCristian Pallarés	(2017/02/17) PS1 - mkbitmap: bugfixes and improvements in parsing
9*b3fce824SCristian Pallarés	image files.
10*b3fce824SCristian Pallarés	(2017/02/15) PS1 - truncate the image size when bitmap data ends
11*b3fce824SCristian Pallarés	prematurely. This fixes CVE-2016-8686, where Potrace appeared to
12*b3fce824SCristian Pallarés	be "hanging" on a crafted input file.
13*b3fce824SCristian Pallarés	(2017/02/14) PS1 - test suite: added tests for plain pnm files.
14*b3fce824SCristian Pallarés	(2017/01/08) PS1 - fixed potential compiler issues due to signed
15*b3fce824SCristian Pallarés	arithmetic overflow and arithmetic shifting.
16*b3fce824SCristian Pallarés	(2017/01/07) PS1 - enable use of negative dy in bitmap data.
17*b3fce824SCristian Pallarés	(2017/01/07) PS1 - test suite: moved data files to a subdirectory.
18*b3fce824SCristian Pallarés	(2017/01/07) PS1 - test suite: added a check for -i flag.
19*b3fce824SCristian Pallarés	(2017/01/07) PS1 - fixed buffer overflow CVE-2016-8685, reported
20*b3fce824SCristian Pallarés	by Agostino Sarubbo.
21*b3fce824SCristian Pallarés	(2015/10/24) PS1 - portability: use const char * for string
22*b3fce824SCristian Pallarés	constants, required by C++11. Reported by Martin Gieseking.
23*b3fce824SCristian Pallarés	(2015/10/24) PS1 - portability: extra spaces around string macros,
24*b3fce824SCristian Pallarés	required by C++11. Reported by Martin Gieseking.
25*b3fce824SCristian Pallarés	(2015/10/24) PS1 - portability: added more potential C compilers
26*b3fce824SCristian Pallarés	to autoconf. Suggested by Nelson Beebe.
27*b3fce824SCristian Pallarés
28275def9cSCristian Pallarésv1.13 2015/10/22
29275def9cSCristian Pallarés	(2015/07/18) PS1 - fixed heap overflows, null pointer dereference
30275def9cSCristian Pallarés	bugs and a memory leak. Reported by Agostino Sarubbo.
31275def9cSCristian Pallarés	(2015/05/17) PS1 - man page: show which backends are dimension
32275def9cSCristian Pallarés	based, and state more clearly that svg backend defaults to 72dpi.
33275def9cSCristian Pallarés	(2015/04/11) PS1 - portability: ssize_t not supported on some
34275def9cSCristian Pallarés	systems; use ptrdiff_t instead. Reported by Martin Gieseking.
35275def9cSCristian Pallarés	(2015/03/28) PS1 - portability: added missing #includes for c99,
36275def9cSCristian Pallarés	reported by Nelson Beebe.
37275def9cSCristian Pallarés	(2015/03/27) PS1 - include config.h before other header files,
38275def9cSCristian Pallarés	reported by Peter Breitenlohner.
39275def9cSCristian Pallarés	(2015/03/26) PS1 - fixed division by zero bug triggered by bitmap
40275def9cSCristian Pallarés	of dimension 1x0. Reported by Tomasz Buchert.
41275def9cSCristian Pallarés
421f13f311SSkyrpexv1.12 2015/03/24
431f13f311SSkyrpex	(2015/03/20) PS1 - fixed memory overflow bug triggered by very
441f13f311SSkyrpex	large bitmaps. Fixes RedHat bug #955808 reported by Vincent Danen
451f13f311SSkyrpex	and Debian bug #778646 reported by Moritz Muehlenhoff.
461f13f311SSkyrpex	(2014/09/06) PS1 - test suite: added binary-check, to check that
471f13f311SSkyrpex	files are written in binary mode. Mostly relevant on Windows.
481f13f311SSkyrpex	(2014/09/06) PS1 - portability: fixed potential binary file mode
491f13f311SSkyrpex	bug on MinGW64.
501f13f311SSkyrpex	(2014/03/30) PS1 - man pages: fixed leading blank page with
511f13f311SSkyrpex	groff -man -Tps.
521f13f311SSkyrpex	(2013/12/29) PS1 - portability: made regular expressions in test
531f13f311SSkyrpex	suite POSIX compliant, reported by Ben Bullock.
541f13f311SSkyrpex	(2013/05/14) PS1 - distribution: removed libtool from distribution.
551f13f311SSkyrpex
56189777a2SCristian Pallaresv1.11 2013/02/19
57189777a2SCristian Pallares	(2013/02/10) PS1 - bitops.c: added "cc" as a clobbered register.
58189777a2SCristian Pallares	(2012/09/13) PS1 - GeoJSON backend: -u option affects rounding,
59189777a2SCristian Pallares	not scaling.
60189777a2SCristian Pallares	(2012/09/12) CH1 - added GeoJSON backend.
61189777a2SCristian Pallares	(2012/03/04) PS1 - minor change in behavior of alphamax parameter:
62189777a2SCristian Pallares	make a corner if alpha >= alphamax (instead of >). This makes
63189777a2SCristian Pallares	little practical difference, except when alphamax = 0, in which
64189777a2SCristian Pallares	case we now get a polygon. Fixes bug #3495854, reported by
65189777a2SCristian Pallares	scribbleink.
66189777a2SCristian Pallares	(2012/02/24) PS1 - added support for BMP format with bitfields.
67189777a2SCristian Pallares
68189777a2SCristian Pallaresv1.10 2011/08/19
69189777a2SCristian Pallares	(2011/08/07) PS1 - added --tight option
70189777a2SCristian Pallares	(2011/08/05) PS1 - backends: simplified dimension calculations
71189777a2SCristian Pallares	(2011/08/05) PS1 - eps backend: prevent integer overflow in
72189777a2SCristian Pallares	bounding box.
73189777a2SCristian Pallares	(2011/08/05) PS1 - disallow resolution of 0 dpi.
74189777a2SCristian Pallares	(2011/08/05) PS1 - man page: added BACKEND TYPES section
75189777a2SCristian Pallares	(2011/08/05) PS1 - fixed default scaling at 72dpi for
76189777a2SCristian Pallares	variable-sized backends
77189777a2SCristian Pallares	(2011/08/02) PS1 - new gimppath backend produces SVG output
78189777a2SCristian Pallares	suitable for current versions of Gimp.
79189777a2SCristian Pallares	(2011/08/02) PS1 - added a --flat option for the SVG backend.
80*b3fce824SCristian Pallarés	(2011/07/31) PS1 - test suite: renamed *.out files to prevent
81*b3fce824SCristian Pallarés	make's built-in implicit rules from accidentally overwriting them.
82189777a2SCristian Pallares	(2011/07/26) PS1 - added DXF backend. Thanks to Jonas Benedett
83189777a2SCristian Pallares	Dorr for testing.
84189777a2SCristian Pallares	(2011/07/26) PS1 - use high resolution bounding box in EPS, PDF,
85189777a2SCristian Pallares	and SVG backends
86189777a2SCristian Pallares	(2011/05/13) PS1 - autoconf: CADD can now be given at compile time
87189777a2SCristian Pallares
88189777a2SCristian Pallaresv1.9 2010/12/21
89189777a2SCristian Pallares	(2010/12/20) PS1 - getopt.h: fixed compiler warnings
90189777a2SCristian Pallares	(2010/12/20) PS1 - added --tty option to specify progress bar
91189777a2SCristian Pallares	rendering at runtime.
92189777a2SCristian Pallares	(2010/12/20) PS1 - added simplified progress bar for Windows or
93189777a2SCristian Pallares	other dumb terminals. New --enable-dumb-tty configuration option.
94189777a2SCristian Pallares	(2010/12/16) PS1 - test suite: fixed bug where a failed test was
95189777a2SCristian Pallares	not reported in backend-check.sh
96189777a2SCristian Pallares	(2010/12/15) PS1 - test suite: support for $EXEEXT
97189777a2SCristian Pallares	(2010/12/15) PS1 - optimized penalty3 inner loop, 4.6% speedup.
98189777a2SCristian Pallares	(2010/12/15) PS1 - autoconf: new CADD variable to add to CFLAGS
99189777a2SCristian Pallares	(2010/12/15) PS1 - fixed some compiler warnings, added some error
100189777a2SCristian Pallares	handlers, and added some cosmetic top-level free's.
101189777a2SCristian Pallares	(2010/11/25) PS1 - added support for some BMP version 4 and 5
102189777a2SCristian Pallares	files, and for top-down BMP files. Suggested by Kanwar Sangwan.
103189777a2SCristian Pallares	(2010/11/13) PS1 - don't enter filter mode if -- is used
104189777a2SCristian Pallares	(2010/11/09) PS1 - greymap.h, bitmap.h: drop unneeded dependencies
105189777a2SCristian Pallares	(2010/09/07) PS1 - autoconf: fixed getopt_long test to allow
106189777a2SCristian Pallares	cross-compiling, bug #3061403, reported by Igor Filippov.
107189777a2SCristian Pallares	(2010/08/31) PS1 - test suite: added environment variables
108189777a2SCristian Pallares	CHECK_POTRACE and CHECK_MKBITMAP to allow binaries outside the
109189777a2SCristian Pallares	build tree to be tested
110189777a2SCristian Pallares	(2010/08/09) PS1 - autoconf: converted to libtool
111189777a2SCristian Pallares	(2010/08/05) PS1 - autoconf: renamed configure.in as configure.ac
112189777a2SCristian Pallares	(2010/08/05) PS1 - autoconf: added --with-libpotrace to optionally
113189777a2SCristian Pallares	install the Potrace library and header files.
114189777a2SCristian Pallares	(2009/08/03) PS1 - portability: c++ wrapper in potracelib.h,
115189777a2SCristian Pallares	suggested by Peter Jankuliak.
116189777a2SCristian Pallares	(2009/05/13) PS1 - added pdfpage backend for fixed pagesize PDF
117189777a2SCristian Pallares	output.
118189777a2SCristian Pallares	(2009/04/07) PS1 - decompose.c: minor optimization
119189777a2SCristian Pallares	(2008/10/08) PS1 - mkbitmap: speed increase by 8% to 26% by
120189777a2SCristian Pallares	eliminating unnecessary bounds checks and interpolation.
121189777a2SCristian Pallares	(2008/10/05) PS1 - trace.c: separate function for path reversal
122189777a2SCristian Pallares	(2008/10/03) PS1 - progress.h: do the right thing if progress ==
123189777a2SCristian Pallares	NULL
124189777a2SCristian Pallares	(2008/10/03) PS1 - moved detrand() to auxiliary.h
125189777a2SCristian Pallares	(2008/08/21) PS1 - mkbitmap: added --blur option.
126189777a2SCristian Pallares	(2008/08/12) PS1 - combined the old -V option with -v.
127189777a2SCristian Pallares	(2008/08/12) PS1 - test suite: adjusted tolerances to fix bug
128189777a2SCristian Pallares	#1745456
129189777a2SCristian Pallares	(2007/12/31) PS1 - include curve.h where path_t is used
130189777a2SCristian Pallares	(2007/12/28) PS1 - flush stderr when interleaved with stdout
131189777a2SCristian Pallares	(2007/12/28) PS1 - portability: don't hardcode size of short int
132189777a2SCristian Pallares	(2007/11/09) PS1 - eps backend: use save-restore to avoid
133189777a2SCristian Pallares	polluting caller's dictionary and for page independence.
134189777a2SCristian Pallares	(2007/05/22) PS1 - xfig backend: added depth to opaque components
135189777a2SCristian Pallares	to avoid them floating to the background. Suggested by Rafael
136189777a2SCristian Pallares	Laboissiere.
137189777a2SCristian Pallares
138189777a2SCristian Pallaresv1.8 2007/04/09
139189777a2SCristian Pallares	(2007/04/08) PS1 - portability: use 'test' instead of '[' in shell
140189777a2SCristian Pallares	scripts.
141189777a2SCristian Pallares	(2007/04/08) PS1 - test suite: run PDF checks as a separate test.
142189777a2SCristian Pallares	(2007/04/06) PS1 - fixed logical expressions in flate.c
143189777a2SCristian Pallares	(2007/02/19) PS1 - portability: replacements for inline and M_PI
144189777a2SCristian Pallares	(2007/01/16) PS1 - test suite: added checks for rotation in
145189777a2SCristian Pallares	PostScript, PDF, and PGM backends
146189777a2SCristian Pallares	(2007/01/16) PS1 - pdf backend: added rotation
147189777a2SCristian Pallares	(2007/01/16) PS1 - pdf backend: renamed shipcom() function
148189777a2SCristian Pallares	(2007/01/14) PS1 - autoconf: check if getopt_long reorders its
149189777a2SCristian Pallares	arguments.
150189777a2SCristian Pallares	(2007/01/13) PS1 - made pseudo-random number generation
151189777a2SCristian Pallares	thread-safe and much faster.
152189777a2SCristian Pallares	(2006/12/20) PS1 - renamed some structures in lzw.c, main.h
153189777a2SCristian Pallares	(2006/12/20) PS1 - portability: fixed some compiler issues for
154189777a2SCristian Pallares	Amiga, reported by Andreas Kleinert.
155189777a2SCristian Pallares	(2006/12/20) PS1 - main.c: changed some return types to void.
156189777a2SCristian Pallares	(2006/08/14) PS1 - made curve.c:privcurve_free_members() static.
157189777a2SCristian Pallares	(2005/12/22) PS1 - renamed README.win as README-WIN
158189777a2SCristian Pallares	(2005/11/11) PS1 - portability: use binary file i/o in Cygwin.
159189777a2SCristian Pallares	Suggested by Henry He.
160189777a2SCristian Pallares	(2005/06/24) PS1 - potracelib: fixed allocation bug, reported by
161189777a2SCristian Pallares	Jung Shin.
162189777a2SCristian Pallares	(2005/06/23) PS1 - potracelib_demo.c: free resources properly.
163189777a2SCristian Pallares	(2005/06/23) PS1 - initialize unused private state to 0.
164189777a2SCristian Pallares	(2005/06/23) PS1 - decompose.c: improved memory allocation scheme.
165189777a2SCristian Pallares	(2005/05/06) PS1 - added "alphacurve" field to private curve
166189777a2SCristian Pallares	structure, so that backends that don't use the public interface
167189777a2SCristian Pallares	(such as the EPS backend) can be warned of non-conforming curves.
168189777a2SCristian Pallares
169189777a2SCristian Pallaresv1.7 2005/03/06
170189777a2SCristian Pallares	(2005/03/05) PS1 - fixed progress bar subrange bug.
171189777a2SCristian Pallares
172189777a2SCristian Pallaresv1.6 2005/02/27
173189777a2SCristian Pallares	(2005/02/22) PS1 - added "epsilon" feature to progress bar.
174189777a2SCristian Pallares	(2005/02/22) PS1 - documentation: changed potracelib documentation
175189777a2SCristian Pallares	to TeX format.
176189777a2SCristian Pallares	(2005/02/07) PS1 - tweaked progress bar
177189777a2SCristian Pallares	(2005/01/24) PS1 - added --progress option to potrace frontend.
178189777a2SCristian Pallares	(2005/01/24) PS1 - potracelib: added progress bar interface.
179189777a2SCristian Pallares	(2005/01/23) PS1 - fixed overflow bug in fast summing code.
180189777a2SCristian Pallares	(2005/01/23) PS1 - rewrote trace.c:bestpolygon(). This speeds up
181189777a2SCristian Pallares	potrace by 20% on typical data and up to 60% in some bad cases.
182189777a2SCristian Pallares	(2004/12/07) PS1 - documentation: added potracelib.txt
183189777a2SCristian Pallares	(2004/12/07) PS1 - renamed aux.h as auxiliary.h, since aux is an
184189777a2SCristian Pallares	invalid filename in Windows.
185189777a2SCristian Pallares	(2004/12/06) PS1 - API: added default parameters
186189777a2SCristian Pallares	(2004/12/06) PS1 - API: added potrace_state_t
187189777a2SCristian Pallares	(2004/12/06) PS1 - API: added "const" qualifiers
188189777a2SCristian Pallares	(2004/12/06) PS1 - removed conv and areac fields from privpath_t.
189189777a2SCristian Pallares	(2004/12/06) PS1 - changed bounding box handling in decompose.c
190189777a2SCristian Pallares	(2004/12/06) PS1 - split curve_t into public and private parts.
191189777a2SCristian Pallares	(2004/12/06) PS1 - moved curve/path allocation to curve.c.
192189777a2SCristian Pallares	(2004/12/06) PS1 - renamed a type in lzw.h.
193189777a2SCristian Pallares	(2004/12/06) PS1 - renamed source files.
194189777a2SCristian Pallares	(2004/12/04) PS1 - split path_t into public and private parts.
195189777a2SCristian Pallares	(2004/12/03) PS1 - split core functionality from user interface.
196189777a2SCristian Pallares	(2004/12/03) PS1 - moved parts of bitmap.h to potracelib.h. Split
197189777a2SCristian Pallares	bitmap.c into bitmap.c and bitmap_io.c. Moved path decomposition
198189777a2SCristian Pallares	auxiliary functions from bitmap.c to path.c.
199189777a2SCristian Pallares	(2004/12/03) PS1 - converted some stray local functions to static
200189777a2SCristian Pallares	(2004/12/01) PS1 - moved basic curve data type definitions to
201189777a2SCristian Pallares	potracelib.h
202189777a2SCristian Pallares	(2004/12/01) PS1 - collected some repeatedly used macros in aux.h
203189777a2SCristian Pallares	(2004/12/01) PS1 - started to create API to potrace core
204189777a2SCristian Pallares	functionality in potracelib.c and potracelib.h. Also added new
205189777a2SCristian Pallares	libpotrace.a target.
206189777a2SCristian Pallares	(2004/12/01) PS1 - made curve.c and path.c reentrant by removing
207189777a2SCristian Pallares	global variable "info".
208189777a2SCristian Pallares	(2004/11/28) PS1 - made a85* auxiliary functions static in
209189777a2SCristian Pallares	flate.c.
210189777a2SCristian Pallares	(2004/11/28) PS1 - pdf backend: removed arbitrary page limit.
211189777a2SCristian Pallares	(2004/11/24) PS1 - pdf backend: replaced ftell() by explicit byte
212189777a2SCristian Pallares	count to work correctly with stdout.
213189777a2SCristian Pallares	(2004/11/24) PS1 - portability: use binary file i/o in MinGW.
214189777a2SCristian Pallares	(2004/10/08) PS1 - minor cleanup in backend_pdf.c.
215189777a2SCristian Pallares	(2004/09/21) PS1 - replace -O3 compilation default by -O2; inlined
216189777a2SCristian Pallares	critical functions manually instead.
217189777a2SCristian Pallares	(2004/09/18) PS1 - slightly optimized multiplications in
218189777a2SCristian Pallares	curve.c:bezier(). Thanks to Thomas M.Ott for suggesting it.
219189777a2SCristian Pallares	(2004/09/16) PS1 - list of backends in help message is now
220189777a2SCristian Pallares	generated.
221189777a2SCristian Pallares	(2004/09/16) PS1 - test suite: added test for pdf backend.
222189777a2SCristian Pallares	(2004/09/14) PS1 - removed bits.c, renamed bits.h to bitops.h, and
223189777a2SCristian Pallares	use static inline functions instead of macros.
224189777a2SCristian Pallares	(2004/09/14) PS1 - test suite: adjusted tolerances.
225189777a2SCristian Pallares	(2004/09/12) PS1 - mkbitmap: when reading plain pbm files, use
226189777a2SCristian Pallares	colors 0 and 255, not 0 and 1.
227189777a2SCristian Pallares	(2004/09/12) PS1 - potrace and mkbitmap: don't complain about
228189777a2SCristian Pallares	"junk at the end of file" if the junk is whitespace and
229189777a2SCristian Pallares	comments. Treat files which contain only whitespace and comments
230189777a2SCristian Pallares	as empty.
231189777a2SCristian Pallares	(2004/08/05) TA1 - added pdf backend.
232189777a2SCristian Pallares
233189777a2SCristian Pallaresv1.5 2004/07/08
234189777a2SCristian Pallares	(2004/07/08) PS1 - removed dependency on external "compress"
235189777a2SCristian Pallares	program. Removed ztops.c, added lzw.c, bits.c.
236189777a2SCristian Pallares	(2004/03/17) PS1 - don't leave temporary file /tmp/have_compress.*
237189777a2SCristian Pallares	lying around.
238189777a2SCristian Pallares	(2004/03/06) PS1 - fixed a type error in have_compress.c:28.
239189777a2SCristian Pallares
240189777a2SCristian Pallaresv1.4 2004/03/06
241189777a2SCristian Pallares	(2004/03/05) PS1 - removed the compile-time check for the
242189777a2SCristian Pallares	"compress" program and replaced it by a run-time check.
243189777a2SCristian Pallares	(2004/03/03) PS1 - ztops.c: fixed compression bug where garbage
244189777a2SCristian Pallares	was added after the end of stream.
245189777a2SCristian Pallares	(2004/02/09) PS1 - further optimized the speed of the function
246189777a2SCristian Pallares	path.c:pathlist_to_tree, which now takes less than 0.1% of total
247189777a2SCristian Pallares	running time.
248189777a2SCristian Pallares	(2004/02/09) PS1 - distribution: removed potrace.{ps,pdf} from
249189777a2SCristian Pallares	distribution, changed textfiles to DOS mode in Cygwin distribution
250189777a2SCristian Pallares	(2004/01/19) PS1 - corrected a bug in 1.2 which caused an enormous
251189777a2SCristian Pallares	slowdown in the function path.c:pathlist_to_tree.
252189777a2SCristian Pallares	(2004/01/17) PS1 - test suite: better quoting in shell scripts to
253189777a2SCristian Pallares	be more robust against spaces in filenames etc.
254189777a2SCristian Pallares	(2004/01/17) PS1 - test suite and ztops.c: respect TEMPDIR
255189777a2SCristian Pallares	environment variable, if set.
256189777a2SCristian Pallares
257189777a2SCristian Pallaresv1.3 2004/01/15
258189777a2SCristian Pallares	(2004/01/14) PS1 - test suite: adjusted tolerances.
259189777a2SCristian Pallares	(2004/01/13) PS1 - when reading a bitmap of width or height 0,
260189777a2SCristian Pallares	pretend the offending dimension is 1. This is not 100% logical
261189777a2SCristian Pallares	in all cases, but better than producing garbage.
262189777a2SCristian Pallares	(2004/01/13) PS1 - fixed bounding box in xfig backend.
263189777a2SCristian Pallares	(2004/01/13) PS1 - added missing gsave/grestore to ps backend.
264189777a2SCristian Pallares	(2004/01/07) PS1 - autoconf: search for zlib.h in
265189777a2SCristian Pallares	${prefix}/include and for libz.so in ${prefix}/lib, in case they
266189777a2SCristian Pallares	are not found elsewhere.
267189777a2SCristian Pallares	(2004/01/07) PS1 - eliminated some unused variables.
268189777a2SCristian Pallares        (2004/01/07) PS1 - portability: eliminated typeof() from
269189777a2SCristian Pallares	mkbitmap.c
270189777a2SCristian Pallares	(2004/01/07) PS1 - test suite: added a test for empty bitmaps.
271189777a2SCristian Pallares	(2003/12/25) PS1 - fixed bug #866223: potrace crashes when applied
272189777a2SCristian Pallares	to an empty bitmap.
273189777a2SCristian Pallares	(2003/12/25) PS1 - when options -2 or -3 are unsupported, ignore
274189777a2SCristian Pallares	them rather than failing, for improved compatibility.
275189777a2SCristian Pallares	(2003/12/25) PS1 - autoconf: added --disable-zlib configuration
276189777a2SCristian Pallares	option and improved error messages for missing zlib.h or libz.so
277189777a2SCristian Pallares	(2003/12/25) PS1 - portability: eliminated dynamic arrays in
278189777a2SCristian Pallares	mkbitmap.c
279189777a2SCristian Pallares	(2003/12/25) PS1 - test suite: added a check for mkbitmap.
280189777a2SCristian Pallares	(2003/12/25) PS1 - test suite: more portable filesize checking in
281189777a2SCristian Pallares	backend-check.sh
282189777a2SCristian Pallares
283189777a2SCristian Pallaresv1.2 2003/12/23
284189777a2SCristian Pallares	(2003/12/23) PS1 - added an xfig backend.
285189777a2SCristian Pallares	(2003/12/23) PS1 - added --group option to group related shapes
286189777a2SCristian Pallares	together in SVG backend.
287189777a2SCristian Pallares	(2003/12/23) PS1 - added --opaque option to paint white shapes
288189777a2SCristian Pallares	opaquely, instead of leaving them transparent, in PS/EPS and SVG
289189777a2SCristian Pallares	backends.
290189777a2SCristian Pallares	(2003/12/23) PS1 - rewrote path decomposition algorithm to
291189777a2SCristian Pallares	calculate path containment tree, to be used for grouping.
292189777a2SCristian Pallares	(2003/12/23) PS1 - test suite: added a check of postscript output
293189777a2SCristian Pallares	using ghostscript.
294189777a2SCristian Pallares	(2003/09/18) PS1 - autoconf: added tests for -lm and -lz
295189777a2SCristian Pallares	libraries, and for zlib.h header file.
296189777a2SCristian Pallares	(2003/09/18) PS1 - portability: cleaned up code so that it can be
297189777a2SCristian Pallares	compiled with a C++ compiler.
298189777a2SCristian Pallares	(2003/09/17) PS1 - code cleanup in main.c:main().
299189777a2SCristian Pallares	(2003/09/17) PS1 - added mkbitmap program.
300189777a2SCristian Pallares	(2003/09/17) PS1 - added -ffloat-store compiler flag for improved
301189777a2SCristian Pallares	floating point predictability.
302189777a2SCristian Pallares	(2003/09/12) PS1 - test suite: added test for BMP runlength
303189777a2SCristian Pallares	encoding.
304189777a2SCristian Pallares	(2003/09/12) PS1 - fixed frontend for BMP runlength encoding.
305189777a2SCristian Pallares	(2003/09/11) PS1 - autoconf: added test to work around gcc
306189777a2SCristian Pallares	compiler bug 12243, which affected curve.c:adjust_vertices().
307189777a2SCristian Pallares	(2003/09/11) PS1 - renamed pbm.c as bitmap.c, pgm.c as greymap.c
308189777a2SCristian Pallares	(2003/09/11) PS1 - moved some bitmap details from path.c to pbm.c
309189777a2SCristian Pallares	(2003/09/10) PS1 - renamed pbm.h macros to start with BM_
310189777a2SCristian Pallares	(2003/09/02) PS1 - portability: added missing fallback value for
311189777a2SCristian Pallares	M_PI to backend_pgm.c.
312189777a2SCristian Pallares	(2003/08/28) PS1 - specialized matrix solving code for n=2.
313189777a2SCristian Pallares	(2003/08/28) PS1 - portability (and scalability): eliminated
314189777a2SCristian Pallares	dynamic arrays.
315189777a2SCristian Pallares	(2003/08/28) PS1 - portability: replaced vsnprintf by vsprintf.
316189777a2SCristian Pallares	(2003/08/28) PS1 - portability: provided fallback value for M_PI
317189777a2SCristian Pallares	(2003/08/27) PS1 - autoconf: now checks whether the compress
318189777a2SCristian Pallares	program works, not just whether it exists.
319189777a2SCristian Pallares	(2003/08/27) PS1 - test suite: wrote three tests for "make check"
320189777a2SCristian Pallares	(2003/08/27) PS1 - portability: fixed some floating point errors
321189777a2SCristian Pallares	on DEC Alpha: division by zero and log of zero.
322189777a2SCristian Pallares	(2003/08/27) PS1 - changed bitmap representation to take advantage
323189777a2SCristian Pallares	of 64-bit architectures.
324189777a2SCristian Pallares	(2003/08/27) PS1 - changed default scaling in ps and eps modes for
325189777a2SCristian Pallares	small page sizes.
326189777a2SCristian Pallares	(2003/08/26) PS1 - allow arguments of command line options -b, -z,
327189777a2SCristian Pallares	-P to be abbreviated by "unambiguous prefix".
328189777a2SCristian Pallares	(2003/08/26) PS1 - added rotation to gimppath backend.
329189777a2SCristian Pallares	(2003/08/24) PS1 - portability: removed GNU extensions from printf
330189777a2SCristian Pallares	format strings in backend_eps.
331189777a2SCristian Pallares	(2003/08/22) PS1 - converted --unit to double value.
332189777a2SCristian Pallares	(2003/08/22) PS1 - added experimental gimppath backend.
333189777a2SCristian Pallares	(2003/08/20) PS1 - close paths in postscript/eps backend.
334189777a2SCristian Pallares	(2003/08/20) PS1 - fixed bug in parsing command line options: long
335189777a2SCristian Pallares	options --cleartext, --level2, --level3 did not work properly.
336189777a2SCristian Pallares	Thanks to George Williams for reporting this bug.
337189777a2SCristian Pallares
338189777a2SCristian Pallaresv1.1 2003/08/18
339189777a2SCristian Pallares	(2003/08/17) PS1 - replaced calc_lon algorithm by a faster
340189777a2SCristian Pallares	implementation. This results in speedups of up to factor 3.3 for
341189777a2SCristian Pallares	certain large input files.
342189777a2SCristian Pallares	(2003/08/17) PS1 - added --invert option.
343189777a2SCristian Pallares	(2003/08/17) PS1 - improved error messages on wrong file format.
344189777a2SCristian Pallares	(2003/08/17) PS1 - code cleanup to build under fussier compilers.
345189777a2SCristian Pallares	Thanks to Nelson Beebe for submitting compiler logs for a large
346189777a2SCristian Pallares	number of setups.
347189777a2SCristian Pallares	(2003/08/17) PS1 - renamed curve.c:quad as quadform to avoid name
348189777a2SCristian Pallares	clash on IBM AIX, Compaq/DEC ODF/1.
349189777a2SCristian Pallares	(2003/08/17) PS1 - autoconf: let user override CFLAGS at configure
350189777a2SCristian Pallares	time, and use -Wall and -O3 only for gcc compiler
351189777a2SCristian Pallares	(2003/08/16) PS1 - added --blacklevel option to control
352189777a2SCristian Pallares	image-to-bitmap conversion
353189777a2SCristian Pallares	(2003/08/16) PS1 - added ability to read BMP files. Changed error
354189777a2SCristian Pallares	reporting in case of empty files, or if there is junk at the end
355189777a2SCristian Pallares	of a file in multipage mode.
356189777a2SCristian Pallares	(2003/08/14) PS1 - as a convenience, now also read files in PGM
357189777a2SCristian Pallares	and PPM format and convert to bitmap by simple threshold method.
358189777a2SCristian Pallares	This is because many programs, including the Gimp and the *topnm
359189777a2SCristian Pallares	tools, produce PNM output which must be further converted to PBM.
360189777a2SCristian Pallares	(2003/08/14) PS1 - rearranged order of options in usage message.
361189777a2SCristian Pallares	(2003/08/14) PS1 - implemented -d1 option for SVG backend. This
362189777a2SCristian Pallares	outputs a jaggy bitmap with no smoothing.
363189777a2SCristian Pallares	(2003/08/14) PS1 - autoconf: improved handling of
364189777a2SCristian Pallares	--enable-compress
365189777a2SCristian Pallares	(2003/08/14) PS1 - added SVG backend.
366189777a2SCristian Pallares	(2003/08/14) PS1 - renamed old -s option as -S
367189777a2SCristian Pallares	(2003/08/12) PS1 - added README.win
368189777a2SCristian Pallares	(2003/08/12) PS1 - autoconf: fixed bug #787182: added non-standard
369189777a2SCristian Pallares	compile time options to help message for ./configure script
370189777a2SCristian Pallares
371189777a2SCristian Pallaresv1.0 2003/08/10
372189777a2SCristian Pallares	(2003/08/10) PS1 - added file i/o code
373189777a2SCristian Pallares	(2003/08/08) PS1 - optimized number of times the penalty3 function
374189777a2SCristian Pallares	is called. Speedups of factor 2.7 were observed on large files.
375189777a2SCristian Pallares	(2003/08/08) PS1 - added --opttolerance and --alphamax options.
376189777a2SCristian Pallares	(2003/08/07) PS1 - autoconf: changed configure.in so that test for
377189777a2SCristian Pallares	compress is omitted when the user overrides it - this prevents a
378189777a2SCristian Pallares	wrong cached value to be read.
379189777a2SCristian Pallares	(2003/08/07) PS1 - keep output flushed in postscript mode
380189777a2SCristian Pallares	(2003/08/07) PS1 - fixed memory leak in multiple page mode
381189777a2SCristian Pallares	(2003/08/06) PS1 - replaced --opticurve by --longcurve option;
382189777a2SCristian Pallares	opticurve is now the default
383189777a2SCristian Pallares	(2003/08/06) PS1 - added opticurve sensitivity to pgm backend
384189777a2SCristian Pallares	(2003/08/06) PS1 - restricted opticurves to be bounded away from
385189777a2SCristian Pallares	180 degrees
386189777a2SCristian Pallares	(2003/08/06) PS1 - allow margins and papersize to determine width
387189777a2SCristian Pallares	if it is not defined by other means in postscript mode
388189777a2SCristian Pallares	(2003/08/06) PS1 - added ability to read multiple bitmaps in
389189777a2SCristian Pallares	postscript mode
390189777a2SCristian Pallares	(2003/08/05) PS1 - new --longcoding option
391189777a2SCristian Pallares	(2003/08/05) PS1 - new optimized eps backend which works with
392189777a2SCristian Pallares	opticurve.
393189777a2SCristian Pallares	(2003/07/31) PS1 - replaced O(n^3) calc_lon algorithm by a new
394189777a2SCristian Pallares	O(n^2) algorithm. Observed speedups of factor 80.
395189777a2SCristian Pallares	(2003/07/27) PS1 - added --opticurve option and integrated
396189777a2SCristian Pallares	opticurve code in curve.c
397189777a2SCristian Pallares	(2003/06/04) PS1 - made bm_to_pathlist a lot more efficient by
398189777a2SCristian Pallares	scanning and clearing only bounding box of mask in inner scan.
399189777a2SCristian Pallares	(2002/11/17) PS1 - changed bm_to_pathlist prototype to use
400189777a2SCristian Pallares	explicit return value.
401189777a2SCristian Pallares	(2002/10/09) PS1 - autoconf: added automake/autoconf scripts in
402189777a2SCristian Pallares	preparation for public distribution.
403