#*******************************************************************************
#**  This file is part of Pecunia.                                           ***
#**                                                                          ***
#**  Copyright (C) 2017, 2018, 2019, 2020, 2021, 2023, 2024                  ***
#**  John Schneiderman <Licencing _AT_ Schneiderman _DOT_ me>                ***
#**                                                                          ***
#**  This program is free software: you can redistribute it and/or modify it ***
#**  under the terms of the GNU Lesser General Public License as published   ***
#**  by the Free Software Foundation, either version 3 of the License, or    ***
#**  (at your option) any later version.                                     ***
#**                                                                          ***
#**  This program is distributed in the hope that it will be useful, but     ***
#**  WITHOUT ANY WARRANTY; without even the implied warranty of              ***
#**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                    ***
#**  See the GNU Lesser General Public License for more details.             ***
#**                                                                          ***
#**  You should have received a copy of the GNU Lesser General Public License***
#**  along with this program. If not, see <http://www.gnu.org/licenses/>.    ***
#*******************************************************************************
2024-01-08 John Schneiderman <JohnMS_AT_member_DOT_fsf_DOT_org> 0.7.0
	* Feature 20: Adds a constructor for currencies that do not have minor units.
	* Feature 10: When working with two money object's amount, no conversions will be made when they
			are the same currency.
	* Feature 10: Adds a configurable option to set the default number of digits used
			in rounding and floating point operations.
	* Feature 10: Renamed UnitStorage to MajorUnit to make reasoning easier.
	* Feature 9: Split construction of a money object's minor unit into its two parts, minor and
			sub-minor. The term precision is more clearly understood as the number of sub-minor
			digits.
	* Feature 15: Renamed Iso4217Codes to Currencies.
	* Feature 11: Updated to ISO-4217 amendment number 172.
	* Feature 11: Now can access the date the generated ISO-4217 codes were published.
	* Bug fix 13: FloatingPoint equality check always assumed a positive differences between two
			values, thereby incorrectly returning true.
	* Bug fix 13: Missing overflow check when multiplying by -1 on a negative minimum integer when
			working with FloatingPoint values.
	* Bug fix 13: Missing overflow check when dividing by -1 on a negative minimum integer when
			working with FloatingPoint values.
	* Bug fix 13: Incorrect check for underflow during division.
	* Bug fix 15: Incorrect checks for overflow during addition and subtraction could potentially
			cause UB.
	* Bug fix 12: Debian package had incorrect dependencies configured.
	* Development 17: Updated to Qt 6.4.
	* Development 17: Updated to CMake 3.20.
	* Development 17: Adds "needs" to the GitLab jobs.
	* Development 17: Addressed Cppcheck issues.
	* Development 17: Simplified the CI set-up.
2023-02-15 John Schneiderman <JohnMS_AT_member_DOT_fsf_DOT_org> 0.6.1
	* Bug fix: The generated files were included incorrectly for uses by other projects.
2023-02-09 John Schneiderman <JohnMS_AT_member_DOT_fsf_DOT_org> 0.6.0
	* Feature: Updated currencies to ISO 4217 published on 2023-01-01.
	* Feature: All floating-point operations are done with-in a strong type.
	* Feature: Stream operations are more predictable.
	* Feature: Zero-out a money object.
	* Bug Fix: Removed unnecessary includes.
	* Development: No longer require the tag information to package.
	* Development: Ensure that release builds do not keep assertions.
	* Development: Default to creating Apple Universal packages.
2021-03-08 John Schneiderman <JohnMS_AT_member_DOT_fsf_DOT_org> 0.5.1
	* Bug Fix: Failed to clear the floating-point exceptions prior to floating-point operations
			resulted in valid floating-point operations failing when they should succeed.
2021-02-27 John Schneiderman <JohnMS_AT_member_DOT_fsf_DOT_org> 0.5.0
	* Feature: All currency codes supplied by the ISO.
	* Feature: The money object swaperator is now noexcept.
	* Feature: Look-up the country/entity that uses a currency is available.
	* Feature: Look-up the name of a currency via its code.
	* Feature: Refactored the API to be clearer about intention.
	* Bug Fix: Triggering potential undefined behaviour when sorting.
	* Development: Uses the built-in CMake internal/external source code functionality.
	* Development: Ability to select building a static or shared library.
	* Development: Set of scripts to automate the generation of the currency codes.
	* Development: Individual unit-tests now be debugged via Visual Studio by default.
	* Development: Made the default locale configurable from within CMake.
	* Development: Scripts for automating package creation.
	* Development: Updated all libraries to match the lowest supported target, Debian stable.
2020-12-07 John Schneiderman <JohnMS_AT_member_DOT_fsf_DOT_org> 0.4.2
	* Bug Fix: incorrect linkage declaration on Windows.
2020-12-07 John Schneiderman <JohnMS_AT_member_DOT_fsf_DOT_org> 0.4.1
	* Bug Fix: Adds taking in the swaperator to make the sort function able to be used by custom
			types.
	* Development: The release branch is created.
2020-12-07 John Schneiderman <JohnMS_AT_member_DOT_fsf_DOT_org> 0.4.0
	* Feature: packaging for Conan.io support.
	* Feature: a sorting algorithm to ensure that currencies are not converted while sorting.
	* Feature: a swap function support for the Money type.
	* Feature: move support for the Money type.
	* Bug Fix: normaliseAmount performed more than just the normalisation of the amount and now only
			returns the normalised amount value.
2020-06-06 John Schneiderman <JohnMS_AT_member_DOT_fsf_DOT_org> 0.3.0
	* Feature: Functions taking the money raw types const&.
	* Bug Fix: implicit conversion from a code to a money type.
	* Bug Fix: not selecting correct abs function.
	* Development: Fixed ctest not working on the command line and only in KDevelop.
	* Development: Made the testing enabling project labeled for better grouping.
2019-06-27 John Schneiderman <JohnMS_AT_member_DOT_fsf_DOT_org> 0.2.0
	* Feature: The underlying types are configurable during compilation.
	* Feature: Adds overload for multiplication and division of integral types.
	* Feature: The floating point equality function is be based upon the smallest possible
			comparable valid currency minor unit.
	* Feature: Renamed "number" member function to "toFloatingPoint" to be clear it's a conversion.
	* Feature: All floating-point operations use and extra number of guard digits to protect the
			money object's precision.
	* Feature: Generate the sum from a container of money objects.
	* Bug Fix: Multiplication used floating-point values during some operations.
	* Bug Fix: Division used floating-point values during some operations.
	* Bug Fix: Rounding could lose precision
	* Bug Fix: Normalisation could lose precision
2018-10-20 John Schneiderman <JohnMS_AT_member_DOT_fsf_DOT_org> 0.1.0
	* Feature: Support for rounding a money's amount value.
	* Feature: Support for getting the absolute value of a money's amount value.
	* Feature: Support for to_string functionality.
	* Feature: Support converting back into a floating-point value.
	* Feature: Ability to change a money object's currency code, without changing its amount value.
	* Feature: Division support between two money objects.
	* Feature: Container of all supported currency codes.
	* Feature: Ability to get the maximum and minimum values a monetary type can support.
	* Feature: An initialisation function to give the library in a known state.
	* Feature: Functions for getting the library configuration information.
	* Bug fix: Issue with multiple references of convert function.
	* Bug fix: Issue with the relational operators silently failing when the currency codes did not
			match.
	* Development: Fixed packaging issues.
	* Development: Specify requiring C++14.
	* Development: Default compile with warnings as errors for the project.
	* Development: Uses the built-in CMake package config generators.
	* Development: Uses the built-in CMake export mechanism.
	* Development: Selected the final name for the library.
	* Development: Removed the template based money object type.
2017-01-09 John Schneiderman <JohnMS_AT_member_DOT_fsf_DOT_org> 0.0.0
	* Feature: Basic money type (templated & non-templated) with arithmetic operations & verification.
	* Development: Ability to link against using CMake.
