Revision history for mb-JSON

0.06  2026-04-18 JST (Japan Standard Time)
  - Added mb::JSON::stringify(): alias for encode(), symmetric with
    mb::JSON::parse() which is an alias for decode().
    Mirrors JSON.stringify() in JavaScript.
  - Added mb::JSON::parse(): documented as alias for decode() alongside
    the existing decode() implementation (parse was present since 0.03).
  - Revised doc/ cheat sheets (all 21 languages): parse and stringify now
    appear as independent sections [ 3. ] and [ 5. ] with proper sequential
    numbering; formerly [ 3b. ] notation retired.
  - Added t/1004-stringify.t: test suite for stringify() (40 tests).
  - Added t/1003-boolean.t ok 20-21: stringify(true/false) coverage.
  - Added t/9001-load.t ok 5-10: can() checks for all 6 public functions
    (decode/parse/encode/stringify/true/false); plan 13->14.
  - Added t/9060-readme.t: FUNCTIONS added to required README sections;
    plan 11->12.
  - Added t/1001-decode.t ok 1: defined check for parse() alias.
  - Added t/1002-encode.t ok 1: defined check for stringify() alias.
  - Revised eg/01_decode.pl: added parse() example alongside decode().
  - Revised eg/02_encode.pl: added stringify() example alongside encode().
  - Added eg/03_parse.pl: parse() usage example (alias for decode()).
  - Added eg/04_stringify.pl: stringify() usage example (alias for encode()).
  - Fixed lib/mb/JSON.pm POD: LIMITATIONS now mentions stringify() alongside
    encode() for circular reference warning; ENCODING RULES and DECODING RULES
    sections note their aliases; BOOLEAN VALUES mentions stringify() parity.

0.05  2026-04-04 JST (Japan Standard Time)
  - fix t/9050-pod.t: replace G11 implementation with Pod::Checker OO
    interface (Pod::Checker->new / num_errors / num_warnings) and
    split into G11 (errors) + G12 (warnings); plan updated from
    11 to 12 tests per .pm file.
  - fix t/9050-pod.t: skip G11 Pod::Checker errors check when
    Pod::Checker < 1.51 to avoid false FAILs caused by mis-reported
    errors for valid L</section>, L</"section">, and L<URL> syntax
    on older Perl installations (CPAN Testers FAIL fix).
  - fix t/9050-pod.t: skip G12 Pod::Checker warnings check when
    Pod::Checker < 1.60 to avoid false FAILs caused by mis-reported
    warnings for valid L<> link syntax on older Perl installations.
  - fix t/9010-encoding.t, t/9020-perl5compat.t, t/9050-pod.t,
    t/9060-readme.t, t/9070-examples.t, t/9080-cheatsheets.t:
    warnings stub guard updated to !defined(&warnings::import) form
    (consistent with mb 0.61, UTF8-R2 0.30, and other distributions).

0.04  2026-03-26 JST (Japan Standard Time)

    New features:
    - Added mb::JSON::encode(): Perl data structure -> JSON text.
      Hash keys are sorted alphabetically for deterministic output.
      UTF-8 multibyte strings are output as-is (not \uXXXX-escaped).
      undef encodes as null.
    - Added mb::JSON::Boolean type (mb::JSON::true / mb::JSON::false).
      Plain 1/0 encode as JSON numbers; use mb::JSON::true/false for
      JSON booleans.
    - decode() now returns mb::JSON::Boolean objects for JSON true/false
      (previously returned !!1 / !!0).
    - Added mb::JSON::decode() as the canonical name; parse() retained
      as a backward-compatible alias.
    - Added eg/01_decode.pl, eg/02_encode.pl sample scripts.
    - Added t/1001-decode.t, t/1002-encode.t, t/1003-boolean.t.
    - Added t/9001-load.t through t/9080-cheatsheets.t: distribution
      quality checks aligned with DB-Handy 1.07, HTTP-Handy 1.03,
      and LTSV-LINQ 1.07 (INA_CPAN_Check-based test suite).
    - Added doc/json_cheatsheet.*.txt: JSON quick reference in 21
      languages.
    - Fixed: warnings stub now guards with !defined(&warnings::import)
      to suppress "import redefined" warnings.

0.03  2022-01-23 JST (Japan Standard Time)

    - parse(): JSON null   -> undef
    - parse(): JSON true   -> !!1
    - parse(): JSON false  -> !!0
    - Supports UTF-8 multibyte strings

0.02  2022-01-01 JST (Japan Standard Time)

    - Bug fixes in string parsing

0.01  2021-12-01 JST (Japan Standard Time)

    - Initial release
