Revision history for Termbox
0.005000
2026-07-17
- Terminal: add Windows Virtual Terminal support (again)
- 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.004007
2026-07-13
- Fix missing Unicode::UCD::search_invlist on older Perl
- Fix Perl 5.10 syntax error with consecutive labels (DEFAULT:/case:)
0.004006
2026-07-12
- Terminal: keep a live filehandle so that the assigned fd stays reliable
- Terminal: restore tty state through the open filehandle 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.004005
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.004004
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.004003
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.004002
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.004001
2026-06-03
- Tests: stabilize terminfo tests for CI environments
- Terminal: fix resize handling (ioctl, SIGWINCH, ESC fallback)
0.004
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.003010
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.003009
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.003008
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.003007
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.003006
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.003005
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.003004
2025-11-02
- Win32: switch from error codes
0.003003
2025-05-14
- Win32: change legacy tb_peek_event behavior
0.003002
2025-04-30
- Win32: fix SIGIO handling for Windows VT
- Win32: fix INPUT_RECORD EventType padding
0.003001
2024-06-17
- Win32: encapsulate Win32::API imports
- Terminal: fix Unicode handling
0.003
2024-06-06
- Terminal: add Windows VT support
- Misc: bug fixes
0.002
2024-05-31
- Terminal: add initial terminal support
0.001001
2024-05-16
- Project: initial GitHub upload
- Release: first public version
- Misc: improvements and bug fixes
0.001
2024-04-24
- Release: first version (Win32-only)
- Legacy: add legacy support