Security Advisories (1)
CVE-2026-8594 (2026-05-30)

Text::LineFold versions through 2019.001 for Perl duplicate the output based on the number of special break characters. Text::LineFold splits the input string by specific line break characters (such as VT, FF and others) into segments, but applies the break function to the entire string, not just the segment. A side effect of this is that the full input can be duplicated for each segment. Besides being incorrect, this can lead to unexpected resource consumption and possible denial of service. Note that Text::LineFold is part of the Unicode-LineBreak distribution, which may have a higher version number than the module.

Changes for version 1.003.520

  • NOTE: For changes on linebreak library see linebreak/ChangeLog.
  • Fix: Makefile.PL: fix for dmake+MSWin32 (hopefully).
  • Fix: LineBreak.xs: UTF8_MAXBYTES exists as of Perl>=5.8.8. Use UTF8_MAXLEN.
  • Fix: URGENT_BREAKING_FUNCS{FORCE}: Workaround for Perl5 RT #69422 - utf8_mg_pos_cache_update panic - Perl 5.10.1 & (maybe) 5.10.0.
  • Imp: LineBreak.xs: Check data type of self argument.
  • Imp: preprocess() get Perl (utf8) string then returns array. Faster.
  • Imp: XS'ized break().
  • New: Unicode::GCString::join().
  • Added test for Format feature.
  • Doc: Small fixes.

Changes for version 1.003_11

  • Imp: Almost full XS version. Isolated pure-C codes to linebreak library.
  • Chg: Update Unicode data to version 5.2.0.
  • Doc: Small fix.

Changes for version 1.003_09

  • Transitional release - NOTE that this release is VERY slow.
  • Imp/Chg: Custom functions (for sizing, user breaking, urgent breaking and format) accepts grapheme cluster string.
  • Cleanup: separate C codes.
  • Doc: Added more example.
  • Doc: Added link to CPAN RT page.
  • Doc: Added a bug to BUGS section.

Changes for version 1.003_06

  • Fix: Get back LB9: Some CM characters may be single grapheme cluster as their Grapheme_Cluster_Break property is Control.
  • Imp: Almost XS'ized grapheme cluster processing. Approx. 25% faster.

Changes for version 1.003_05

  • Chg: Include suffixing ``URL:'' to URI pattern.
  • Imp: Efficient user-breaking. Approx. 10% faster.

Changes for version 1.003_03

  • Chg: Deprecated non-XS version.
  • Imp: XS'ized character data. Implemented hash index for searching. Approx. 10% faster in speed, approx. 40KB more in memory usage.
  • Removed ranges of trivial entries (e.g. XX on lbmap), reserved for CJK ideographs etc. from character data maps.
  • Update Unicode data for 5.2.0beta to those of Aug 24.
  • Doc: Fixed attributes for some UCS ranges. Correct several typos.

Documentation

プレインテキストの行折り
UAX #29 書記素クラスタの列としての文字列
UAX #14 Unicode 行分割アルゴリズム

Modules

Line Folding for Plain Text
String as Sequence of UAX #29 Grapheme Clusters
UAX #14 Unicode Line Breaking Algorithm

Provides

in lib/Unicode/LineBreak/Constants.pm
in lib/Unicode/LineBreak/Version.pm