libansilove

Library for converting ANSI, ASCII, and other formats to PNG
Log | Files | Refs | README | LICENSE

ChangeLog (5336B)


      1 libansilove 1.2.5 (2020-09-24)
      2 
      3 - Add missing parentheses in an if statement in output()
      4 - Define CR, LF, TAB, SUB, and ESC macros only once
      5 - Refactor error handling in the PCBoard loader
      6 - Stop parsing for PCBoard cursor position sequences
      7 - Add bound checks for {back,fore}ground color values in the PCBoard loader
      8 - Fix default background and foreground colors in the PCBoard loader
      9 - Refactor the PCBoard loader to use a state machine
     10 - Refactor the Binary loader to use a state machine
     11 - Refactor the Artworx loader to use a state machine
     12 - Add some file format integrity checks in the XBin loader
     13 
     14 
     15 
     16 libansilove 1.2.4 (2020-06-21)
     17 
     18 - Use size_t in for loops setting color palettes
     19 - Remove unneeded gdImageFill() call when using Workbench mode
     20 - Define _GNU_SOURCE in CMakeLists.txt to avoid cluttering source files
     21 - Use size_t type for variables used to loop over arrays
     22 - Separate RGB values for palettes, makes color allocation code more
     23   readable and efficient
     24 - Move ADF color mapping array to config.h
     25 
     26 
     27 
     28 libansilove 1.2.3 (2020-05-25)
     29 
     30 - Call memset() to set all fontData struct fields to zero in all loaders
     31 - Refactor error handling in ansilove_savefile()
     32 - Add error handling for fwrite() in ansilove_savefile()
     33 - Fix includes in various source files
     34 
     35 
     36 
     37 libansilove 1.2.2 (2020-04-30)
     38 
     39 - Refactor the output function, to allow combining DOS aspect ratio and Retina
     40 - Remove the im_ prefix for all gdImagePtr variables
     41 - Various README changes and improvements
     42 
     43 
     44 
     45 libansilove 1.2.1 (2020-03-17)
     46 
     47 - Call memset() to set all fontData struct fields to zero
     48 - Use the ternary operator to simplify character attributes assignments
     49 
     50 
     51 
     52 libansilove 1.2.0 (2020-02-17)
     53 
     54 - Correct section number in manual page
     55 - Add initial manual pages for all library functions and file formats renders
     56 - Stop calculating columnMax in the PCBoard loader, it's unused
     57 - Add support for user-specified columns in the PCBoard loader
     58 
     59 
     60 
     61 libansilove 1.1.9 (2020-01-20)
     62 
     63 - Remove unneeded gdImageColorAllocate calls in the ADF and IDF loaders
     64 - Reset background24 to 0 when encountering blink attribute in an SGR sequence,
     65   fixing the remaining rendering bugs for 24-bit ANSI artworks
     66 
     67 
     68 
     69 libansilove 1.1.8 (2020-01-18)
     70 
     71 - Use OpenBSD style(9) for function prototypes and declarations
     72 - Properly reset pcboard buffer when CLS is encountered
     73 - Use memcmp() instead of testing each character one by one in the PCB loader
     74 - Do not use background and foreground variables to handle 24-bit ANSI colors
     75 - Various improvements in the IDF loader
     76 
     77 
     78 
     79 libansilove 1.1.7 (2019-12-19)
     80 
     81 - Rename the alSelectFont() function to select_font()
     82 - Only export symbols which are part of the public API
     83 
     84 
     85 
     86 libansilove 1.1.6 (2019-11-18)
     87 
     88 - Use CMAKE_INSTALL_{LIB,INCLUDE}DIR instead of hardcoding directories
     89 - Introduce a XBIN_PALETTE_LENGTH macro
     90 - Use XBIN_HEADER_LENGTH and XBIN_PALETTE_LENGTH macros instead of magic
     91   numbers
     92 - Add another format validation check (palette size) in the XBin loader
     93 
     94 
     95 
     96 libansilove 1.1.5 (2019-10-14)
     97 
     98 - Move background transparency operations in the output function
     99 - Allow setting transparent background for retina images
    100 - Add extern declaration for fonts data arrays
    101 - Use type size_t for loop and structIndex variables
    102 
    103 
    104 
    105 libansilove 1.1.4 (2019-09-13)
    106 
    107 - Force xbin_fontsize to 16 when using default 80x25 font
    108 - Return ANSILOVE_FORMAT_ERROR if xbin_fontsize > 32
    109 
    110 
    111 
    112 libansilove 1.1.3 (2019-08-23)
    113 
    114 - Omit implicit return in the example program
    115 - Use a switch statement to set 24-bit background and foreground values
    116 - Remove superfluous background color allocations in the Binary, PCBoard
    117   and XBin loaders
    118 - Modify the PCBoard loader to use a cursor pointer to parse input
    119 - Infer font height to 16 in the XBin loader, the default in absence of
    120   font data (Thanks Andrew Herbert)
    121 
    122 
    123 
    124 libansilove 1.1.2 (2019-04-30)
    125 
    126 - Use 'xbin_fontsize' for character height instead of an hardcoded value,
    127   fixes a rendering bug reported by Bart Dumon
    128 - Rename the 'binary_palette' array to 'vga_palette'
    129 - More format validation checks for the XBin loader
    130 
    131 
    132 
    133 libansilove 1.1.1 (2019-02-11)
    134 
    135 - Add install target for man page
    136 - Use the correct idiom for realloc, to avoid leaking memory if allocation
    137   fails
    138 - Fixed memory leak in the output() function, gdImageDestroy() must be
    139   called after gdImagePngPtr() (Thanks Andrew Michaelson)
    140 
    141 
    142 
    143 libansilove 1.1.0 (2019-01-15)
    144 
    145 - Only call gdFree() if the PNG buffer was allocated (Thanks Joris Vink)
    146 - No need for buffer pointers to be const, they're passed to functions
    147   taking non consts (Thanks Joris Vink)
    148 - Introduce a maplen variable to allow tracking mmap size, as we can't
    149   rely on the length variable because of SAUCE
    150 - Unmap ctx->buffer on cleanup (Thanks Joris Vink)
    151 - Check for the TUNDRA24 string in TND files header
    152 - Split fonts data to have one include file per font
    153 - Use macros instead of hardcoded values in the Tundra loader
    154 - Use 'X' instead of integer value for the start of SGR sequences
    155 - Always check that seqTok is not NULL before using it
    156 - Move the include guards to the top of header files
    157 - Add format validation checks for the XBin loader
    158 - Increment ansi_buffer by more than one element at a time when using
    159   realloc
    160 - Add initial man page, documenting the ansilove_ctx and ansilove_options
    161   structures
    162 
    163 
    164 
    165 libansilove 1.0.0 (2018-11-16)
    166 
    167 - Initial release