Revision history for this software.

2.13.4.34 2026-06-15 00:00:00
  - lib/jacode.pl: rewrite the UTF-8 source self-check on line 2 so that
    it no longer uses perl 5 only syntax. The previous form embedded the
    file name with the "baby cart" construct @{[__FILE__]}, which depends
    on references (and __FILE__ interpolation) and therefore does NOT
    parse on perl 4.036 -- it caused a compile-time failure that prevented
    jacode.pl from loading at all on perl 4, contradicting the stated
    "perl 4.036 through current perl 5" compatibility goal. The regular
    expression that detects the encoding is unchanged (it still aborts
    loading unless the file was saved as UTF-8); only the die message was
    simplified to drop @{[...]} and __FILE__.
  - add t/9060_perl4_baby_cart.t: static guard asserting that lib/jacode.pl
    contains no @{[ ... ]} baby-cart construct (a perl 5 only idiom), so
    this perl 4 incompatibility cannot silently return
  - lib/jacode.pl: document the perl 4 safe self-check in POD
    ("COMPATIBILITY AND WARNINGS" section)
  - lib/jacode.pl: suppress the "Old package separator" deprecation
    warning that the apostrophe (') separator triggers on Perl 5.38.0+.
    The separator is kept for Perl 4.036 / 5.005_03 compatibility and is
    NOT changed to "::". Two BEGIN blocks (gated on $] >= 5.038000, wrapped
    in eval q{} so they stay inert on Perl 4 / 5.005_03) install a __WARN__
    filter before, and restore the caller's handler after, the apostrophe
    code is compiled. The filter drops only that one message and chains
    every other warning through to the caller (fail-safe).
  - add t/9030_no_apostrophe_warning.t: assert require/init emits no other
    warning class, and that the apostrophe-separator warning does not leak
    on Perl 5.38.0+
  - add t/9040_roundtrip_invariant.t: assert X -> Y -> X round-trip identity
    for jis/euc/sjis/utf8 over a hiragana/katakana/kanji/fullwidth/halfwidth/
    punctuation corpus
  - lib/jacode.pl: document the above warning suppression in POD
    (new "COMPATIBILITY AND WARNINGS" section)
  - created by INABA Hitoshi

2.13.4.33 2026-04-15 00:00:00
  - add t/9080_cheatsheets.t: doc/ cheat sheet quality checks
  - add doc/jacode_cheatsheet.*.txt: Jacode quick reference in 21 languages
  - created by INABA Hitoshi

2.13.4.32 2026-04-12 00:00:00
  - update pmake.bat (VERSIONE 0.27 -> 0.28)
    - dist: remove Char-family dead code (3 locations)
    - dist: remove 7 unrelated entries from requires_version table
    - _runtests: read TAP test number directly (fix 'Failed test' offset bug)
    - _runtests: add wallclock elapsed time to summary output
    - _runtests: add SKIP line counting and reporting
  - add SECURITY.md
  - add t/9010_check_manifest.t (MANIFEST integrity check)
  - add t/9020_check_source_encoding.t (UTF-8 encoding verification)
  - add t/9050_pod_G11.t (Pod::Checker < 1.60)
  - add t/9051_pod_G12.t (Pod::Checker >= 1.60)
  - update MANIFEST (add SECURITY.md and 9xxx tests)
  - update README (add VERSION, ENCODING NAMES, API REFERENCE, PKF COMMAND sections)
  - refactoring of jacode.pl (no functional change)
    A) split init() into _init_regex(), _init_kana_table(), _init_convf(),
       _init_encode_table(), _init_jcode_alias()
    B) add descriptive comments to all conversion subroutines
    C) audit use vars declarations (all confirmed in use; no change)
    D) add file structure map to header, clarify internal doc
  - created by INABA Hitoshi

2.13.4.31 2023-03-21 00:00:00
  - update POD
  - created by INABA Hitoshi

2.13.4.30 2023-03-13 00:00:00
  - update jacode::getcode()
  - created by INABA Hitoshi

2.13.4.29 2022-10-24 00:00:00
  - update jacode::getcode()
  - update jacode::s2e()
  - update jacode::e2s()
  - update POD
  - created by INABA Hitoshi

2.13.4.28 2022-10-14 00:00:00
  - update jacode::getcode()
  - created by INABA Hitoshi

2.13.4.27 2022-10-01 00:00:00
  - update POD
  - supports "no multidimensional"
  - created by INABA Hitoshi

2.13.4.26 2022-01-25 00:00:00
  - remove some documents
  - created by INABA Hitoshi

2.13.4.25 2022-01-22 00:00:00
  - add some documents
  - created by INABA Hitoshi

2.13.4.24 2020-10-30 00:00:00
  - jacode.pl supports use strict; (if running on Perl5 or later)
  - jacode.pl supports use warnings; (if running on Perl5.6 or later)
  - created by INABA Hitoshi

2.13.4.23 2019-09-28 00:00:00
  - supports optimized RFC3629 for ja_JP
  - created by INABA Hitoshi

2.13.4.22 2019-08-23 00:00:00
  - remake test script
  - avoid Use of uninitialized value at ...
  - created by INABA Hitoshi

2.13.4.21 2019-07-13 00:00:00
  - fix Extra Issues: has_meta_json
  - fix Extra Issues: use_warnings
  - fix Experimental Issues: meta_yml_has_repository_resource
  - created by INABA Hitoshi

2.13.4.20 2018-12-10 00:00:00
  - add known license
  - add some documents
  - created by INABA Hitoshi

2.13.4.19 2018-03-05 00:00:00
  - change system(...) to `...` in t/001_test.t
  - add lib/Jacode.pm
  - add xt/*
  - add README2ND
  - created by INABA Hitoshi

2.13.4.18 2018-02-26 00:00:00
  - change package name 'jcode' to 'jacode' and introduce $support_jcode_package_too
  - change META.yml version 1.3 to 1.4
  - remove pMakefile.PL
  - add pmake.bat
  - add LICENSE
  - created by INABA Hitoshi

2.13.4.17 2018-02-14 00:00:00
  - try Removal of the current directory (".") from @INC
  - try Kwalitee Indicator: buildtool_not_executable
  - try Kwalitee Indicator: has_abstract_in_pod
  - try Kwalitee Indicator: meta_yml_conforms_to_known_spec
  - created by INABA Hitoshi

2.13.4.16 2017-01-22 00:00:00
  - fix odd kana logic of &getcode()
  - improve &getcode()
  - created by INABA Hitoshi

2.13.4.15 2016-07-14 00:00:00
  - fix version only
  - created by INABA Hitoshi

2.13.4.14 2016-06-05 00:00:00
  - add 004_cinquecent_2012-10-21_OKWave.t
  - created by INABA Hitoshi

2.13.4.13 2016-05-08 00:00:00
  - support Modern::Open 0.08
  - created by INABA Hitoshi

2.13.4.12 2016-02-01 00:00:00
  - support 'jacode' package
  - support JIS X 0213:2000 plane 1
  - support JIS X 0213:2004 plane 1
  - support pkf command on command line
  - add Japanese document jacode.sjis.md
  - add Japanese document utashiro_pcjp98.sjis.md
  - fix return value of &sjis2sjis, &sjis2jis, &sjis2euc, &sjis2utf8, &jis2sjis, &jis2jis, &jis2euc, &jis2utf8, &euc2sjis, &euc2jis, &euc2euc, &euc2utf8, &utf82sjis, &utf82jis, &utf82euc, and &utf82utf8
  - support Ken Lunde's CJKV Information Processing App A. Code Conversion Tables
  - save original getcode as &getcode_utashiro_2000_09_29()
  - support 'EXE_FILES' of Makefile.PL
  - created by INABA Hitoshi

2.13.4.11 2014-08-31 00:00:00
  - support make test
  - created by INABA Hitoshi

2.13.4.10 2011-12-10 00:00:00
  - rewrite octal escapes to hexadecimal
  - check scalar(keys %associative_array)
  - improve &jcode'getcode by Improvement proposal from Hanada Masaaki in 2011/12/06
  - created by INABA Hitoshi

2.13.4.9 2010-07-13 00:00:00
  - optimize utf82sjis
  - created by INABA Hitoshi

2.13.4.8 2010-06-30 00:00:00
  - change some documents
  - fix _utf82sjis and add Katakana test
  - created by INABA Hitoshi

2.13.4.7 2010-04-18 00:00:00
  - avoid perl5.12 warning "defined(%hash) is deprecated at ..."
  - created by INABA Hitoshi

2.13.4.6 rc1 2010-04-06 00:00:00
  - fix comment
  - release candidate 1
  - created by INABA Hitoshi

2.13.4.5 beta 2010-03-06 00:00:00
  - minor document corrections
  - &jcode'flush() support
  - turn off utf8 flag by Encode::encode_utf8
  - created by INABA Hitoshi

2.13.4.4 beta 2010-02-10 00:00:00
  - fix comment
  - beta version
  - created by INABA Hitoshi

2.13.4.3 alpha 2010-02-04 00:00:00
  - acts as a wrapper to Encode::from_to for perl 5.8.1 and later when $ocode or $icode is neither "jis", "sjis", "euc" nor "utf8"
  - created by INABA Hitoshi

2.13.4.2 alpha 2010-01-25 00:00:00
  - add comment
  - created by INABA Hitoshi

2.13.4.1 alpha 2010-01-21 00:00:00
  - support jperl4
  - POD document
  - rewrite test.pl in Perl4
  - created by INABA Hitoshi

2.13.4.0 alpha 2010-01-19 00:00:00
  - branched from jcode.pl,v 2.13 2000/09/29 16:10:05 utashiro Exp
  - created by INABA Hitoshi
