Revision history for Perl module Text::Bidi
3.01      2026-11-15 09:36:22+02:00 Asia/Jerusalem
        * Load the distribution's own modules in ffi.t and pin subprocesses
          to those exact frontend and backend files, so an older installed
          SWIG copy cannot mask an invalid library override. Isolate inherited
          Perl startup options and cover later module-search-path changes.
        * Document the unsupported legacy remove_bidi_marks placeholder.

3.0       2026-11-14 22:52:27+02:00 Asia/Jerusalem
        * Replace the SWIG backend with FFI::Platypus,
          preserving the public API and packed-array calling conventions.
        * Load the system FriBidi shared library at runtime; building
          Text::Bidi no longer requires SWIG, FriBidi headers, or a compiler.
        * Avoid paired-bracket characters in random bidi-class test fixtures;
          their bracket properties can disagree with class-only test data.

2.19      2026-11-14 16:54:11+02:00 Asia/Jerusalem
        * Extract Text::Bidi::Selection with logical_ranges and selected_text
          for reusable visual-to-logical selection mapping. Snapshot original
          Unicode text and maps, including grouped glyphs and display padding.
        * Use the shared selection module in the urxvt extension, retaining
          terminal encoding, mouse gestures, and highlighting in the plugin.
        * Add visual mouse selection to the urxvt bidi extension, with
          logical-order copying, word/line selection, selection extension,
          rectangular selections, and scrollback autoscrolling.
        * Preserve combining and wide-character cell mappings when rendering
          terminal text, and copy original Arabic letters instead of shaped
          presentation forms.
        * Keep urxvt selection highlighting in visual columns by removing its
          selection rendition before reordering and reapplying it afterwards.
          Add a regression for Hebrew table fields and a headless X11 test.
        * Update the SWIG interface for FriBidi 1.0.18 and SWIG 4.5.1.
        * Use bracket properties and get_par_embedding_levels_ex for
          Unicode paired-bracket resolution in paragraphs.
        * Add get_bracket_types while retaining the existing embedding-level
          calling convention with an optional bracket-properties argument.
        * Import fixed-width FriBidi types, expose bracket and shaping APIs,
          and make library version strings read-only.
        * Validate packed array lengths and line ranges, copy mutable input
          buffers, and handle empty arrays correctly.
        * Support building a checkout without Dist::Zilla, find pkg-config
          without its Perl helper, and propagate SWIG generation failures.
        * Add interface regressions and an optional Unicode character
          conformance test.

2.18      2022-07-04 11:18:31+03:00 Asia/Jerusalem
        * Add Unicode license (#143543)
        * Cleanup some tests

2.17      2022-06-28 22:33:30+03:00 Asia/Jerusalem
        * Fix #142417 (patch by Petr Pisar)

2.16      2022-04-24 23:30:36+03:00 Asia/Jerusalem
        * Fix `get_mirror_char`

2.15      2018-09-24 19:08:49+03:00 Asia/Jerusalem
        * Cleanup swig file
        * Check fribidi version in Makefile.PL

2.14      2018-09-23 22:01:41+03:00 Asia/Jerusalem
        * Include private.c in distribution, resolve rt #127181

2.13      2018-09-23 09:50:08+03:00 Asia/Jerusalem
        * Include deprecated interface, resolve rt #124618

2.12      2016-10-02 18:17:21+03:00 Asia/Jerusalem
        * Added META comments to misc/bidi
        * Misc build and install changes, issues #108736, #108738 (Thanks 
          ppisar@redhat.com) 

2.11      2015-11-08 01:08:59+02:00 Asia/Jerusalem
        * Fix versioning issue (https://rt.cpan.org/Public/Bug/Display.html?id=108498)
        * Fixed a bug in combining characters (Niqqud) handling, and added 
          support for it in the urxvt plugin

2.10      2015-10-17 20:53:51+03:00 Asia/Jerusalem
        * Implemented Arabic joining and shaping (thanks to Dmitry Karasik)

2.09      2014-06-03 09:51:08IDT+0300 Asia/Jerusalem
        * Fixed pod language (rt #96158)
        * Added missing ; in Makefile.PL
        * Made ucd.t optional via the TEXT_BIDI_SKIP_UCD env variable

2.08      2013-10-18 15:48:39 Asia/Jerusalem
        * Made ucd.t less fail prone on older versions of Perl and fribidi
        * Added fribidi_version_num to Text::Bidi

2.07      2013-10-17 12:47:51 Asia/Jerusalem
        * Added functions for retrieving version of libfribidi and Unicode
        * Added method type_names() to Text::Bidi::Paragraph
        * get_bidi_type_name() in Text::Bidi is now exportable
        * Added debugging options --hex, --types, --verbose ... to fribidi.pl
        * Fixed bugs in fribidi.pl
        * Fixed bug with variable interpolation in Constants.pm

2.06      2013-10-15 23:28:06 Asia/Jerusalem
        * Made log2vis() more useful
        * Bug fixes
        * Added some tests
        * Improved docs

2.05      2013-09-23 11:56:35 Asia/Jerusalem
        * Added a README.mkdn file
        
2.04      2013-09-23 11:46:51 Asia/Jerusalem
        * The Fribidi constants are now loaded via a separate module, 
          Text::Bidi::Constants
        * Switching to Dist::Zilla

2.03      2013-09-20 12:09:39 Asia/Jerusalem
        * More changes to Makefile.PL

2.02      2013-09-12
        * Fixed Makefile.PL
        
2.01      2013-09-11
        * Refactored Text::Bidi::Array::* to have a common base class 
          Text::Bidi::Array
        * Significantly improved the documentation of Text::Bidi::Array*
        * Fixed a bug in Text::Bidi::Array::Long --- now returns the correct 
          size
        * Added loading tests for Text::Bidi::Array*
        * Removed "no warnings 'experimental'", since this caused tests to 
          fail on older versions of perl.
        * Added information about the bidi extension for urxvt to the README 
          file

2.00      2013-09-10
        * Almost completely rewritten, mostly due to the changes in 
          libfribidi.  The interface has changed as well, so this version is 
          incompatible with the previous ones.

0.04      2008-02-07
        * Changed the build system to use ExtUtils::PkgConfig (if available), 
          to find the correct compilation flags (this is required since the 
          new version of libfribidi may need glib to build.)

0.03      2007-01-18
        * The PUSH macros caused some weird results, replaced with my own 
          macros
        * Apparently, Newx did not exist before 5.8.8, defined it if does not 
          exist

0.02      2007-01-17
        * Fixed memory leak in remove_bidi_marks when called with two 
          arguments
        * Fixed bug when calling log2vis with 2 arguments
        * Changed the typemaps to use more perlapi macros (XPUSH, etc.)

0.01      2006-08-28
        * First version

