dwww Home | Show directory contents | Find package

ChangeLog

v1.16 2019/09/17
        (2019/09/16) PS1 - portability: use AC_USE_SYSTEM_EXTENSIONS
        instead of individual feature test macros.
        (2019/09/16) PS1 - automake: handle conditional sources better.
        (2019/05/16) PS1 - normalize rotation angle
        (2019/02/26) PS1 - portability: use binary file i/o in OS/2,
        suggested by Dave Yeo.
        (2018/07/27) PS1 - autoconf: renamed --enable-local-getopt as
        --with-included-getopt.
        (2018/07/26) PS1 - test suite: adjusted tolerances.
        (2017/08/06) PS1 - fixed a potential arithmetic overflow. Fixes
        bugs #23 and #24 reported by Henri Salo.

v1.15 2017/08/05
        (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.

v1.14 2017/02/19
        (2017/02/19) PS1 - speed: use clang as default compiler if
        available, and no longer use -ffloat-store even with gcc.
        (2017/02/18) PS1 - corrected some exit codes, added some missing
        error handlers.
        (2017/02/17) PS1 - mkbitmap: bugfixes and improvements in parsing
        image files.
        (2017/02/15) PS1 - truncate the image size when bitmap data ends
        prematurely. This fixes CVE-2016-8686, where Potrace appeared to
        be "hanging" on a crafted input file.
        (2017/02/14) PS1 - test suite: added tests for plain pnm files.
        (2017/01/08) PS1 - fixed potential compiler issues due to signed
        arithmetic overflow and arithmetic shifting.
        (2017/01/07) PS1 - enable use of negative dy in bitmap data.
        (2017/01/07) PS1 - test suite: moved data files to a subdirectory.
        (2017/01/07) PS1 - test suite: added a check for -i flag.
        (2017/01/07) PS1 - fixed buffer overflow CVE-2016-8685, reported
        by Agostino Sarubbo.
        (2015/10/24) PS1 - portability: use const char * for string
        constants, required by C++11. Reported by Martin Gieseking.
        (2015/10/24) PS1 - portability: extra spaces around string macros,
        required by C++11. Reported by Martin Gieseking.
        (2015/10/24) PS1 - portability: added more potential C compilers
        to autoconf. Suggested by Nelson Beebe.

v1.13 2015/10/22
        (2015/07/18) PS1 - fixed heap overflows, null pointer dereference
        bugs and a memory leak. Reported by Agostino Sarubbo.
        (2015/05/17) PS1 - man page: show which backends are dimension
        based, and state more clearly that svg backend defaults to 72dpi.
        (2015/04/11) PS1 - portability: ssize_t not supported on some
        systems; use ptrdiff_t instead. Reported by Martin Gieseking.
        (2015/03/28) PS1 - portability: added missing #includes for c99,
        reported by Nelson Beebe.
        (2015/03/27) PS1 - include config.h before other header files,
        reported by Peter Breitenlohner.
        (2015/03/26) PS1 - fixed division by zero bug triggered by bitmap
        of dimension 1x0. Reported by Tomasz Buchert.

v1.12 2015/03/24
        (2015/03/20) PS1 - fixed memory overflow bug triggered by very
        large bitmaps. Fixes RedHat bug #955808 reported by Vincent Danen
        and Debian bug #778646 reported by Moritz Muehlenhoff.
        (2014/09/06) PS1 - test suite: added binary-check, to check that
        files are written in binary mode. Mostly relevant on Windows.
        (2014/09/06) PS1 - portability: fixed potential binary file mode
        bug on MinGW64.
        (2014/03/30) PS1 - man pages: fixed leading blank page with
        groff -man -Tps.
        (2013/12/29) PS1 - portability: made regular expressions in test
        suite POSIX compliant, reported by Ben Bullock.
        (2013/05/14) PS1 - distribution: removed libtool from distribution.

v1.11 2013/02/19
        (2013/02/10) PS1 - bitops.c: added "cc" as a clobbered register.
        (2012/09/13) PS1 - GeoJSON backend: -u option affects rounding,
        not scaling.
        (2012/09/12) CH1 - added GeoJSON backend.
        (2012/03/04) 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.
        (2012/02/24) PS1 - added support for BMP format with bitfields.

v1.10 2011/08/19
        (2011/08/07) PS1 - added --tight option
        (2011/08/05) PS1 - backends: simplified dimension calculations
        (2011/08/05) PS1 - eps backend: prevent integer overflow in
        bounding box.
        (2011/08/05) PS1 - disallow resolution of 0 dpi.
        (2011/08/05) PS1 - man page: added BACKEND TYPES section
        (2011/08/05) PS1 - fixed default scaling at 72dpi for
        variable-sized backends
        (2011/08/02) PS1 - new gimppath backend produces SVG output
        suitable for current versions of Gimp.
        (2011/08/02) PS1 - added a --flat option for the SVG backend.
        (2011/07/31) PS1 - test suite: renamed *.out files to prevent
        make's built-in implicit rules from accidentally overwriting them.
        (2011/07/26) PS1 - added DXF backend. Thanks to Jonas Benedett
        Dorr for testing.
        (2011/07/26) PS1 - use high resolution bounding box in EPS, PDF,
        and SVG backends
        (2011/05/13) PS1 - autoconf: CADD can now be given at compile time

v1.9 2010/12/21
        (2010/12/20) PS1 - getopt.h: fixed compiler warnings
        (2010/12/20) PS1 - added --tty option to specify progress bar
        rendering at runtime.
        (2010/12/20) PS1 - added simplified progress bar for Windows or
        other dumb terminals. New --enable-dumb-tty configuration option.
        (2010/12/16) PS1 - test suite: fixed bug where a failed test was
        not reported in backend-check.sh
        (2010/12/15) PS1 - test suite: support for $EXEEXT
        (2010/12/15) PS1 - optimized penalty3 inner loop, 4.6% speedup.
        (2010/12/15) PS1 - autoconf: new CADD variable to add to CFLAGS
        (2010/12/15) PS1 - fixed some compiler warnings, added some error
        handlers, and added some cosmetic top-level free's.
        (2010/11/25) PS1 - added support for some BMP version 4 and 5
        files, and for top-down BMP files. Suggested by Kanwar Sangwan.
        (2010/11/13) PS1 - don't enter filter mode if -- is used
        (2010/11/09) PS1 - greymap.h, bitmap.h: drop unneeded dependencies
        (2010/09/07) PS1 - autoconf: fixed getopt_long test to allow
        cross-compiling, bug #3061403, reported by Igor Filippov.
        (2010/08/31) PS1 - test suite: added environment variables
        CHECK_POTRACE and CHECK_MKBITMAP to allow binaries outside the
        build tree to be tested
        (2010/08/09) PS1 - autoconf: converted to libtool
        (2010/08/05) PS1 - autoconf: renamed configure.in as configure.ac
        (2010/08/05) PS1 - autoconf: added --with-libpotrace to optionally
        install the Potrace library and header files.
        (2009/08/03) PS1 - portability: c++ wrapper in potracelib.h,
        suggested by Peter Jankuliak.
        (2009/05/13) PS1 - added pdfpage backend for fixed pagesize PDF
        output.
        (2009/04/07) PS1 - decompose.c: minor optimization
        (2008/10/08) PS1 - mkbitmap: speed increase by 8% to 26% by
        eliminating unnecessary bounds checks and interpolation.
        (2008/10/05) PS1 - trace.c: separate function for path reversal
        (2008/10/03) PS1 - progress.h: do the right thing if progress ==
        NULL
        (2008/10/03) PS1 - moved detrand() to auxiliary.h
        (2008/08/21) PS1 - mkbitmap: added --blur option.
        (2008/08/12) PS1 - combined the old -V option with -v.
        (2008/08/12) PS1 - test suite: adjusted tolerances to fix bug
        #1745456
        (2007/12/31) PS1 - include curve.h where path_t is used
        (2007/12/28) PS1 - flush stderr when interleaved with stdout
        (2007/12/28) PS1 - portability: don't hardcode size of short int
        (2007/11/09) PS1 - eps backend: use save-restore to avoid
        polluting caller's dictionary and for page independence.
        (2007/05/22) PS1 - xfig backend: added depth to opaque components
        to avoid them floating to the background. Suggested by Rafael
        Laboissiere.

v1.8 2007/04/09
        (2007/04/08) PS1 - portability: use 'test' instead of '[' in shell
        scripts.
        (2007/04/08) PS1 - test suite: run PDF checks as a separate test.
        (2007/04/06) PS1 - fixed logical expressions in flate.c
        (2007/02/19) PS1 - portability: replacements for inline and M_PI
        (2007/01/16) PS1 - test suite: added checks for rotation in
        PostScript, PDF, and PGM backends
        (2007/01/16) PS1 - pdf backend: added rotation
        (2007/01/16) PS1 - pdf backend: renamed shipcom() function
        (2007/01/14) PS1 - autoconf: check if getopt_long reorders its
        arguments.
        (2007/01/13) PS1 - made pseudo-random number generation
        thread-safe and much faster.
        (2006/12/20) PS1 - renamed some structures in lzw.c, main.h
        (2006/12/20) PS1 - portability: fixed some compiler issues for
        Amiga, reported by Andreas Kleinert.
        (2006/12/20) PS1 - main.c: changed some return types to void.
        (2006/08/14) PS1 - made curve.c:privcurve_free_members() static.
        (2005/12/22) PS1 - renamed README.win as README-WIN
        (2005/11/11) PS1 - portability: use binary file i/o in Cygwin.
        Suggested by Henry He.
        (2005/06/24) PS1 - potracelib: fixed allocation bug, reported by
        Jung Shin.
        (2005/06/23) PS1 - potracelib_demo.c: free resources properly.
        (2005/06/23) PS1 - initialize unused private state to 0.
        (2005/06/23) PS1 - decompose.c: improved memory allocation scheme.
        (2005/05/06) 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.

v1.7 2005/03/06
        (2005/03/05) PS1 - fixed progress bar subrange bug.

v1.6 2005/02/27
        (2005/02/22) PS1 - added "epsilon" feature to progress bar.
        (2005/02/22) PS1 - documentation: changed potracelib documentation
        to TeX format.
        (2005/02/07) PS1 - tweaked progress bar
        (2005/01/24) PS1 - added --progress option to potrace frontend.
        (2005/01/24) PS1 - potracelib: added progress bar interface.
        (2005/01/23) PS1 - fixed overflow bug in fast summing code.
        (2005/01/23) PS1 - rewrote trace.c:bestpolygon(). This speeds up
        potrace by 20% on typical data and up to 60% in some bad cases.
        (2004/12/07) PS1 - documentation: added potracelib.txt
        (2004/12/07) PS1 - renamed aux.h as auxiliary.h, since aux is an
        invalid filename in Windows.
        (2004/12/06) PS1 - API: added default parameters
        (2004/12/06) PS1 - API: added potrace_state_t
        (2004/12/06) PS1 - API: added "const" qualifiers
        (2004/12/06) PS1 - removed conv and areac fields from privpath_t.
        (2004/12/06) PS1 - changed bounding box handling in decompose.c
        (2004/12/06) PS1 - split curve_t into public and private parts.
        (2004/12/06) PS1 - moved curve/path allocation to curve.c.
        (2004/12/06) PS1 - renamed a type in lzw.h.
        (2004/12/06) PS1 - renamed source files.
        (2004/12/04) PS1 - split path_t into public and private parts.
        (2004/12/03) PS1 - split core functionality from user interface.
        (2004/12/03) PS1 - moved parts of bitmap.h to potracelib.h. Split
        bitmap.c into bitmap.c and bitmap_io.c. Moved path decomposition
        auxiliary functions from bitmap.c to path.c.
        (2004/12/03) PS1 - converted some stray local functions to static
        (2004/12/01) PS1 - moved basic curve data type definitions to
        potracelib.h
        (2004/12/01) PS1 - collected some repeatedly used macros in aux.h
        (2004/12/01) PS1 - started to create API to potrace core
        functionality in potracelib.c and potracelib.h. Also added new
        libpotrace.a target.
        (2004/12/01) PS1 - made curve.c and path.c reentrant by removing
        global variable "info".
        (2004/11/28) PS1 - made a85* auxiliary functions static in
        flate.c.
        (2004/11/28) PS1 - pdf backend: removed arbitrary page limit.
        (2004/11/24) PS1 - pdf backend: replaced ftell() by explicit byte
        count to work correctly with stdout.
        (2004/11/24) PS1 - portability: use binary file i/o in MinGW.
        (2004/10/08) PS1 - minor cleanup in backend_pdf.c.
        (2004/09/21) PS1 - replace -O3 compilation default by -O2; inlined
        critical functions manually instead.
        (2004/09/18) PS1 - slightly optimized multiplications in
        curve.c:bezier(). Thanks to Thomas M.Ott for suggesting it.
        (2004/09/16) PS1 - list of backends in help message is now
        generated.
        (2004/09/16) PS1 - test suite: added test for pdf backend.
        (2004/09/14) PS1 - removed bits.c, renamed bits.h to bitops.h, and
        use static inline functions instead of macros.
        (2004/09/14) PS1 - test suite: adjusted tolerances.
        (2004/09/12) PS1 - mkbitmap: when reading plain pbm files, use
        colors 0 and 255, not 0 and 1.
        (2004/09/12) PS1 - potrace and mkbitmap: don't complain about
        "junk at the end of file" if the junk is whitespace and
        comments. Treat files which contain only whitespace and comments
        as empty.
        (2004/08/05) TA1 - added pdf backend.

v1.5 2004/07/08
        (2004/07/08) PS1 - removed dependency on external "compress"
        program. Removed ztops.c, added lzw.c, bits.c.
        (2004/03/17) PS1 - don't leave temporary file /tmp/have_compress.*
        lying around.
        (2004/03/06) PS1 - fixed a type error in have_compress.c:28.

v1.4 2004/03/06
        (2004/03/05) PS1 - removed the compile-time check for the
        "compress" program and replaced it by a run-time check.
        (2004/03/03) PS1 - ztops.c: fixed compression bug where garbage
        was added after the end of stream.
        (2004/02/09) PS1 - further optimized the speed of the function
        path.c:pathlist_to_tree, which now takes less than 0.1% of total
        running time.
        (2004/02/09) PS1 - distribution: removed potrace.{ps,pdf} from
        distribution, changed textfiles to DOS mode in Cygwin distribution
        (2004/01/19) PS1 - corrected a bug in 1.2 which caused an enormous
        slowdown in the function path.c:pathlist_to_tree.
        (2004/01/17) PS1 - test suite: better quoting in shell scripts to
        be more robust against spaces in filenames etc.
        (2004/01/17) PS1 - test suite and ztops.c: respect TEMPDIR
        environment variable, if set.

v1.3 2004/01/15
        (2004/01/14) PS1 - test suite: adjusted tolerances.
        (2004/01/13) PS1 - when reading a bitmap of width or height 0,
        pretend the offending dimension is 1. This is not 100% logical
        in all cases, but better than producing garbage.
        (2004/01/13) PS1 - fixed bounding box in xfig backend.
        (2004/01/13) PS1 - added missing gsave/grestore to ps backend.
        (2004/01/07) PS1 - autoconf: search for zlib.h in
        ${prefix}/include and for libz.so in ${prefix}/lib, in case they
        are not found elsewhere.
        (2004/01/07) PS1 - eliminated some unused variables.
        (2004/01/07) PS1 - portability: eliminated typeof() from
        mkbitmap.c
        (2004/01/07) PS1 - test suite: added a test for empty bitmaps.
        (2003/12/25) PS1 - fixed bug #866223: potrace crashes when applied
        to an empty bitmap.
        (2003/12/25) PS1 - when options -2 or -3 are unsupported, ignore
        them rather than failing, for improved compatibility.
        (2003/12/25) PS1 - autoconf: added --disable-zlib configuration
        option and improved error messages for missing zlib.h or libz.so
        (2003/12/25) PS1 - portability: eliminated dynamic arrays in
        mkbitmap.c
        (2003/12/25) PS1 - test suite: added a check for mkbitmap.
        (2003/12/25) PS1 - test suite: more portable filesize checking in
        backend-check.sh

v1.2 2003/12/23
        (2003/12/23) PS1 - added an xfig backend.
        (2003/12/23) PS1 - added --group option to group related shapes
        together in SVG backend.
        (2003/12/23) PS1 - added --opaque option to paint white shapes
        opaquely, instead of leaving them transparent, in PS/EPS and SVG
        backends.
        (2003/12/23) PS1 - rewrote path decomposition algorithm to
        calculate path containment tree, to be used for grouping.
        (2003/12/23) PS1 - test suite: added a check of postscript output
        using ghostscript.
        (2003/09/18) PS1 - autoconf: added tests for -lm and -lz
        libraries, and for zlib.h header file.
        (2003/09/18) PS1 - portability: cleaned up code so that it can be
        compiled with a C++ compiler.
        (2003/09/17) PS1 - code cleanup in main.c:main().
        (2003/09/17) PS1 - added mkbitmap program.
        (2003/09/17) PS1 - added -ffloat-store compiler flag for improved
        floating point predictability.
        (2003/09/12) PS1 - test suite: added test for BMP runlength
        encoding.
        (2003/09/12) PS1 - fixed frontend for BMP runlength encoding.
        (2003/09/11) PS1 - autoconf: added test to work around gcc
        compiler bug 12243, which affected curve.c:adjust_vertices().
        (2003/09/11) PS1 - renamed pbm.c as bitmap.c, pgm.c as greymap.c
        (2003/09/11) PS1 - moved some bitmap details from path.c to pbm.c
        (2003/09/10) PS1 - renamed pbm.h macros to start with BM_
        (2003/09/02) PS1 - portability: added missing fallback value for
        M_PI to backend_pgm.c.
        (2003/08/28) PS1 - specialized matrix solving code for n=2.
        (2003/08/28) PS1 - portability (and scalability): eliminated
        dynamic arrays.
        (2003/08/28) PS1 - portability: replaced vsnprintf by vsprintf.
        (2003/08/28) PS1 - portability: provided fallback value for M_PI
        (2003/08/27) PS1 - autoconf: now checks whether the compress
        program works, not just whether it exists.
        (2003/08/27) PS1 - test suite: wrote three tests for "make check"
        (2003/08/27) PS1 - portability: fixed some floating point errors
        on DEC Alpha: division by zero and log of zero.
        (2003/08/27) PS1 - changed bitmap representation to take advantage
        of 64-bit architectures.
        (2003/08/27) PS1 - changed default scaling in ps and eps modes for
        small page sizes.
        (2003/08/26) PS1 - allow arguments of command line options -b, -z,
        -P to be abbreviated by "unambiguous prefix".
        (2003/08/26) PS1 - added rotation to gimppath backend.
        (2003/08/24) PS1 - portability: removed GNU extensions from printf
        format strings in backend_eps.
        (2003/08/22) PS1 - converted --unit to double value.
        (2003/08/22) PS1 - added experimental gimppath backend.
        (2003/08/20) PS1 - close paths in postscript/eps backend.
        (2003/08/20) PS1 - fixed bug in parsing command line options: long
        options --cleartext, --level2, --level3 did not work properly.
        Thanks to George Williams for reporting this bug.

v1.1 2003/08/18
        (2003/08/17) PS1 - replaced calc_lon algorithm by a faster
        implementation. This results in speedups of up to factor 3.3 for
        certain large input files.
        (2003/08/17) PS1 - added --invert option.
        (2003/08/17) PS1 - improved error messages on wrong file format.
        (2003/08/17) PS1 - code cleanup to build under fussier compilers.
        Thanks to Nelson Beebe for submitting compiler logs for a large
        number of setups.
        (2003/08/17) PS1 - renamed curve.c:quad as quadform to avoid name
        clash on IBM AIX, Compaq/DEC ODF/1.
        (2003/08/17) PS1 - autoconf: let user override CFLAGS at configure
        time, and use -Wall and -O3 only for gcc compiler
        (2003/08/16) PS1 - added --blacklevel option to control
        image-to-bitmap conversion
        (2003/08/16) PS1 - added ability to read BMP files. Changed error
        reporting in case of empty files, or if there is junk at the end
        of a file in multipage mode.
        (2003/08/14) PS1 - as a convenience, now also read files in PGM
        and PPM format and convert to bitmap by simple threshold method.
        This is because many programs, including the Gimp and the *topnm
        tools, produce PNM output which must be further converted to PBM.
        (2003/08/14) PS1 - rearranged order of options in usage message.
        (2003/08/14) PS1 - implemented -d1 option for SVG backend. This
        outputs a jaggy bitmap with no smoothing.
        (2003/08/14) PS1 - autoconf: improved handling of
        --enable-compress
        (2003/08/14) PS1 - added SVG backend.
        (2003/08/14) PS1 - renamed old -s option as -S
        (2003/08/12) PS1 - added README.win
        (2003/08/12) PS1 - autoconf: fixed bug #787182: added non-standard
        compile time options to help message for ./configure script

v1.0 2003/08/10
        (2003/08/10) PS1 - added file i/o code
        (2003/08/08) PS1 - optimized number of times the penalty3 function
        is called. Speedups of factor 2.7 were observed on large files.
        (2003/08/08) PS1 - added --opttolerance and --alphamax options.
        (2003/08/07) PS1 - autoconf: changed configure.in so that test for
        compress is omitted when the user overrides it - this prevents a
        wrong cached value to be read.
        (2003/08/07) PS1 - keep output flushed in postscript mode
        (2003/08/07) PS1 - fixed memory leak in multiple page mode
        (2003/08/06) PS1 - replaced --opticurve by --longcurve option;
        opticurve is now the default
        (2003/08/06) PS1 - added opticurve sensitivity to pgm backend
        (2003/08/06) PS1 - restricted opticurves to be bounded away from
        180 degrees
        (2003/08/06) PS1 - allow margins and papersize to determine width
        if it is not defined by other means in postscript mode
        (2003/08/06) PS1 - added ability to read multiple bitmaps in
        postscript mode
        (2003/08/05) PS1 - new --longcoding option
        (2003/08/05) PS1 - new optimized eps backend which works with
        opticurve.
        (2003/07/31) PS1 - replaced O(n^3) calc_lon algorithm by a new
        O(n^2) algorithm. Observed speedups of factor 80.
        (2003/07/27) PS1 - added --opticurve option and integrated
        opticurve code in curve.c
        (2003/06/04) PS1 - made bm_to_pathlist a lot more efficient by
        scanning and clearing only bounding box of mask in inner scan.
        (2002/11/17) PS1 - changed bm_to_pathlist prototype to use
        explicit return value.
        (2002/10/09) PS1 - autoconf: added automake/autoconf scripts in
        preparation for public distribution.

Generated by dwww version 1.15 on Thu Jun 20 13:50:16 CEST 2024.