ansilove

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

ChangeLog (10809B)


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