-
Notifications
You must be signed in to change notification settings - Fork 14
Changelog
This page will not be updated anymore.
From version 7.0.0 and onward, please refer to Releases.
2021/12/03 4634edd009b2674eafea039376c739f3887d14c1
- Merged improved Currency.Round to improve rounding when allocating monetary quantities
2018/08/19 e5482bec892f33c2b262b6c7ba0238b82cce985f
- Implement amendment 168:
- Change name of
PHP
- Deprecate
VEF
adn introduceVES
- Implement amendment 169 (a bit too early):
- Introduce
UYW
2017/12/31 c3adbc07311830cbd3d1deb4afb2e0907e14167d
-
Breaking change:
.Allocate()
methods have moved from NMoneys namespace to the NMoneys.Allocations namespace as part of a general effort to improve the architecture of the library - Apply Amendment 164:
- Make
STD
obsolete - Create
STN
obsolete - Change
PHP
name
- Make
- Apply Amendment 165:
- Make
MRO
obsolete - Create
MRU
obsolete
- Make
- Expose extension method
CurrencyIsoCode.Equals(public static bool Equals(CurrencyIsoCode)
to efficiently compare two currency codes - Reconcile a lot of currencies with newly supported information in System.Globalization:
ALL
,ANG
,AOA
,AWG
,BIF
,BMD
,BSD
,CUC
,CVE
,DJF
,FJD
,FKP
,GHS
,GIP
,GMD
,GNF
,GYD
,KMF
,KPW
,LRD
,MGA
,MRO
,MUR
,MWK
,MZN
,NAD
,PGK
,SDB
,SCR
,SDG
,SHP
,SLL
,SSP
,STD
,SRD
,SZL
,TOP
,TZS
,UGX
,VUV
,WST
,XPF
- Re-implement
NMoneys.Tools
to make detecting future changes of the information of a currency easier and more effective
2017/07/19 f40dbc4354a5e1ded08aeec1b887f278e7a8ab9d
- Retrofit amendment 158:
- Make
USS
obsolete
- Make
2017/07/18 9c56e298d9edf6cd3e8cb7703a5f1299a55947f0
- Finish application of Amendment 161:
- Make
BYR
obsolete
- Make
2017/06/20 f522fbe4a62ce38b02825a48e81ebe9c30e8fab4
- Upgrade serialization packages to take a dependency on the serialization framework
- Target-dependent dependencies:
- for core projects, minimum library version that supports netcore
- for classic netframework projects, minimum working library version
- Remove
Nullable*Converter
from Json_Net and Raven_DB. From now on, a{Canonical|Default}Converter
should be able to handle nullable serialization/deserialization - Use new
Decimal128
type for the serialization of Amount in Mongo_DB instead of the risky conversion from floating point
2017/06/14 dc87a744c5896fa48c0cad6caf255338e96fe1a0
-
Add operations to make change:
.CountWaysToMakeChange()
.MakeChange()
.MakeOptimalChange()
-
Amendment 163:
- change name for
AZN
,KMF
,GNF
andLAK
- change currency short form for
UYI
- change name for
2017/04/21 2e4984696a40cc501b57c33d2aa2ccc96b09674f
- Include netstandard1.3 libraries for NMoneys and NMoneys.Exchange
-
Breaking change: methods that previously threw
InvalidEnumArgumentException
now throwArgumentException
to align both runtimes - Migrate tests and tooling to NUnit 3.6.1
- Update NuGet and PSake
Netstandard library supports all features that were available in the "classic" .NET framework version minus:
- Custom serialization
-
ICloneable
is not implemented
2016/07/20 bd6988d536732426e884a74b81a486a29ff75f44
- Decorate public pure methods with
[Pure]
- Migrate tests and tooling to NUnit 3
- Update NuGet
2016/07/18 868bd2284a75783f7d2d09a29c46a9dcde5ca703
- Solve issue with wrong type when binary serializing
Money
instances
2016/07/11 73619199cf35cf1e47f7b2612caaef9cd85294ff
- Apply ISO4217 amendment 161: Add
BYN
- Reconcile currencies
AZN
,ETB
,BAM
,BTN
,BZD
,JMD
,TTD
,ZAR
,XDR
,ARS
,BOB
,CLP
,COP
,CRC
,CUP
,HNL
,NIO
,PAB
,PEN
,PYG
with globalization information - Reconcile currencies
UYU
,VEF
,PHP
,CDF
,XAF
,HTG
,HRK
,IDR
,GEL
,KZT
,LAK
,MKD
,MNT
,BND
,MYR
,MMK
,NOK
,AFN
,BRL
,MDL
,RUB
,RWF
,LKR
,ALL
,SEK
,KES
,ERN
,BWP
,UZS
,XDR
with globalization information
2016/06/22 014503f54462d24340ff0f94895ff1971775c806
- Add
Currency.Code.Parse(str, default)
2016/03/15 426afd82e6e172e49c5792b981366a594e339738
- Apply ISO4217 amendment 162: change name of
MWK
,PEN
andVEF
2015/08/27 a00a80dfc5187603889e6bc6c6ba691baaa3df14
- Include custom MongoDB serialization/de-serialization via custom serializers:
CanonicalMoneySerializer
andDefaultMoneySerializer
- include missing .dll to build the package locally when no Microsoft Help SDK is installed
- Update version of NuGet
2015/07/15 87b25393b97f3784d4b123c7e3bdeb117f7ccf5f
- Apply ISO4217 amendment 160: change name of
HRK
andRON
- refactor build process to be share common with CI/CD server
- Update version of NuGet
- Update version of psake
- Update version of NUnit
2015/04/21 8118e4b2f3c959c530a4ad12400fc32cebc9db16
- Migrate all project to .NET 4.0
- change group separator to
SEK
according to http://sv.wikipedia.org/wiki/Tusentalsavgränsare - fix issue #30 by using
ConcurrentDictionary
for internal caches - fix issue #31
2015/01/08 efb48aa545830396d682f13a7dd9e81598b73ed9
- Apply ISO4217 amendment 159: deprecate
LTL
and changeCVE
- support for currencies without symbols
- fix issue #28 by overloading
Money.Parse()
2014/08/06 @revision 296
- Breaking change of NuGet package
NMoneys.Serialization.Json_NET
as it is now a source code package with no binary dependency on Json.NET - Add source code package to support custom serialization for ServiceStack.Text
- Add source code package to support custom serialization for RavenDB
2014/06/19 @revision 283
- Update symbol and native name for
BYR
- Update symbol for
BGN
- Update native name for
CZK
- Update version of NuGet
- Update version of psake
- Improve build scripts
- Add facility to strongly name
NMoneys.dll
in order to upload to bin repository
2014/04/15 @revision 273
- Exposed fast equality comparer for
CurrencyIsoCode
via Currency.Code
2014/03/14 @revision 268
- Apply ISO4217 amendment 155: increase significative decimals for
CLF
- Update currencies based on newest OS/framework information:
AFN
,BOB
,CDF
,CLF
,HTG
,IRR
,KES
,MDL
,MMK
,PHP
,SOS
UZS
,XAF
- fixed NUnit report to support UTF-8
- Upgraded version of NuGet
2014/01/21 @revision 262
- Integral multiplication
.Times()
and.Multiply()
added to Money
2014/01/06 @revision 259
- Changed native name:
CLF
- Apply ISO4217 amendment 156: deprecate
LVL
- Upgraded version of NuGet
2013/04/06 @revision 250
- Added
.Ceiling()
to Money - Removed faulty
ZMV
and replaced for correctZMW
, let's hope not a lot of people persisted information with the non-existing currency - Changed representation:
ALL
,BWP
,COP
,DOP
,ERN
,ETB
,GTQ
,IRR
,KGS
,LTL
,MNT
,NIO
,RUB
,RWF
,SEK
,TJS
,UYU
,XCD
- Changed currency symbol:
AMD
,GEL
,INR
,KZT
,NGN
,PYG
,TJS
,TRY
,VEF
,XCD
- Changed native name:
BGN
,CZK
,ERN
,IRR
,KZT
,TJS
2013/03/17 @revision 247
- Released 2.1.1.0 of NMoney.Exchange, including issue 21
- Upgraded version of NuGet
2013/01/01 @revision 241
- Applied rest of changes from ISO4217 amendment 154:
ZMK
is deprecated, andZMV
has been added - Changed number of decimals for
UGX
as per ISO website - Changed misspelled denominations of
XBC
andXBD
- Added .chm documentation to NMoneys, NMoneys.Exchange and NMoneys.Serialization.Json_NET
- Upgraded dependency of NMoneys.Serialization.Json_NET to latest Json.NET
- Upgraded version of NuGet
- Build migrated to psake instead of MSBuild
2012/08/02 @revision 215
- NMoneys version bump due to client profile targeting and some breaking changes
- NMoneys.Exchange version bump due to client profile targeting
-
breaking change: deprecated
CurrencyConverter
,CurrencyCodeConverter
andMoneyConverter
that used the old undeprecated, but well on its way out,System.Web.Script.Serialization.JavasScriptConverter
- custom JSON serialiation can be performed using the
DataContractJsonSerializer
and customized withDataContractSurrogate
- removed System.Web dependency
- added project NMoneys.Serialization.Json_NET which follows a parallel distribution method (different binaries and packages) to support custom JSON serialization using the popular "Json.NET" library
2012/06/25 @revision 176
- version bump due to some breaking changes
-
breaking change:
Allocators
namespace is nowAllocations
-
breaking change:
Money.Allocate(int)
returns anAllocation
instance, instead ofMoney[]
-
breaking change:
IRemainderAllocator.Allocate()
signature change. Custom implementations of the interface need to be rewritten :-( -
breaking change: extension method on money instances
.Currency()
renamed to.GetCurrency()
- Added
Money.Allocate(RatioCollection)
to allow pro-rated allocations. Again, many thanks to Berryl Hesh for his contribution. - Surfaced
EvenAllocator
to perform strictly fair allocations - Added
ProRatedAllocator
to perform strictly pro-rated allocations - Added
Money.Zero()
static factory methods that initialize arrays - Added
Money.Some()
static factory methods that initialize arrays - Added
Money.HasSameCurrencyAs()
andMoney.AssertSameCurrency
instance method that operate on collections of moneys
2012/02/13 @revision 146
- Added
Money.Allocate()
. Thanks to Berryl Hesh for the contribution - Added
Currency.MinAmount
,CurrencyIsoCode.AsCurrency()
extension,Money.Currency()
andIEnumerable<decimal>.ToMoney()
extensions - updated currency definitions as per latest ISO amendment 153: GHS renamed to Ghana Cedi, MZN renamed to Mozambique Metical, RON renamed to New Romanian Leu and TMT renamed to Turkmenistan New Manat
- All currencies have their English name as defined per the ISO. The following currencies have been renamed and their native names updated: ALL, ANG, BAM, BDT, BOV, BRL, BYR, CLF, COU, GBP, GHS, GTQ, HNL, HUF, IDR, ILS, ISK, JPY, KGS, KRW, MKD, MOP, MXV, MZN, NAD, NGN, NIO, NPR, OMR, PAB, PEN, PLN, PYG, RON, RWF, SVC, THB, TJS, TMT, TOP, TTD, UAH, UYI, UZS, VEF, VND, XBA, XDR, ZAR
- All currencies have their
SignificantDecimalDigits
as defined per the ISO. The following currencies have been changed: BIF, BND, BYR, CLF, CLP, DJF, GNF, IDR, IQD, KMF, MYR, PYG, RWF, UYI, UZS, VND, VUV, XAF, XOF, XPF - Updated NuGet to v1.6.21205.9031
2011/09/01 @revision 129
- South Sudanese Pound (SSP) has been added
- changed name of ARW to Aruban Florin
- updated assembly description to match the one in the NuGet package
- Updated NuGet to v1.5.20830.9001
2011/06/30 @revision 123
- Breaking change: all currency code parsing/conversion methods are accessed through
Currency.Code
- Updated NuGet to v1.4.20615.182
- Added project NMoneys.Exchange which follows a parallel distribution method (different binaries and packages)
2011/06/02 @revision 85
- Added methods
Currency.ParseCode()
andCurrency.TryParseCode()
that allow parsingCurrencyIsoCode
strings
2011/05/15 @revision 72
- Included source code for CodeProject article
- Solved Issue 16. Now, currencies can be obtained from case-insensitive three-letter codes
- Added
AlphabeticCode()
toCurrency
andCurrencyIsoCode
to reflect terms used by ISO - Updated
Money.Total()
tests to exemplify its usage
2011/05/03 @revision 53
- ADB Unit of Account (XUA) has been added
- Updated NuGet to v1.3.20425.372
- Updated NUnit to v2.5.10.11092
2011/03/17 @revision 51
- Performance improvement for unitialized
Money
instances - Sucre (XSU) has been added
- checked for CLS compliancy
-
MissconfiguredCurrencyException
renamed toMisconfiguredCurrencyException
-
Currency.ObsoleteCurrency
is now an event -
<
and>
operators implemented forCurrency
-
Money
arithmetic methods implemented as alternative to operators for languages that cannot consume operators - Extensive null parameter checking
- Updated NuGet to v1.1
2011/02/24 @revision 43
- Fix for unexpected behavior of unitialized
Money
instances. Now default instances have a defined currency ISO code (XXX
)
2011/02/11 @revision 37
- Support for deprecated currencies
- Estonian Kroon (EEK) has been deprecated
-
Currency.Get()
,Currency.Get()
can receive aRegionInfo
as argument - Added support for HTML/XML entities (such as &eur;)
- Updated NuGet to v1.0 RTM.
- NuGet package published.
- Gem published.
- Updated NUnit to 2.5.9.10348
- Changed MSBuild script to ease usage
- Creates more correct NuGet package
- Copies to output release directory
2010/11/20 @revision 24
- Completed Xml documentation for public members
-
Currency.TryGet()
,Currency.TryParse()
andMoney.TryParse()
do not throw any exception anymore - Added USN and USS after merging all information back from the ISO website
- Added NuGet package. It should be available from the public feed
- Added MSBuild script to ease usage
- Run tests and creates reports
- Compiles binaries
- Creates NuGet package
- Copies to output build directory
2010/11/20 @revision 15
- Added
Currency.FindAll()
- Added
Money.Parse()
andMoney.TryParse()
- Implemented
IComparable
andIComparabe<>
onCurrency
- Added Joda-Money features:
- Creation methods:
Money.Zero()
,Money.ForMajor()
,Money.ForMinor()
, andMoney.Total()
- Properties
Money.MinorAmount
,Money.MajorAmount
,Money.HasDecimals
- Creation methods:
- Removed "long" obsolete currency: Guinea-Bissau Franc GWP (624).
2010/10/25 @revision 11
- Baseline version