Revision history for Termbox 0.6 2026-07-28 - Added DEBUG(), TRACE(), and TRACE_LEAVE() helper functions. - Added configurable debug tracing via TB_DEBUG_LEVEL. - Added Termbox::tb_debug_handler() callback interface. - Added optional tracing of public tb_* API calls and return values. - Added ACKNOWLEDGEMENT section to the POD documentation. 0.5.4 2026-07-27 - Add dirty lines tracking for efficient rendering - Use warnings::warnif() for deprecation warnings - Refine errno mappings and improve $! error reporting - Document additional Windows-specific behavior in POD 0.5.3 2026-07-23 - Remove Win32::IPC dependency by using WaitForSingleObject (Win32::API) - Fix Windows event polling timeout handling for ignored console input events - Clear pending UTF-16 high surrogate state on Windows resize events - Fix tb_strerror() to return a error string when tb_last_errno() is not set - Fix missing last in WINDOW_BUFFER_SIZE_EVENT causing false return () - Skip WINDOW_BUFFER_SIZE_EVENT when dimensions are unchanged - Fix TB_* attribute constants for TB_OPT_ATTR_W 32/64 truecolor mode 0.5.2 2026-07-21 - Rename Termbox::PP::WCWidth to Terminal::WCWidth - Improve Unicode width calculation in Terminal::WCWidth - Fix TB_OPT_EGC handling when TB_LIB_OPTS is enabled - Improve POD documentation, including TB_LIB_OPTS behavior 0.5.1 2026-07-20 - Fix :colors export for TB_OPT_ATTR_W (32->16); thanks to David Cantrell - Fix CRLF handling in t/00-begin.t (__DATA__ parsing broke on Unix) - Ensure safe handling of global termbox filehandles during init/deinit - Add TB_LIB_OPTS compile-time option to enforce consistent library defaults 0.5 2026-07-17 - Terminal: add Windows Virtual Terminal support (again, see v0.3) - Change default wcwidth() backend to builtin-based version - Fix escape sequence handling in extract_event() (correct TB_ERR propagation) - Fix use :colors (as FFI) instead of :color when importing constants - Improve Unicode::UCD backend (long property names, emoji fallback) - Optimize tb_present by removing accessor overhead and inlining logic 0.4.7 2026-07-13 - Fix missing Unicode::UCD::search_invlist() on older Perl - Fix Perl 5.10 syntax error with consecutive labels (DEFAULT:/case:) 0.4.6 2026-07-12 - Terminal: keep a live file handle so that the assigned fd stays reliable - Terminal: restore tty state through the open file handle during shutdown - Fix: route tb_printf through tb_printf_inner() - Fix: use global->{outbuf} consistently - API: first argument for send_literal() and send_num() can be undefined 0.4.5 2026-07-10 - Fix POD type definitions - Align subroutine call signatures closer to C implementation - Normalize version numbers of builtin modules for consistency - Add strict and warnings to all modules - Add additional eXTended tests to the package 0.4.4 2026-07-07 - Fix on older Perl versions where Unicode::UCD::prop_invmap() is not available - Automatically fall back to bundled wcwidth() implementation if needed - Hide Termbox compatibility package from PAUSE (no_index + source annotation) - Avoid UNAUTHORIZED indexing warnings for Termbox namespace 0.4.3 2026-07-01 - Change: store cell contents as Perl strings instead of codepoints - Change: treat tb_set_cell*/tb_extend_cell() as a Perl string - Add: exported constant definition documented in the POD 0.4.2 2026-06-18 - Validation: refactor to compiled signatures, remove check() calls - API/Templates: stricter validation, refactor type definitions - Dependencies: reduce non-core dependencies - Fix: consistent return values and improved undef handling - Add: comprehensive POD documentation 0.4.1 2026-06-03 - Tests: stabilize terminfo tests for CI environments - Terminal: fix resize handling (ioctl, SIGWINCH, ESC fallback) 0.4 2026-06-03 - API: refactor from termbox-go to termbox2 (C API) - API: remove Go API compatibility layer; use termbox2 semantics - Platform: remove Win32 support - Threads: drop threads support/dependency (no longer required) - Build: reduce non-core dependencies (now near-zero) - Compat: adjust behavior to match termbox2.h (events/resize/terminfo paths) 0.3.10 2026-06-02 - Tests: remove incorrect skip logic; terminal tests run reliably on real TTY - Terminal: fix SIGIO crash during shutdown (async I/O signal on fd close) - Terminal: ignore SIGIO in Close() to match termbox-go shutdown semantics - Tests: restore stable done_testing; full test suite completes reliably 0.3.9 2026-05-16 - Terminal: fix get_term_size re-adjustment (see GH #7) - Tests: convert terminal tests to headless-capable CI skip logic - Build: add threads dependency to Makefile.PL 0.3.8 2026-05-15 - Terminal: fix syncing changed cells back into front buffer during Flush (GH #4) - Terminal: adjust UTF-8 decoding behavior in extract_event 0.3.7 2026-05-15 - Terminfo: preserve Go-like errno flow; clear stale errno before reads - Terminfo: make builtin compatibility matching deterministic - Terminfo: harden binary parsing against short reads and EOF; set EIO - Terminal::Backend: align X10 mouse decoding with Go Cb/Cx/Cy offsets - Terminal::Backend: make extract_raw_event a no-op on empty dst buffer - Terminal::Backend: guard flush against zero-byte writes - Terminal::Backend: replace invalid UTF-8 with U+FFFD and consume one byte - Tests: update terminal parse expectations for Go X10 decoding 0.3.6 2026-05-14 - Win32: fix tb_peek_event timeout mapping undef to EventNone - Terminal: fix Init() F_SETOWN handling to use getpid() - Build: fix missing Import::Into dependency - Threads: add timer to main loop (remove yield) - Tests: clean up legacy resize and peek_event tests - Tests: document Test2/Test::Builder PID warning noise in ithreads tests 0.3.5 2026-05-03 - Terminal: fix RGB background rendering bug - Terminal: fix get_term_size ioctl buffer layout and field order - Terminal: fix unsynchronized access to $inbuf - Threads: update Thread::Queue usage; :shared no longer required - Unicode: update WCWidth tables to 17.0.0 - Threads: add threads->yield() to main loop - Terminal: handle partial writes during flush 0.3.4 2025-11-02 - Win32: switch from error codes 0.3.3 2025-05-14 - Win32: change legacy tb_peek_event behavior 0.3.2 2025-04-30 - Win32: fix SIGIO handling for Windows VT - Win32: fix INPUT_RECORD EventType padding 0.3.1 2024-06-17 - Win32: encapsulate Win32::API imports - Terminal: fix Unicode handling 0.3 2024-06-06 - Terminal: add Windows VT support - Misc: bug fixes 0.2 2024-05-31 - Terminal: add initial terminal support 0.1.1 2024-05-16 - Project: initial GitHub upload - Release: first public version - Misc: improvements and bug fixes 0.1 2024-04-24 - Release: first version (Win32-only) - Legacy: add legacy support