What's new in Potrace 1.16
Sep 17, 2019
- PS1 - portability: use AC_USE_SYSTEM_EXTENSIONS instead of individual feature test macros.
- PS1 - automake: handle conditional sources better.
- PS1 - normalize rotation angle
- PS1 - portability: use binary file i/o in OS/2, suggested by Dave Yeo.
- PS1 - autoconf: renamed --enable-local-getopt as--with-included-getopt.
- PS1 - test suite: adjusted tolerances.
- PS1 - fixed a potential arithmetic overflow. Fixes bugs #23 and #24 reported by Henri Salo.
New in Potrace 1.15 (Aug 8, 2017)
- (2017/08/05) PS1 - use round() instead of rint()
- (2017/08/05) PS1 - portability: set both _POSIX_C_SOURCE and
- _NETBSD_SOURCE to enable strdup prototype in string.h, as
- _XOPEN_SOURCE=500 doesn't work on macOS, _XOPEN_SOURCE=600 doesn't
- work on SunOS, and _POSIX_C_SOURCE alone doesn't work on Minix.
- (2017/08/02) PS1 - fixed a potential arithmetic overflow.
- (2017/06/17) PS1 - fixed a bug with very large bitmaps. Reported
- by Michael VoÅ™ÃÅ¡ek.
- (2017/03/05) PS1 - autoconf: added --enable-local-getopt to avoid
- using the system-wide getopt library (it may still end up being
- used on GNU systems).
- (2017/03/05) PS1 - portability: moved getopt.h to a subdirectory,
- to be included only when needed. Reported by Daniel Macks.
- (2017/03/05) PS1 - portability: use _XOPEN_SOURCE=600 to fix macOS
- warning.
- (2017/02/27) PS1 - fixed more buffer overflows (not security
- critical), including one reported by Agostino Sarubbo. This also
- fixes CVE-2017-12067.
New in Potrace 1.13 (Oct 5, 2016)
- PS1 - fixed heap overflows, null pointer dereference
- bugs and a memory leak. Reported by Agostino Sarubbo.
- PS1 - man page: show which backends are dimension
- based, and state more clearly that svg backend defaults to 72dpi.
- PS1 - portability: ssize_t not supported on some
- systems; use ptrdiff_t instead. Reported by Martin Gieseking.
- PS1 - portability: added missing #includes for c99,
- reported by Nelson Beebe.
- PS1 - include config.h before other header files,
- reported by Peter Breitenlohner.
- PS1 - fixed division by zero bug triggered by bitmap
- of dimension 1x0. Reported by Tomasz Buchert.
New in Potrace 1.12 (Mar 24, 2015)
- PS1 - fixed memory overflow bug triggered by very large bitmaps.
- PS1 - test suite: added binary-check, to check that files are written in binary mode. Mostly relevant on Windows.
- PS1 - portability: fixed potential binary file mode bug on MinGW64.
- PS1 - man pages: fixed leading blank page with groff -man -Tps.
- PS1 - portability: made regular expressions in test suite POSIX compliant.
- PS1 - distribution: removed libtool from distribution.
New in Potrace 1.11 (Feb 20, 2013)
- PS1 - bitops.c: added "cc" as a clobbered register.
- PS1 - GeoJSON backend: -u option affects rounding, not scaling.
- CH1 - added GeoJSON backend.
- PS1 - minor change in behavior of alphamax parameter: make a corner if alpha >= alphamax (instead of >). This makes little practical difference, except when alphamax = 0, in which case we now get a polygon. Fixes bug #3495854, reported by scribbleink.
- PS1 - added support for BMP format with bitfields.
New in Potrace 1.10 (Feb 11, 2013)
- PS1 - added --tight option
- PS1 - backends: simplified dimension calculations
- PS1 - eps backend: prevent integer overflow in bounding box.
- PS1 - disallow resolution of 0 dpi.
- PS1 - man page: added BACKEND TYPES section
- PS1 - fixed default scaling at 72dpi for variable-sized backends
- PS1 - new gimppath backend produces SVG output suitable for current versions of Gimp.
- PS1 - added a flat option for the SVG backend.
- PS1 - test suite: renamed *.out files to prevent make's built-in implicit rules from accidentally overwriting them.
- PS1 - added DXF backend.
- PS1 - use high resolution bounding box in EPS, PDF, and SVG backends
- PS1 - autoconf: CADD can now be given at compile time
New in Potrace 1.9 (Dec 22, 2010)
- PS1 - getopt.h: fixed compiler warnings
- PS1 - added --tty option to specify progress bar
- rendering at runtime
- PS1 - added simplified progress bar for Windows or
- other dumb terminals. New --enable-dumb-tty configuration option
- PS1 - test suite: fixed bug where a failed test was
- not reported in backend-check.sh
- PS1 - test suite: support for $EXEEXT
- PS1 - optimized penalty3 inner loop, 4.6% speedup
- PS1 - autoconf: new CADD variable to add to CFLAGS
- PS1 - fixed some compiler warnings, added some error
- handlers, and added some cosmetic top-level free's
- PS1 - added support for some BMP version 4 and 5
- files, and for top-down BMP files. Suggested by Kanwar Sangwan
- PS1 - don't enter filter mode if -- is used
- PS1 - greymap.h, bitmap.h: drop unneeded dependencies
- PS1 - autoconf: fixed getopt_long test to allow
- cross-compiling, bug #3061403, reported by Igor Filippov
- PS1 - test suite: added environment variables
- CHECK_POTRACE and CHECK_MKBITMAP to allow binaries outside the
- build tree to be tested
- PS1 - autoconf: converted to libtool
- PS1 - autoconf: renamed configure.in as configure.ac
- PS1 - autoconf: added --with-libpotrace to optionally
- install the Potrace library and header files
- PS1 - portability: c++ wrapper in potracelib.h
- suggested by Peter Jankuliak
- PS1 - added pdfpage backend for fixed pagesize PDF
- output
- PS1 - mkbitmap: speed increase by 8% to 26% by
- eliminating unnecessary bounds checks and interpolation
- PS1 - trace.c: separate function for path reversal
- PS1 - progress.h: do the right thing if progress ==
- NULL
- PS1 - moved detrand() to auxiliary.h
- PS1 - mkbitmap: added --blur option
- PS1 - combined the old -V option with -v
- PS1 - test suite: adjusted tolerances to fix bug
- 1745456
- PS1 - include curve.h where path_t is used
- PS1 - flush stderr when interleaved with stdout
- PS1 - portability: don't hardcode size of short int
- PS1 - eps backend: use save-restore to avoid
- polluting caller's dictionary and for page independence
- PS1 - xfig backend: added depth to opaque components
- to avoid them floating to the background.
New in Potrace 1.8 (Jul 13, 2007)
- PS1 - portability: use 'test' instead of '[' in shell scripts.
- PS1 - test suite: run PDF checks as a separate test.
- PS1 - fixed logical expressions in flate.c
- PS1 - portability: replacements for inline and M_PI
- PS1 - test suite: added checks for rotation in PostScript, PDF, and PGM backends
- PS1 - pdf backend: added rotation
- PS1 - pdf backend: renamed shipcom() function
- PS1 - autoconf: check if getopt_long reorders its arguments.
- PS1 - made pseudo-random number generation thread-safe and much faster.
- PS1 - renamed some structures in lzw.c, main.h
- PS1 - portability: fixed some compiler issues for
- Amiga, reported by Andreas Kleinert.
- PS1 - main.c: changed some return types to void.
- PS1 - made curve.c:privcurve_free_members() static.
- PS1 - renamed README.win as README-WIN
- PS1 - portability: use binary file i/o in Cygwin. Suggested by Henry He.
- PS1 - potracelib: fixed allocation bug, reported by
- Jung Shin.
- PS1 - potracelib_demo.c: free resources properly.
- PS1 - initialize unused private state to 0.
- PS1 - decompose.c: improved memory allocation scheme.
- PS1 - added "alphacurve" field to private curve structure, so that backends that don't use the public interface (such as the EPS backend) can be warned of non-conforming curves.