ansilove

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

ChangeLog (10217B)


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