Changes for version v2.0.16 - 2025-04-04 (TRIAL RELEASE)

  • Packaging:
    • Fix broken v1 tests when Text::Diff not installed

Changes for version v2.0.15 - 2025-04-03 (TRIAL RELEASE)

  • API / Behaviour Changes:
    • Rename Bifcode2 back to just Bifcode.
  • Enhancements:
    • Avoid heavy use of 'return' statements
  • Packaging:
    • Need at least OptArgs2 v2.0.0 for diff-bifcode test.
    • Add Test2::Require::Module to cpanfile
    • Avoid triggering old bugs in Math::BigInt.

Changes for version 2.0.0_14 - 2022-02-02

  • Bug Fixes:
    • Document limitations of decoding large numbers.
  • Dependencies:
    • Need at least version 1.999723 of Math::BigInt for the bdstr() and bnstr() methods.

Changes for version 2.0.0_13 - 2022-02-01

  • New Features:
    • New infinity types INF and NEGINF
    • New Not a number type NAN

Changes for version 2.0.0_12 - 2022-01-17

  • API / Behaviour Changes:
    • Rename Bifcode::V2 to Bifcode2
  • Dependencies:
    • Add development dep on Text::Table::Tiny for t/synopsis.pl
    • Suggest on develop dep OptArgs2 for bin/diff-bifcode
  • Packaging:
    • Split Bifcode::V1 back into its own Bifcode distribution

Changes for version 2.0.0_11 - 2022-01-14

  • API / Behaviour Changes:
    • All V2 functions now named like encode_bifcodeV2()
  • Bug Fixes:
    • Several documentation fixes for previous Bifcode to Bifcode::V2 naming change
    • Use Bifcode::V2 in (previously broken) diff-bifcode
  • Packaging:
    • Change to semver versioning

Changes for version 2.000_10 - 2020-01-31

  • Bug Fixes:
    • Fix up missing Bifcode -> Bifcode::V2 changes in t/

Changes for version 2.000_9 - 2020-01-30

  • API / Behaviour Changes:
    • Rename Bifcode -> Bifcode::V2 so that it is explicitly obvious which version is in use.
  • Enhancements:
    • More idomatic and robust tests for AnyEvent::Handle support
  • Packaging:
    • Set ExtUtils::MakeMaker RECURSIVE_TEST_FILES
    • Add a test script to compare Bifcode vs Bifcode::V1 performance

Changes for version 2.000_8 - 2019-11-13

  • Dependencies:
    • Hopefully support Perl 5.12 by not using "package BLOCK" in error class.

Changes for version 2.000_7 - 2019-11-13

  • API / Behaviour Changes:
    • Extra argument to encode_bifcode() for BIFCODE_BIFCODE generation. Bifcode::BIFCODE objects are no longer used.
  • Dependencies:
    • Convert Bifcode::V1 tests to Test2::V0.
  • Packaging:
    • Depend on Text::Diff explicitly for tests (closes RT#130969)
    • Add an 'anyevent-handle' feature that depends on AnyEvent::Handle.

Changes for version 2.000_5 - 2019-11-11

  • API / Behaviour Changes:
    • Rename everything Bifcode2 back to Bifcode
  • Enhancements:
    • Make diff-bifcode an optional "feature"
  • Packaging:
    • Convert all tests to Test2::V0.

Changes for version 2.000_4 - 2019-11-09

  • API / Behaviour Changes:
    • Rename Bifcode::V2 -> Bifcode2
    • Rename *_bifcode() functions to *_bifcode2()
  • Enhancements:
    • Better test function names.
    • Better test for decoding of BIFCODE_REAL.
    • Proper AnyEvent support with tests

Changes for version 2.000_3 - 2019-09-09

  • API / Behaviour Changes:
    • Re-introduce requirement for BIFCODE_DICT keys to be BIFCODE_UTF8 or BIFCODE_BYTES.
  • New Features:
    • New BIFCODE_BIFCODE type for framing Bifcodes across a network connection.
    • Support AnyEvent::Handle integration.
  • Enhancements:
    • Only load Carp when we actually need to croak
  • Packaging:
    • Add some missing (bugtracker, repo) META data.

Changes for version 2.000_2 - 2019-09-08

  • API / Behaviour Changes:
    • Use ":" to separate hash keys from values.
    • Allow hash keys to be of any type.
  • Enhancements:
    • Inflate numbers as Perl IV and NV values.
    • Better automatic UTF8/BYTES detection.

Changes for version 2.000_1 - 2019-09-02

  • API / Behaviour Changes:
    • Implements bifcode version 2, incompatible with version 1.

Documentation

compare files containing Bifcode

Modules

encode and decode Bifcode serialization format
simple serialization format