This is an old revision of the document!


BearLibTerminal / Changelog

0.15.0 (2017-01-09)

  • Add bbox and alignment parameters to print() function (instead of using in-string formatting tags).
  • Add bbox parameters to measure() function.
  • Add 'dead-center' tile alignment (centering by image's center of mass).
  • Add 'use-box-drawing' and 'use-block-elements' truetype font attributes (disables auto-generation of respective characters).
  • Add text resource descriptors (specifying resources inside a configuration string, e. g. codepages).
  • Add version property (available via get()).
  • Fix TrueType font alignment at arbitrary tile size.
  • Fix minor memory leaks (in X11Window and TrueType font constructors).
  • Fix keybad keys not producing character codes (TK_CHAR/TK_WCHAR states).

0.14.12 (2016-12-01)

  • Fix mapping of first 32 characters of CP437 codepage.
  • Fix priority of auto-generated Box Drawing tiles.
  • Fix crashing Python interpeter when exiting suddenly.
  • Add support for grayscale bitmap font images w/o transparency.
  • Setting a font without specifying a size parameter is not allowed anymore.
  • C#: minor wrapper improvements (function overloads and Size type support in Set/Get).

0.14.11 (2016-10-30)

  • Fix 'resize' parameter in bitmap tilesets (also change its meaning to target tile size).
  • Fix toggling fullscreen in Linux (_DIALOG window type is incompatible with _FULLSCREEN).
  • Fix crash under Wine (dynamic library was being unloaded way too early).
  • Fix crash on the older hardware (sprite textures were not honoring lack of NPOTD support).
  • Fix out-of-bounds reads in bilinear filter (produced artifacts on bitmap borders).
  • Add missing TK_MOUSE_SCROLL constant in Lua binding.

0.14.10 (2016-10-16)

  • The window is now centered on a screen at startup (see issue #15).
  • Add Cmd+Q app menu for OS X (issue #16).
  • Fix first redraw on OS X 10.11 (issue #14).
  • Fix flooding mouse-movement events (again, finally).
  • Python wrapper fixes (performance optimizations, check() behaviour, a bug in get(); see issue #17, issue #8).
  • Fix dynamically generated character U+2523.

0.14.8 (2016-09-06)

  • Custom colors in the palette (later available via color from name function and [color=name] formatting tag)
  • Specifying custom colors in a configuration file.
  • Fixed filtered events ordering (some events could have been lost before).
  • Delphi-compatible Pascal wrapper.

0.14.7 (2016-08-31)

  • Fixed parsing resource names (some absolute paths were incorrectly treated as memory addresses).

0.14.6 (2016-08-30)

  • 'System' events like TK_CLOSE are always read regardless of input filter.
    No need to explicitly specify them while setting the filter.

0.14.5 (2016-08-29)

  • Support for Lua 5.3
  • Fixed reading some configuration options.
  • Library does not block on input when the window is not yet shown (could deadlock).
  • Default input filter is 'keyboard, system' now (terminal read is equivalent to 'press any key').
  • Some minor cleanup.

0.14.4 (2016-08-17)

  • Fixed reading/updating single parameters in configuration file.

0.14.3 (2016-07-22)

  • Fixed setting font via configuration file. Yes, again =(

0.14.2 (2016-07-21)

  • Fixed library deinitialization routine (cleaning texture atlas).

0.14.0 (2016-04-22)

  • Alt key availability (TK_ALT).
  • Uniform in-memory resource loading.
  • Named alternative fonts.

0.13.2 (2016-03-28)

  • IPython REPL integration.
  • Fixed bug in WinAPI window event polling.

0.13.1 (2016-03-28)

  • Fixed (reverted) accidental default input filter changes.

0.13.0 (2016-03-26)

  • OS X support.

0.12.2 (2015-12-09)

  • Fixed setting fonts via configuration file.

0.12.1 (2015-03-24)

  • terminal_get function added (reading a configuration file).

0.11.4 (2015-02-28)

  • Fixed Box Drawing and Block Elements tile load/generation priority.

0.11.3 (2014-11-11)

  • Input filtering mechanism.

0.11.2 (2014-09-02)

  • Pascal wrapper fixes.
  • Ruby wrapper fixes.
  • Fixed incorrent library unloading.

0.11.1 (2014-08-15)

  • Fixed unibyte encoding handling.

0.11 (2014-08-13)

  • Alignment formatting tag.
  • Text autowrapping.
  • Automatic tile/character spacing.
  • Python wrapper added.

0.10 (2014-07-13)

  • The input subsystem has been slightly refactored (see documentation):
    • Event categories (input.events option) removed.
    • read_ext function removed.
    • Mouse support updated (additional X1 and X2 buttons, double-click notification).
  • Linux implementation of fullscreen mode.
  • Programmatical fullscreen mode switching.
  • Simple window scaling via Alt + [+/–] buttons.

0.9.9 (2014-05-10)

  • Fixed: font reinitialization bug causing artifacts and crashes.
  • Windows version got a fullscreen mode (switching by Alt+Enter).

0.9.8 (2014-02-28)

  • Input event queue should be fixed finally.
  • Calling convention mistake causing crashes depending on build configuration.
  • Support for 64-bit builds.
  • Some compiler compatibility fixes.
  • CMake project structure changed.

0.9.7 (2014-02-26)

  • Input event queue fixed.
  • input.nonblocking option removed (use read_ext + TK_READ_NOBLOCK).
  • Ruby: color_from_argb function added.

0.9.6 (2014-02-09)

  • Return value of open and set changed to boolean (true means success, false means failure).
  • Error logging improved slightly.
  • Lua: added printf and setf functions.
  • Lua: added ability to load a tileset from in-memory buffer.
  • C#/Pascal/Ruby: fixed functions returning boolean value.

0.9.5 (2014-01-30)

  • Fixed repainting during window resize.
  • Added built-in Lua binding.

0.9.4 (2014-01-18)

  • Added support for window resizing.
  • Fixed background handling in clear_area.
  • Fixed UTF-8 support.
  • Headers for languages other than C/C++ moved to common source code repository.
  • Added Ruby binding.