ansilove

ANSI and ASCII art to PNG converter in C
Log | Files | Refs | README | LICENSE

ChangeLog (10429B)


      1 AnsiLove/C 4.1.5 (2021-02-14)
      2 
      3 - Stop forcing FORTIFY_SOURCE=2, it should be package builders decision
      4 - Remove dead increments for argc and argv
      5 - Check strdup() return value when allocating output file name
      6 
      7 
      8 
      9 AnsiLove/C 4.1.4 (2020-10-22)
     10 
     11 - Set CMAKE_BUILD_TYPE to "Release" in CMakeLists.txt
     12 - Enable FORTIFY_SOURCE level 2
     13 - Move read_status variable declaration to the top of the function
     14 - Check fread() return values in readComments() and add error handling
     15 - Introduce the READ_RECORD function-like macro, for fread error handling
     16 - Use READ_RECORD in readRecord() to add fread() error handling
     17 - Only call memset() if the malloc call succeeds
     18 - Check strdup() return value and error out on failed allocation
     19 
     20 
     21 
     22 AnsiLove/C 4.1.3 (2020-09-18)
     23 
     24 - Adjust SAUCE flag output to be binary
     25 - Add -S flag to use SAUCE info for rendering hints. Users must now use -S
     26   to get iCE color info. This was previously automatically pulled without
     27   any extra options.
     28 - Document the new -S flag, allowing to use SAUCE info for render options
     29 - Add support for seccomp on arm
     30 - Add missing test for __NR_mmap, the mmap syscall doesn't exist on arm
     31 
     32 
     33 
     34 AnsiLove/C 4.1.2 (2020-07-04)
     35 
     36 - Define _GNU_SOURCE in CMakeLists.txt to avoid cluttering source files
     37 - No need to set HAVE_SECCOMP to 1, defining it is enough
     38 - Remove some unneeded seccomp related includes
     39 - Validate architectures for seccomp
     40 - Add seccomp support on i386, tested on glibc and musl
     41 - Remove extraneous underscore in #if defined check
     42 - Use __NR_ instead of SYS_ prefix in #if defined checks
     43 
     44 
     45 
     46 AnsiLove/C 4.1.1 (2020-05-25)
     47 
     48 - Various documentation tweaks and improvements
     49 - Define timespecsub macro in compat.h if it doesn't exists
     50 - Use CLOCK_REALTIME if CLOCK_MONOTONIC is not available
     51 - Display processing time on exit.
     52 - Fix includes and add forward declarations in various source files
     53 
     54 
     55 
     56 AnsiLove/C 4.1.0 (2020-02-17)
     57 
     58 - Add a new '-t' flag (type), allowing to specify input file type and
     59   override file type detection
     60 - Various documentation tweaks and improvements
     61 
     62 
     63 
     64 AnsiLove/C 4.0.7 (2020-01-18)
     65 
     66 - Use OpenBSD style(9) for function prototypes and declarations
     67 - Replace EXIT_SUCCESS by zero in all SAUCE functions
     68 - Do not use typedef for the sauce struct
     69 - Set icecolors to true if defined in SAUCE record ANSiFlags
     70 - Add test cases for most supported formats, missing an IDF file for now
     71 - Sync the description of Retina output capabilities with reality
     72 
     73 
     74 
     75 AnsiLove/C 4.0.6 (2019-12-10)
     76 
     77 - Remove extraneous sauceReadFileName() call, read from existing SAUCE record
     78 - Use strdup() when assigning fileName and fext fallback values
     79 - Call memset() to set all record struct fields to zero
     80 - Free SAUCE record and comments once and for all when exiting the program
     81 
     82 
     83 
     84 AnsiLove/C 4.0.5 (2019-11-19)
     85 
     86 - Add ENABLE_SECCOMP build option, to allow building seccomp support
     87   conditionally
     88 - Disable seccomp by default, it needs more testing on non !amd64 platforms
     89 - Use ${CMAKE_INSTALL_BINDIR} instead of hardcoding 'bin'
     90 
     91 
     92 
     93 AnsiLove/C 4.0.4 (2019-10-28)
     94 
     95 - Add initial seccomp support to Ansilove
     96 - Move pledge and seccomp initialization before ansilove_init()
     97 - Move conditional includes for 'pledge' and 'strtonum' in compat.h
     98 
     99 
    100 
    101 AnsiLove/C 4.0.3 (2019-08-16)
    102 
    103 - Use errx() for displaying error messages
    104 - Print information messages on stdout
    105 - Introduce a version() function to display version information
    106 - Add a -q flag (quiet) to allow silencing output messages
    107 
    108 
    109 
    110 AnsiLove/C 4.0.2 (2019-08-13)
    111 
    112 - Remove most examples from the repository, they continue to live on the
    113   website
    114 - Move the remaining examples in per author directories, and add LICENSE
    115   files for these artworks, courtesy of their authors
    116 
    117 
    118 
    119 AnsiLove/C 4.0.1 (2019-06-25)
    120 
    121 - Fix a few typos in README and ansilove.1
    122 - Simplify display of default font when no font option is specified
    123 - Drop the leading dot when saving input file extension
    124 - Fix the check for readComments() return value
    125 
    126 
    127 
    128 AnsiLove/C 4.0.0 (2019-01-16)
    129 
    130 - Switch to using libansilove
    131 - Add a new switch (-d) to toggle DOS aspect ratio
    132 - Add initial support for PabloDraw 24-bit ANSI sequences
    133 - Ansilove now generates only one output file when -r or -R options
    134   are used
    135 - Display scale factor when -r or -R options are used
    136 - Allow to specify the number of columns for ANSI and Tundra files
    137 - Restrict maximum allowed number of columns to 4096
    138 - Check asprintf() return value and error if allocation fails
    139 - Bugfixes and improvements in the SAUCE parser
    140 - Refactor font selection processing
    141 - Refactor rendering mode processing
    142 - Use OpenBSD style(9) for function prototypes and declaration
    143 - Add missing headers and remove unnecessary ones
    144 - Remove versionInfo(), simply print the header with version information
    145   when invoked with -v
    146 - Remove showHelp(), show synopsis instead when invoked with -h
    147 - Add a new example ANSi (Thanks Nail)
    148 - Remove -e switch, examples are now listed in the man page instead
    149 - Make synopsis() only display SYNOPSIS, as it should be.
    150 - Add an EXAMPLES section in ansilove.1
    151 - PC fonts for code pages other than cp437 are now named using the cpNNN
    152   scheme. Albeit not documented anymore, the previously used names will
    153   keep working
    154 
    155 
    156 
    157 AnsiLove/C 3.0.9 (2018-06-19)
    158 
    159 - Add a new example ANSi (Thanks Sylvao)
    160 - Do not use -Werror by default
    161 - Increment maximum ansi sequences length
    162 - Add code to skip PabloDraw 24-bit ANSI sequences
    163 
    164 
    165 
    166 AnsiLove/C 3.0.8 (2017-12-20)
    167 
    168 - Adding new example ANSis (Thanks Burps)
    169 - Use asprintf() to create output filenames
    170 - Reflect OpenBSD's pledge() changes
    171 - Add a -R flag allowing to specify a custom retina scale factor
    172 
    173 
    174 
    175 AnsiLove/C 3.0.7 (2017-07-02)
    176 
    177 - Print messages to to stderr instead of stdout
    178 - Ensure binary files have an even size
    179 - Better description of supported file formats
    180 - Skip erase in line (EL) sequences (issue reported by Bart Dumon, thanks!)
    181 - Define palettes in config.h
    182 - Use defined palettes instead of hardcoding each color value in the loaders
    183 
    184 
    185 
    186 AnsiLove/C 3.0.6 (2017-04-22)
    187 
    188 - Create an output function to unify the way output files are created
    189 - Prevent .png suffix to be appended when using -o flag (*NIX tool
    190   convention compatibility)
    191 
    192 
    193 
    194 AnsiLove/C 3.0.5 (2017-04-16)
    195 
    196 - Free memory allocated in the PCBoard loader
    197 - Free font data where appropriate
    198 - Add a trailing NUL character to inputFileBuffer
    199 - Remove the custom substr function, call strndup directly
    200 - Free seqGrab where necessary
    201 - Use the ternary operator when shitfing cursor position
    202 - Use perror when printing errors
    203 - Remove SUBSTITUTE_BREAK and WRAP_COLUMN_80 options
    204 - Use fstat to get the input file size
    205 - Create a retina function instead of duplicating code in all loaders
    206 - Fix OpenBSD's style(9) offenders in compat functions
    207 
    208 
    209 
    210 AnsiLove/C 3.0.4 (2016-07-28)
    211 
    212 - Relicensed under the BSD 2-Clause license
    213 - Input file is now loaded in main, prior to calling format loaders
    214 - Use stat to get input file size instead of custom file size function
    215 - Remove now unused file size function
    216 - Refactoring bits and columns argument value handling
    217 
    218 
    219 
    220 AnsiLove/C 3.0.3 (2016-07-14)
    221 
    222 - Adding some missing includes
    223 - Define _XOPEN_SOURCE macro (for 'strdup' and 'strndup' functions)
    224 - Switch back to compiling with -std=c99 instead of -std=gnu99
    225 - Adding cast to fix compilation with GCC on NetBSD [-Werror=char-subscripts]
    226 - Use strdup when lowercasing file extension, to avoid modifying input filename
    227 - Define _NETBSD_SOURCE macro to make 'strndup' declaration visible on NetBSD
    228 
    229 
    230 
    231 AnsiLove/C 3.0.2 (2016-01-21)
    232 
    233 - Adding a new example XBin (Thanks Enzo)
    234 - Adding install target for man page
    235 - Removing hardcoded paths in 'CMakeLists.txt' for GD library detection
    236 - Add additional include directories for compat functions to avoid
    237   using relative path in includes
    238 - Refactoring of the ANSI loader, and removed support for drawing bold,
    239   italics and underline characters for Amiga fonts, allowing to plot
    240   characters directly to the canvas and drop a lot of code
    241 - Move SAUCE functions into their own file
    242 - Moving all format loaders to their own files + simplifying names
    243 - Removed prototype for 'str_replace' which has been pruned
    244 - Moving ANSI and PCBoard character structures to their respective
    245   loader headers
    246 - AnsiLove is now pledged on OpenBSD
    247 - Renaming a bunch of files and improving the project structure
    248 - Removing all calls to 'atoi' and using OpenBSD's 'strtonum' instead
    249 - Fixing regression in the CED mode rendering
    250 - Removing 'workbench-transparent' rendering mode, it never made sense
    251 - Fixing regression in the Workbench mode rendering
    252 - Adding detailed font options in the manual page
    253 
    254 
    255 
    256 AnsiLove/C 3.0.1 (2016-01-03)
    257 
    258 - Initializing some uninitialized variables
    259 - Removing some unused variables and assignments
    260 - Removing optional filters for PCBoard sequences
    261 - Pruning now unused 'str_replace' function
    262 - Remove support for configurable diz extensions
    263 - Remove support for configurable RGB values for CED + WorkBench modes
    264 - Using strncmp instead of strcmp + strndup combo, as strndup is not
    265   part of C99
    266 - Added a manual page
    267 
    268 
    269 
    270 AnsiLove/C 3.0.0 (2015-12-13)
    271 
    272 - Switching to getopt for parsing command line options
    273 - Removing bits parameters for ADF, IDF, and XBIN loaders
    274 - Adding a mode option to specify CED, Workbench and transparent rendering modes
    275 - Using mode instead of bits to check for rendering modes to enable
    276 - New 'alSelectFont' function returning a structure with font information
    277 - Adding a compat directory and importing 'strtonum' function from OpenBSD
    278 - Made CMakeList more modular, and linking strtonum conditionally
    279 - Remove .diz pre-filtering as it was a remnant of the PHP version
    280 - Using 'strtonum' to parse and validate bits and columns parameter value
    281   before calling the loaders
    282 - Removing unused parameter 'font_size_x' in alDrawChar
    283 - Enabling the '-Wextra' and '-Werror' flags in CMakeLists.txt
    284 - Group checks for CR + LF in the ANSi and PCBoard loaders
    285 - Documentation cleanups and updates
    286 
    287 
    288 
    289 AnsiLove/C 2.2.1 (2015-06-28)
    290 
    291 - Switching to CMake to build the project
    292 - Moving source files to the 'src' directory
    293 - Removing legacy Ubuntu compilation script
    294 - Updated documentation (build requirements + instructions)
    295 - Remove MIN macro and use math.h's 'fmin' instead
    296 - Adding Ansilove artwork, both ASCII and ANSI as example files
    297 - Adding 'AUTHORS', 'FILE_ID.DIZ', and 'THANKS' files
    298 - Fixing file extension detection (Close #2)
    299 - Fixing the PCB loader to use logical AND as it should