Revision history for Math::Currency

0.52  2017-07-29
    - make SEE ALSO pod entries clickable
    - don't include .travis.yml in the build
    - make signature test a dzil author test

0.51  2017-02-27
    - Add tests for legacy Math::BigInt bcmp() calling syntax
    - Update test for Ruble character changes in debian
    - Update dist repo metadata to reflect mschout as maintainer
    - Update POD to reflect mschout/github as maintainer and authoritative
    - Fix localeconv tests for FreeBSD 11

0.50  2016-07-03
    - do not try to run command "locale -a" on Windows
    - modernize code and clean up a bit
    - update new_currency script
    - updated locale definition for de_DE
    - switch to Dist::Zilla for releases, Module::Build no longer required.
    - Make $obj->bcmp($val) work like Math::BigFloat says it should [Thanks Daniel]
    - add en_US/USD locale modules

0.49  2016-06-21
    - fix russian currency symbol test comparisons
    - fix comparison tests for older Test::More
    - require Test::More 0.94 or later, require
    - UTF-8 fixes for localize()
    - avoid repetitive calls to "locale -a"
    - skip tests that require en_GB locale if that locale is not present
    - restore original locale at end of unknown_currency()

0.48  2016-06-16
    - fix compatibility with Math::BigInt >= v1.999717

2014-05-05  John Peacock  <>

    * lib/Math/, lib/Math/Currency/,
    Prep for new CPAN release

    Add missing META file

    * MANIFEST.SKIP, lib/Math/Currency/, scripts/new_currency:
    Fix up new_currency script and gen de_DE

    Fix up MANIFEST

    * MANIFEST, t/002_basic.t:
    Fix stupid errors

2010-08-25  John Peacock  <>

    * lib/Math/, lib/Math/Currency/, t/002_basic.t,
    t/003_subclass.t, t/004_localize.t, t/,
    Segregate all of the locale tests into their own file.

2010-08-10  John Peacock  <>

    * Build.PL, MANIFEST, lib/Math/, t/002_basic.t,
    Skip en_GB tests if that locale is not installed. Fix all other test

2009-11-28  convert-repo  <convert-repo>

    * .hgtags:
    update tags

2008-05-08  jpeacock  <jpeacock>

    * MANIFEST, README, lib/Math/, lib/Math/Currency/,
    lib/Math/Currency/, lib/Math/Currency/,
    lib/Math/Currency/, scripts/new_currency, t/003_subclass.t,
    Overhaul the I18N locale support, in the hopes that it won't make me
    any crazier than it already has, and maybe pass all tests on other

2008-01-31  jpeacock  <jpeacock>

    * lib/Math/, scripts/new_currency:
    Cope with more than one EUR format at once. Patch from JROBINSON
    <cpan @> plus some other tweaks by me.

2007-09-23  jpeacock  <jpeacock>

    * Build.PL, lib/Math/, t/002_basic.t:
    as_int() could have floating point errors. See:

    for details. This code is faster too! Patch by <rybskej @>
    [7b38736783b1] [RELEASE_0.46]

2007-08-07  jpeacock  <jpeacock>

    * t/002_basic.t:
    Actually tests cleanly both with and without en_US
    [9688d279287b] [RELEASE_0.4502]

2007-08-06  jpeacock  <jpeacock>

    * lib/Math/, t/002_basic.t:
    Deal with problems where en_US isn't installed at all. Reported by
    David Cantrell <>

2007-08-05  jpeacock  <jpeacock>

    * lib/Math/, t/002_basic.t, t/003_subclass.t,
    t/005_rounding.t, t/006_defaults.t:
    Stupid locale() tests didn't work for non-US locale
    [72b6d6380712] [RELEASE_0.4501]

2007-08-04  jpeacock  <jpeacock>

    Forgot to add new testfile to the MANIFEST
    [9377aca59a3c] [RELEASE_0.45]

    * lib/Math/, t/006_defaults.t:
    Bugfix to correctly handle changing default currency as a class
    method. New tests for changing default currency as class method.

2006-01-25  jpeacock  <jpeacock>

    * MANIFEST, lib/Math/
    Final changes before CPAN release.

    * MANIFEST Forgot to add new test here.

    * lib/Math/ Test localeconv() early and bail immediately
    if not supported. Bad markup in POD.
    [5b5dc94eca04] [RELEASE_0_44]

2006-01-24  jpeacock  <jpeacock>

    * README, lib/Math/, lib/Math/Currency/,
    lib/Math/Currency/, t/002_basic.t, t/003_subclass.t,
    Prep for new release to CPAN.

    * README Note the changes for this release.

    * lib/Math/ Add additional two digits of precision
    (hidden) to prevent loss of accuracy on multiple math operations.
    Suggested by Brian Phillips <>

    * lib/Math/Currency/ lib/Math/Currency/ Run code through
    perltidy to try and make things consistent.

    * t/002_basic.t New empty subclass test.

    * t/003_subclass.t Loading class has to happen in BEGIN{} to be
    valid test.

    * t/005_rounding.t New tests for extended precision feature.

2005-12-16  jpeacock  <jpeacock>

    * README, lib/Math/, t/002_basic.t:
    * lib/Math/ Preserve object formatting when making
    implicit copy, Reported by "Brian Phillips" <>.
    Bump $VERSION.

    * t/002_basic.t Test for above.

    * README Update this the first time for a change.
    [4043971c0757] [RELEASE_0_43]

2005-12-07  jpeacock  <jpeacock>

    * MANIFEST, Makefile.PL:
    Must remember to patch Module::Release to handle bare Build.PL.

    * Makefile.PL MANIFEST Add compatibility Makefile.PL so that
    `release` will work.
    [e6cabe710202] [RELEASE_0_42]

    * README, lib/Math/, t/002_basic.t:
    Add two object methods suggested by Cory Watson

    * README For a change, update this for the new release. ;)

    * lib/Math/ Add obj->as_int and obj->as_float to ease
    e-commerce and database operations.

    * t/002_basic.t No new features allowed without corresponding tests!

2005-10-30  jpeacock  <jpeacock>

    * Build.PL, README, lib/Math/, lib/Math/Currency/,
    lib/Math/Currency/, scripts/new_currency, t/002_basic.t,
    * lib/Math/ Correct handle case when adding formatted
    string to a M::C object, reported by "Brian Phillips"

    * scripts/new_currency lib/Math/Currency/
    lib/Math/Currency/ Rewrite to include version of M::C used to
    generate currency module, add LANG used to create currency module,
    and regen distributed modules using new script.

    * t/002_basic.t t/003_subclass.t Rewrite tests to use Yen instead of
    Euro (since that has been removed from the distribution.

    * README Add warning about removing M::C::Euro from the distro.

    * Build.PL Minor formatting change

2005-10-27  jpeacock  <jpeacock>

    * MANIFEST, lib/Math/Currency/
    * lib/Math/Currency/ After looking at all of the possible EURO
    supported locales, with their wildly differing formats, I've decided
    to just pull if from the distro completely.

2005-10-26  jpeacock  <jpeacock>

    * lib/Math/Currency/
    * lib/Math/Currency/ There seems to be some vast disagreement
    about what the correct formatting should be for EURO. This seems to
    be consistent with most of the locales in SuSE 10.0. YMMV.

2005-02-12  jpeacock  <jpeacock>

    * Build.PL, README, lib/Math/, t/002_basic.t:
    * lib/Math/ Improve documentation of subclasses and
    automatic format generation

    * t/002_basic.t Correct test output based on correctly defined
    locale formats

    * Build.PL Add explicit dependency on Math::BigFloat 1.47

    * README Rewrite to emphasize what this release includes

2005-02-06  jpeacock  <jpeacock>

    * lib/Math/
    * lib/Math/ Add support for unknown currencies Replace
    tabs with spaces (for consistency) Document currency format
    subclasses and custom currencies

    * lib/Math/Currency/, lib/Math/Currency/,
    lib/Math/Currency/, scripts/new_currency, t/002_basic.t,
    * lib/Math/Currency/ lib/Math/Currency/ Correct format
    rules based on current locale support

    * lib/Math/Currency/ Actually generated with new_currency

    * scripts/new_currency generate correct code now produce diagnostic

    * t/002_basic.t Don't need warning since skip() works now

    * t/004_localize.t Test subclass vs. locale-loaded format

2005-01-19  jpeacock  <jpeacock>

    * lib/Math/, scripts/new_currency:
    Working new_currency script Updated POD (but not implemented all
    fallback code yet)

2005-01-17  jpeacock  <jpeacock>

    * lib/Math/
    Wrong $VERSION code for new release

    * Changes, META.yml:
    Generated files don't belong in the repository

    * MANIFEST, lib/Math/, lib/Math/Currency/,
    lib/Math/Currency/, lib/Math/Currency/,
    scripts/new_currency, t/002_basic.t, t/003_subclass.t,
    Finish conversion to Module::Build Split out ISO Locale/Currency
    formats into subclasses Test subclasses (at least a little) Begin
    work on script to create custom subclasses

2005-01-16  jpeacock  <jpeacock>

    * Build.PL, Changes,, LICENSE, MANIFEST, META.yml,
    Makefile.PL, README, lib/Math/, t/001_load.t,
    t/002_basic.t, t/test.t:
    Convert to Module::Build Hardcode the $VERSION Change the new() to
    handle null $value

2005-01-15  jpeacock  <jpeacock>

    *, MANIFEST, META.yml:
    hard code $VERSION scalar and add META.yml
    [c1d85c9543c1] [0.38]

2002-11-13  jpeacock  <jpeacock>

    * t/test.t:
    Skip locale tests if no locale support

    Enhance initialize() to return success only locale support existing

    * t/test.t:
    Forgot to increment the number of tests

    * Changes,
    Protect the ord() by making sure there is a defined value to use

2002-08-26  jpeacock  <jpeacock>

    * README:
    Bring current with pm file

    * Changes,
    - Forgot to fix 5.8.0 tr// error

    * t/test.t:
    - New tests for locale global format initialization

    - Add $always_init global parameter and test initialize() in
    - Add POD discussion of quoting input

    * Changes:
    - Add $always_init global parameter and test initialize() in
    - Add POD discussion of quoting input

    - Rename monetary_locale() to initialize() and make module use it
    - Document in POD

    - Add monetary_locale to reset global $FORMAT to new POSIX locale
    - Reformat POD to look a little nicer

    - Trailing decimal point for currency without fraction (Jacques
    - Added JPY to preset format

2002-03-06  jpeacock  <jpeacock>

    * Changes,
    Forgot to enforce precision on objects with only global format Need
    to have ->new() called from M::BI::objectify use M::BF::new instead

2002-02-12  jpeacock  <jpeacock>

    * t/test.t:
    Select sensible defaults for missing locale parameters

    * Changes,, Makefile.PL:
    Select sensible defaults for missing locale parameters

    * Changes,, README:
    Rewrite docs Release to CPAN

2002-02-11  jpeacock  <jpeacock>

    complete work on LC_MONETARY formatting

2002-02-05  jpeacock  <jpeacock>

    * Changes:
    Handle parentheses around negative currency Handle less than
    FRAC_DIGITS decimal places

    Handle parentheses around negative currency Handle less than
    FRAC_DIGITS decimal places

2002-02-01  jpeacock  <jpeacock>

    format() will now set/get and copy the global FORMAT as needed

    - make the format() function much more clever

    - Change public interface to use Locale LC_MONETARY codes
    - Produce actual documentation for a change

2002-01-30  jpeacock  <jpeacock>

    * README:
    Adjust tests to handle non-US locale

    * Changes:
    Adjust tests to handle non-US locale

    * New version (corrected tests)

    * t/test.t:
    Moved to t/test.t so harness is used, hiding the diagnostic output

    Move to t/test.t so harness is used, hiding the diagnostic output

    Update tests to correctly succeed for non US locale settings

2002-01-29  jpeacock  <jpeacock>

    * Changes,, Makefile.PL, README,
    Rewrite to use Math::BigFloat >= 1.27 Change version to next major

2001-09-14  JPeacock  <JPeacock>

    * Changes,, MANIFEST, Makefile.PL, README,
    Initial revision

2001-09-14  jpeacock  <jpeacock>

    * New repository initialized by cvs2svn.