* AKFAvatar 0.24.3

  - audio: big audio files are read directly from file while playing
    (if possible via mmap)
  - audio: AU and WAV data can be read from non-seekable streams
    (loaded into memory)
  - fix: Pascal sound support fixed
  - the control characters SO/SI switch underlined mode on/off;
    the control characters DC1/DC2 switch bold mode on/off
  - configure: new option --with-sdl2
  - SDL2: support for SDL2 with automatic resizing of the graphics
  - SDL2: support for pasting text from clipboard (Alt+V, middle mouse button)

  Lua-API changes:
    - new functions: avt.frequency
    - module "akfavatar-term": fix APC interface

* AKFAvatar 0.24.2

  - lua/clock.lua: resizing works (with some delay)
  - lua/four_in_a_row.lua: mouse support / resizing
  - lua/four_in_a_row.lua: play against computer

  Lua-API changes:
    - Module "akfavatar-graphic":
      - new functions: graphic.set_pointer_buttons_key,
        graphic.set_pointer_motion_key, graphic.get_pointer_position,
        graphic.set_resize_key

* AKFAvatar 0.24.1

  - fix: lua/interactive_lua.lua: fix handling of incomplete lines
  - Lua module "akfavatar-graphic" included in executable
  - text cursor modified
  - lua-akfavatar: GNU .info files can be shown as plain text (no hyperlinks)
  - lua/hexviewer.lua: show more characters on the right side
  - lua/multiplication.lua: clear board (no scrolling)
  - configure accepts the option --with-linuxfb
    which then builds for the Linux framebuffer without the SDL
    (no mouse and no audio support yet)

  C-API changes:
    - new functions: avt_detect_utf8

  Lua-API changes:
    - new functions: avt.toutf8, avt.detect_utf8, avt.utf8codepoints

* AKFAvatar 0.24.0

  - fix: terminal doesn't use so much CPU time anymore
  - fix: window resizing for the pager works again
  - fix: switching fullscreen mode while avatar moves in or out
  - fix: avt_credits sometimes got the end wrong
  - fix: audioplayer.lua accepts PLS playlists again
  - fix: Pascal binding works again, extended
  - paging through menus is animated
  - lua/audioplayer.lua: improved playlist support
  - lua/multiplication.lua: more authentic

  C-API changes:
    - avt_char is unsigned int now, avt_choice adapted
      should be compatible with char32_t in C11
    - functions with *_mb* replaced with functions *_char*
    - new functions: avt_darker, avt_brighter, avt_brightness
    - avtadons.h also uses the prefix avt_ for everything

  Lua-API changes:
    - The default encoding is now ASCII
      to encourage always using avt.encoding()
    - avt.set_directory or avt.chdir return true on success
      or nil and an error message on error

  Pascal-API changes:
    - variable CheckEsc removed
    - new procedures/functions: Menu, ReadKeyCode, reserve_single_keys


* AKFAvatar 0.23.1

  - fixed vulnerabilities
  - avoid recursive calls of the bell
  - split source code for better maintainablitity
  - name sign with 3d effect

  C-API changes:
    - avt_set_title: no automatic charset conversion
    - avt_put_char: support for UTF-16 surrogate characters
    - new functions: avt_wide_copyright, avt_wide_license, avt_wide_version,
      avt_menu, avt_palette_size
    - avtaddons:
      - avta_file_selection and avta_filter have a new parameter "data",
        which is passed along

  Lua-API changes:
    - Module "akfavatar-graphic"
      - new methods: gr:border3d

* AKFAvatar 0.23.0

  The code was made less dependend on SDL. There is a new experimantal
  backend for a Linux framebuffer device, but without mouse support or audio
  (of course you can call an external audio-player in your scripts).

  - bugfix: fix for XPM images with more than 256 colors
  - bugfix: lua-akfavatar also resets the charset
  - bugfix/change: lua-akfavatar option -l sets a global variable
  - avt_update() is much faster
  - support for combining characters (Unicode)
  - The pager supports numbers (number-pad when NumLock is on)
  - lua/interactive_lua.lua supports scrolling back in a history list
  - regression: the navigation bar cannot handle the pause key anymore
  - key codes have been changed not to conflict with the "corporate zone"

  C-API changes:
    - all deprecated functions removed
    - also removed: avt_register_keyhandler, avt_register_mousehandler
    - avt_update() is much faster
    - avt_get_key replaces avt_key
    - modified: avt_show_raw_image, avt_put_raw_image_file,
      avt_put_raw_image_stream, avt_put_raw_image_data, avt_put_raw_image_xpm
      don't have the bpp parameter anymore, only 4 Bytes per pixel accepted
    - new functions: avt_key_pressed, avt_push_key, avt_clear_keys,
      avt_set_audio_end_key, avt_combining, avt_bell_function
    - new experimental functions: avt_set_pointer_buttons_key,
      avt_set_pointer_motion_key, avt_get_pointer_position,
      avt_char avt_input, avt_input_mb
    - new macro: avt_elapsed

  Lua-API changes:
    - the function avt.ask was extended (yet undocumented)
    - new functions: avt.combining, avt.key_pressed, avt.clear_keys,
      avt.push_key, avt.set_audio_end_key, avt.alert, avt.getcwd
    - new table: avt.key with key codes


* AKFAvatar 0.22.1

  There are a lot of changes in the APIs. Also the ABI was changed.

  - Window is resizable again (content gets centered)
  - The image can be a separated banner as header or footer
  - Uses Lua-5.2 now, no longer compatible with 5.1
  - Lua modules don't define globals anymore (scripts have to be adapted!)
  - Data files are put in a separate directory and Lua has a search function
    for it (scripts have to be adapted!)
  - the function for translations is integrated in Lua-AKFAvatar
    (scripts have to be adapted!)
  - Audio files can be played while loading
  - Support for audio-files with up to 32 bit (converted to 16 bit internally)
  - Support for wave files with mu-law and A-law encoding
  - regression: ADPCM encodings are no longer supported for wave files
  - Some more audio files
  - the command lua-akfavatar accepts options for fullscreen mode
  - The pager supports horizontal scrolling
  - The pager supports the markup mode
  - The pager supports formfeeds and separator control codes
  - The terminal emulation uses better colors for black backgroud
  - multiply.pas cannot be compiled without AKFAvatar anymore (simplified)
  - regression: in XPM-files named colors are not supported anymore;
    they are rarely used anyway
  - the script about2html supports overstrike and page breaks
  - configure accepts the option --disable-deprecated

  C-API changes:
  - uses size_t where appropriete (ABI change!)
  - avt_start replaces avt_initialize
  - avt_start_audio replaces avt_initialize_audio
  - avt_avatar_image_default, avt_avatar_image_none, avt_avatar_image_xpm
    avt_avatar_image_xbm, avt_avatar_image_data, avt_avatar_image_file
    replace the avt_import_* functions
  - avt_audio_t renamed to avt_audio
  - avt_prepare_raw_audio, avt_add_raw_audio_data, avt_finalize_raw_audio
    replace avt_load_raw_audio_data
  - avt_get_font_char replaces get_font_char
  - avt_get_font_dimensions replaces avt_get_font_size
  - functions with changed API (color value):
    avt_set_background_color, avt_get_background_color,
    avt_set_balloon_color, avt_set_text_color,
    avt_set_text_background_color
  - new functions/macros:
    avt_get_balloon_color,
    avt_set_avatar_mode, avt_load_audio_part,
    avt_rgb, avt_red, avt_green, avt_blue,
    avt_colorname, avt_palette,
    avt_finalize_raw_audio
    avt_put_raw_image_file, avt_put_raw_image_stream, avt_put_raw_image_data,
    avt_put_raw_image_xpm, avt_set_bitmap_color
  - fixed avt_show_image_stream, avt_import_image_stream
  - avt_key(ch): ch may be NULL
  - deprecated or removed functions:
    avt_initialize, avt_default, avt_import_xpm, avt_import_xbm,
    avt_import_gimp_image, avt_import_image_data, avt_import_image_file,
    avt_import_image_stream, avt_change_avatar_image, avt_make_transparent,
    avt_free_image, avt_initialize_audio, avt_set_background_color,
    avt_set_background_color_name, avt_get_background_color,
    avt_set_balloon_color, avt_set_balloon_color_name,
    avt_set_text_background_color, avt_set_text_background_color_name,
    avt_name_to_color, avt_get_color_name, avt_get_color
  - avtaddons:
    - avtmsg section removed - make your own messages
    - avta_filter_t renamed to avt_filter
    - avta_get_file: removed
    - avta_arch_get_member: new function
    - avta_arch_get_data: rewritten
    - avta_load_vorbis_file, avta_load_vorbis_data:
      parameter for playing immediately
    - avta_load_vorbis_stream: new function
    - avta_get_language: new function

  Lua-API changes:
  - avt.initialize removed, use avt.start instead
  - avt.initialized renamed to avt.started
  - avt.initialize_audio renamed to avt.start_audio
  - avt.change_avatar_image renamed to avt.avatar_image, for files
    you have to use the new function avt.avatar_image_file
  - avt.show_image_string renamed to avt.show_image
  - the functions avt.avatar_image and avt.show_image support
    a table with strings from XPM data
  - avt.load_audio_string and avt.load_base_audio_string were renamed
    to avt.load_audio and avt.load_base_audio
  - avt.load_audio_file, avt.load_audio_stream, avt.load_audio have a new
    parameter for playing immediately
  - avt.title is an alias for avt.set_title
  - new functions: avt.set_avatar_mode, avt.avatar_image_file, avt.delay,
    avt.search, avt.load_audio_stream, avt.translate, avt.set_bitmap_color
  - new variables: avt.datapath, avt.language
  - Module "akfavatar-graphic"
    - gr:new accepts name for background color
    - gr:put optimized for same width, position is optional now
    - gr:font_size additionally returns the baseline
    - new methods: gr:shift_vertically, gr:shift_horizontally,
      gr:put_transparency, gr:put_file, gr:put_image
  - Module "akfavatar.ar"
    - ar:dolua replaced with ar:loadlua
  - Module akfavatar-vorbis:
     - new function vorbis.load_stream

  Pascal-API changes:
  - AvatarImageFile, AvatarImageData, AvatarImageXPM, AvatarImageXBM
    initialize the library now
  - Parameter playmode for LoadSoundFile, LoadSoundData and PlaySound
  - new functions: AvatarImageDefault, AvatarImageNone, SetBalloonMode


* AKFAvatar 0.21.2

  This is again mainly a bugfix release, only few changes

  - the filechooser uses the systems character encoding,
    so does the audioplayer
  - empty string is always accepted as encoding (system's encoding)
  - fixed avt_recode_buffer, this also fixes setting the title/shortname
  - the audioplayer doesn't crash if it gets an empty list
  - updated documentation


* AKFAvatar 0.21.1

  This is mainly a bugfix release, only few changes

  - fixes two bugs where characters were lost
    (one was because a buffer was too small, but there was
    no buffer overflow, so it was harmless)
  - the mouse pointer is not hidden by default anymore
    this caused problems on some systems
  - in the binary packages are no developer files anymore
    Lua developing is still possible, but C or Pascal developers
    should install from the source package
  - terminal.lua defines a small computer as avatar
  - Windows: binary Lua modules have version infos as metadata
    (only those which depend on AKFAvatar)


* AKFAvatar 0.21.0

  - if a script is started from the filechooser an error in the script
    doesn't stop the whole program
  - terminal emulation optimized, some new codes supported
  - new sound for the bell
  - in Lua loading a sound now always invokes the garbage collector

  C-API changes:
    - all deprecated functions removed (told you so)
    - code refactoring:
      - use stdbool.h - no longer avt_bool_t, AVT_TRUE, AVT_FALSE
      - an external iconv implementation is now the default
    - new functions: avt_recode, avt_recode_buffer, avt_mb_decode_buffer,
      avt_mb_encode_buffer

  Lua-API changes:
    - new module "akfavatar.lang": for multilingual applications
    - new functions: avt.recode, avt.launch

  Pascal-API changes:
    - should be more robust now
    - new functions: Playing, ShowRawImage, ImageMaxWidth, ImageMaxHeight,
      getBackgroundColor


* AKFAvatar 0.20.0

  - The program avatarsay was removed
    all it could do can be done with lua-akfavatar now
  - documentation now consists of manpages and textfiles
    wich can be displayed in lua-akfavatar directly
  - making demos became simpler again,
    there is no need to specify the balloon-size anymore,
    but therefore effectpause/back doesn't work anymore.
    (And it's not documented, yet. - see example files.)
  - lua-akfavatar can be compiled as module
  - new lua modules available for better UTF-8 support,
    terminal-emulation and the Ogg Vorbis audio format
    and a graphic module for drawing images
  - the terminal-emulation has a different, enhanced APC interface

  C-API changes:
    - Changed definition of avt_image_t and avt_audio_t
    - New type avt_char:
        avt_put_char() replaces avt_put_character()
        avt_is_printable() replaces avt_printable()
        avt_key() replaces avt_get_key()
    - new functions: avt_add_raw_audio_data, avt_pause_audio,
      avt_get_newline_mode, avt_ticks, avt_show_raw_image,
      avt_get_background_color, avt_image_max_width, avt_image_max_height,
      avt_get_font_size, get_font_char
    - avtaddons.h: new functions: avta_load_vorbis_file, avta_load_vorbis_data
    - modified behaviour:
      - avt.navigate: reacts when sound ends
    - deprecated: avt_show_gimp_image - use avt_show_raw_image

  Lua-API changes:
    - new functions:
      avt.colors, avt.pause_audio, avt.directory_entries, avt.entry_type,
      avt.silent, avt.load_base_audio_file, avt.load_base_audio_string,
      avt.ticks
    - modified behaviour:
      - avt.menu as alias for avt.long_menu can do more
      - avt.load_audio_file, avt.load_audio_string:
        return nil on error, can be enhanced
      - playing sounds are protected from the garbage collector
      - avt.navigate: reacts when sound ends


* AKFAvatar 0.19.0

  - Lua support with program lua-akfavatar
    use "./configure --disable-lua" to build without Lua
  - largely improved support for charset-encodings under Windows
    (still behind GNU/Linux, but tremendously better than before)
  - text-input has full line-editing features
  - fix: on text-input the input area gets cleared
  - title can have international characters if avt_mb_encoding is
    called before avt_initialize (but not relyable)
  - the pager can handle binary junk better
  - filechooser: path can be entered manually
  - filechooser: on windows ask for drive letter only when
    going beyond the root directory
  - ./configure: experimental support for "--host=mingw" and "--host=x86"
    (but don't expect it to work out of the box)
  - optimizations

  API changes:
   - new functions: avt_tell, avt_tell_len, avt_tell_mb, avt_tell_mb_len,
     avt_markup, avt_get_mb_encoding, avt_set_auto_margin, avt_get_auto_margin,
     avt_printable, avt_audio_playing
   - avt_auto_margin: marked deprecated, use avt_set_auto_argin instead
   - avt_free_audio: when the given sound is playing, stops it
   - avt_get_key: supports some function keys
