The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Math::Currency

0.53  2023-07-06
    - Fix localize() so that it works correctly for perl 5.37.7 where
      currency_symbol is empty string

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
      repository
    - 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 version.pm
    - 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  <john.peacock@havurah-software.org>

    * lib/Math/Currency.pm, lib/Math/Currency/de_DE.pm,
    lib/Math/Currency/en_GB.pm:
    Prep for new CPAN release
    [0351bc56d1da]

    * MANIFEST:
    Add missing META file
    [9070d564c73d]

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

    * MANIFEST:
    Fix up MANIFEST
    [7e1b6bd2f564]

    * MANIFEST, t/002_basic.t:
    Fix stupid errors
    [74e0414be33c]

2010-08-25  John Peacock  <john.peacock@havurah-software.org>

    * lib/Math/Currency.pm, lib/Math/Currency/ja_JP.pm, t/002_basic.t,
    t/003_subclass.t, t/004_localize.t, t/004_localize.t.pl,
    t/006_defaults.t:
    Segregate all of the locale tests into their own file.
    [68bc293c233c]

2010-08-10  John Peacock  <john.peacock@havurah-software.org>

    * Build.PL, MANIFEST, lib/Math/Currency.pm, t/002_basic.t,
    t/003_subclass.t:
    Skip en_GB tests if that locale is not installed. Fix all other test
    failures.
    [98d03afd7d48]

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

    * .hgtags:
    update tags
    [c0848782fbcf]

2008-05-08  jpeacock  <jpeacock>

    * MANIFEST, README, lib/Math/Currency.pm, lib/Math/Currency/GBP.pm,
    lib/Math/Currency/JPY.pm, lib/Math/Currency/en_GB.pm,
    lib/Math/Currency/ja_JP.pm, scripts/new_currency, t/003_subclass.t,
    t/004_localize.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
    platforms.
    [bae8825fd549]

2008-01-31  jpeacock  <jpeacock>

    * lib/Math/Currency.pm, scripts/new_currency:
    Cope with more than one EUR format at once. Patch from JROBINSON
    <cpan @ desert-island.me.uk> plus some other tweaks by me.
    [fefc8d817f7e]

2007-09-23  jpeacock  <jpeacock>

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

     http://rt.cpan.org/Public/Bug/Display.html?id=29210

    for details. This code is faster too! Patch by <rybskej @ yahoo.com>
    [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/Currency.pm, t/002_basic.t:
    Deal with problems where en_US isn't installed at all. Reported by
    David Cantrell <david@cantrell.org.uk>
    [be6d80cc22cd]

2007-08-05  jpeacock  <jpeacock>

    * lib/Math/Currency.pm, 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>

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

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

2006-01-25  jpeacock  <jpeacock>

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

    * MANIFEST Forgot to add new test here.

    * lib/Math/Currency.pm 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/Currency.pm, lib/Math/Currency/GBP.pm,
    lib/Math/Currency/JPY.pm, t/002_basic.t, t/003_subclass.t,
    t/005_rounding.t:
    Prep for new release to CPAN.

    * README Note the changes for this release.

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

    * lib/Math/Currency/JPY.pm lib/Math/Currency/GBP.pm 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.
    [864b933c865a]

2005-12-16  jpeacock  <jpeacock>

    * README, lib/Math/Currency.pm, t/002_basic.t:
    * lib/Math/Currency.pm Preserve object formatting when making
    implicit copy, Reported by "Brian Phillips" <brianp@holmescorp.com>.
    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/Currency.pm, t/002_basic.t:
    Add two object methods suggested by Cory Watson
    <cwatson@magazines.com>.

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

    * lib/Math/Currency.pm 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!
    :)
    [2e09a43d973e]

2005-10-30  jpeacock  <jpeacock>

    * Build.PL, README, lib/Math/Currency.pm, lib/Math/Currency/GBP.pm,
    lib/Math/Currency/JPY.pm, scripts/new_currency, t/002_basic.t,
    t/003_subclass.t:
    * lib/Math/Currency.pm Correct handle case when adding formatted
    string to a M::C object, reported by "Brian Phillips"
    <brianp@holmescorp.com>

    * scripts/new_currency lib/Math/Currency/GBP.pm
    lib/Math/Currency/JPY.pm 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
    [650e34c010dd]

2005-10-27  jpeacock  <jpeacock>

    * MANIFEST, lib/Math/Currency/EUR.pm:
    * lib/Math/Currency/EUR.pm 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.
    [0226d5794a52]

2005-10-26  jpeacock  <jpeacock>

    * lib/Math/Currency/EUR.pm:
    * lib/Math/Currency/EUR.pm 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.
    [af48be1b5750]

2005-02-12  jpeacock  <jpeacock>

    * Build.PL, README, lib/Math/Currency.pm, t/002_basic.t:
    * lib/Math/Currency.pm 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
    [e7d7c89c717b]

2005-02-06  jpeacock  <jpeacock>

    * lib/Math/Currency.pm:
    * lib/Math/Currency.pm Add support for unknown currencies Replace
    tabs with spaces (for consistency) Document currency format
    subclasses and custom currencies
    [9ca2585dfb93]

    * lib/Math/Currency/EUR.pm, lib/Math/Currency/GBP.pm,
    lib/Math/Currency/JPY.pm, scripts/new_currency, t/002_basic.t,
    t/004_localize.t:
    * lib/Math/Currency/EUR.pm lib/Math/Currency/JPY.pm Correct format
    rules based on current locale support

    * lib/Math/Currency/GBP.pm Actually generated with new_currency
    script

    * scripts/new_currency generate correct code now produce diagnostic
    output

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

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

2005-01-19  jpeacock  <jpeacock>

    * lib/Math/Currency.pm, scripts/new_currency:
    Working new_currency script Updated POD (but not implemented all
    fallback code yet)
    [7c2a9438b301]

2005-01-17  jpeacock  <jpeacock>

    * lib/Math/Currency.pm:
    Wrong $VERSION code for new release
    [e8584c5c6db3]

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

    * MANIFEST, lib/Math/Currency.pm, lib/Math/Currency/EUR.pm,
    lib/Math/Currency/GBP.pm, lib/Math/Currency/JPY.pm,
    scripts/new_currency, t/002_basic.t, t/003_subclass.t,
    t/004_localize.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
    [1234b626aa71]

2005-01-16  jpeacock  <jpeacock>

    * Build.PL, Changes, Currency.pm, LICENSE, MANIFEST, META.yml,
    Makefile.PL, README, lib/Math/Currency.pm, 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
    [79a7837333c9]

2005-01-15  jpeacock  <jpeacock>

    * Currency.pm, 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
    [e8ad544bfee6]

    * Currency.pm:
    Enhance initialize() to return success only locale support existing
    [1c73efe4b5b1]

    * t/test.t:
    Forgot to increment the number of tests
    [13027eb70b2f]

    * Changes, Currency.pm:
    Protect the ord() by making sure there is a defined value to use
    first
    [69f26c491b47]

2002-08-26  jpeacock  <jpeacock>

    * README:
    Bring current with pm file
    [1007cf76fefa]

    * Changes, Currency.pm:
    - Forgot to fix 5.8.0 tr// error
    [5fc9c6e0515e]

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

    * Currency.pm:
    - Add $always_init global parameter and test initialize() in
    format()
    - Add POD discussion of quoting input
    [8eb3e10fd77a]

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

    * Currency.pm:
    - Rename monetary_locale() to initialize() and make module use it
    itself.
    - Document in POD
    [83daaf7061c7]

    * Currency.pm:
    - Add monetary_locale to reset global $FORMAT to new POSIX locale
    - Reformat POD to look a little nicer
    [369269c0a733]

    * Currency.pm:
    - Trailing decimal point for currency without fraction (Jacques
    Deguest)
    - Added JPY to preset format
    [a33cd9060845]

2002-03-06  jpeacock  <jpeacock>

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

2002-02-12  jpeacock  <jpeacock>

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

    * Changes, Currency.pm, Makefile.PL:
    Select sensible defaults for missing locale parameters
    [900a5c010fca]

    * Changes, Currency.pm, README:
    Rewrite docs Release to CPAN
    [10d5b03c5394]

2002-02-11  jpeacock  <jpeacock>

    * Currency.pm:
    complete work on LC_MONETARY formatting
    [25fcf3f2fc50]

2002-02-05  jpeacock  <jpeacock>

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

    * Currency.pm:
    Handle parentheses around negative currency Handle less than
    FRAC_DIGITS decimal places
    [5dec18c74114]

2002-02-01  jpeacock  <jpeacock>

    * Currency.pm:
    format() will now set/get and copy the global FORMAT as needed
    [dfa174c9957f]

    * Currency.pm:
    - make the format() function much more clever
    [71f153f1540a]

    * Currency.pm:
    - Change public interface to use Locale LC_MONETARY codes
    - Produce actual documentation for a change
    [269082a18621]

2002-01-30  jpeacock  <jpeacock>

    * README:
    Adjust tests to handle non-US locale
    [3109906a0741]

    * Changes:
    Adjust tests to handle non-US locale
    [bffa1b602525]

    * New version (corrected tests)
    [0ea0ed812142]

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

    * test.pl:
    Move to t/test.t so harness is used, hiding the diagnostic output
    [06f4b355ff2b]

    * MANIFEST, test.pl:
    Update tests to correctly succeed for non US locale settings
    [cda9567440a0]

2002-01-29  jpeacock  <jpeacock>

    * Changes, Currency.pm, Makefile.PL, README, test.pl:
    Rewrite to use Math::BigFloat >= 1.27 Change version to next major
    level
    [261058a04c2e]

2001-09-14  JPeacock  <JPeacock>

    * Changes, Currency.pm, MANIFEST, Makefile.PL, README, test.pl:
    Initial revision
    [a902ab2f00f2]

2001-09-14  jpeacock  <jpeacock>

    * New repository initialized by cvs2svn.
    [9d68e833e698]