mirror of
https://github.com/mpusz/mp-units.git
synced 2026-04-28 18:12:12 +02:00
af928dd0c7
Resolves #316
10 KiB
10 KiB
Release notes
-
0.8.0 WIP
- (!) refactor:
common_quantity,common_quantity_for,common_quantity_point,common_quantity_kind, andcommon_quantity_point_kindremoved - refactor:
quantityop+()andop-()reimplemented in terms ofreferencerather thenquantitytypes - feat:
std::formatsupport for compliant compilers added - feat: HEP system support added (thanks @RalphSteinhagen)
- feat: conversion helpers from
mp-unitstostd::chronotypes added - (!) fix: add
quantity_point::origin, likestd::chrono::time_point::clock - fix: account for different dimensions in
quantity_point_cast's constraint - build: Minimum Conan version changed to 1.40
- build: fmt updated to 8.0.1
- build: gsl-lite updated to 0.38.1
- build: catch2 updated to 2.13.7
- build: doxygen updated to 1.9.2
- build: linear algebra switched to wg21-linear_algebra/0.7.2
- (!) refactor:
-
0.7.0 May 11, 2021
- (!) refactor:
ScalableNumberrenamed toRepresentation - (!) refactor: output stream operators moved to the
units/quantity_io.hheader file - (!) refactor: Refactored the library file tree
- (!) refactor:
quantity::count()renamed toquantity::number() - (!) refactor:
datasystem renamed toisq::iec80000(quantity names renamed too) - (!) refactor:
*deduced_unitrenamed to*derived_unit - (!) refactor: got rid of a
noble_derived_unit - refactor: quantity (kind) point updated to reflect latest changes to
quantity - refactor: basic concepts,
quantityandquantity_castrefactored - refactor:
abs()definition refactored to be more explicit about the return type - feat: quantity (point) kind support added (thanks @johelegp)
- feat: quantity references support added (thanks @johelegp)
- feat: quantity aliases support addded
- feat: interoperability with
std::chrono::durationand other units libraries - feat: CTAD for dimensionless quantity added
- feat:
modulation_ratesupport added (thanks @go2sh) - feat: SI prefixes for
isq::iec80000support added (thanks @go2sh) - feat: a possibility to disable quantity UDLs support with
UNITS_NO_LITERALSpreprocessor define - feat: a support to define ISQ derived dimensions in terms of different number or order of components
- perf: preconditions check do not influence the runtime performance of a Release build
- perf:
quantity_cast()generates less assembly instructions - perf: temporary string creation removed from
quantity::op<<() - perf: value initialization for quantity value removed (left with a default initialization)
- perf: limited the
equivalenttrait usage - perf: limited the C++ Standard Library headers usage
- perf: rvalue references support added for constructors and getters
- (!) fix:
exp()has sense only for dimensionless quantities - (!) fix:
dim_torquenow properly divides by an angle (instead of multiply) + default unit name change - fix: quantity's operators fixed to behave like the underlying types do
- fix:
quantity_cast()fixed to work correctly with representation types not convertible fromstd::intmax_t - fix: ambiguous case for empty type list resolved
- fix: downcasting facility for non-default-constructible types
- fix: restore user-warnings within the library implementation
- fix: the text symbol of
foot_pound_forceandfoot_pound_force_per_second - fix: quantity modulo arithmetics fixed
- (!) build: Conan testing version is now hosted on Artifactory
- (!) build: Linear Algebra is now hosted on its Artifactory
- (!) build:
BUILD_DOCSCMake option renamed toUNITS_BUILD_DOCS - build: doxygen updated to 1.8.20
- build: catch2 updated to 2.13.4
- build: fmt updated to 7.1.3
- build: ms-gsl replaced with gsl-lite/0.38.0
- build: Conan generator switched to
cmake_find_package_multi - build: Conan CMakeToolchain support added
- build: CMake scripts cleanup
- build: ccache support added
- ci: CI switched from Travis CI to GitHub Actions
- (!) refactor:
-
0.6.0 September 13, 2020
- feat:
quantity_pointsupport added (thanks @johelegp) - feat: Added angle as SI base dimension (thanks @kwikius)
- feat:
si::angular_velocitysupport added (thanks @mikeford3) - feat: FPS system added (thanks @mikeford3)
- feat: Added support for mathematical function
exp(quantity) - feat: Localization support for text output added (thanks @rbrugo)
- feat: Added STL random number distribution wrappers (thanks @yasamoka)
- (!) refactor: Refactored and cleaned up the library file tree
- (!) refactor:
q_*UDL renamed to_q_* - (!) refactor: UDLs with "per" in name renamed from
*p*to*_per_* - (!) refactor:
ratiochanged to the NTTP kind - (!) refactor:
expandExprenamed toexponentandExponent - (!) refactor:
Scalarconcept renamed toScalableNumber - (!) refactor: Dimensionless quantities redesigned to be of a
quantitytype - refactor:
math.hfunction signatures refactored to use aQuantityconcept (thanks @kwikius) - refactor:
[[nodiscard]]added to many functions - fix:
si::dayunit symbol fixed tod(thanks @komputerwiz) - fix:
si::moleunit symbol fixed tomol(thanks @mikeford3) - (!) build: gcc-9 is no longer supported (at least gcc-10 is required)
- build: Visual Studio 16.7 support added
- build: linear_algebra updated to 0.7.0/stable
- build: fmt updated to 7.0.3
- build: range-v3 updated to 0.11.0
- build: catch2 updated to 2.13.0
- build: doxygen updated to 1.8.18
- build: ms-gsl 3.1.0 dependency added
- build: Removed the dependency on a git submodule with common CMake scripts
- feat:
-
0.5.0 May 17, 2020
- Major refactoring and rewrite of the library
- Units are now independent from dimensions
- Dimensions now depend on units (base or coherent units are provided in a class template)
- Quantity gets a Dimension template parameter again (as unit does not provide information about its dimension anymore)
- Spaceship operator support added
- Added official CGS system support
- Added official data information system support
- Repository file tree cleanup
ratiorefactored to containExptemplate parameter (thanks a lot @oschonrock!)- SI fundamental constants added
q_prefix applied to all the UDLs (thanks @kwikius)unknown_unitrenamed tounknown_coherent_unit- Project documentation greatly extended and switched to Sphinx
- A few more usage examples added
- ASCII-only output support added (thanks @yasamoka)
- Representation values formatting extended (thanks @rbrugo)
- Output streams formatting support added
- Linear algebra from
std::experimental::mathsupport added - Named SI units and their dimensions added (thanks @rbrugo
- libfmt updated to 6.2.0
- Added absolute functions and epsilon to math.h (thanks @mikeford3)
- Added a lot of prefixes to named units and introduced
alias_unit(thanks @yasamoka) - Linking with Conan targets only when they exists (#98)
- All physical dimensions and units put into
physicalnamespace - CMake improvements
- Velocity renamed to speed
Many thanks to GitHub users @oschonrock, @kwikius, and @i-ky for their support in drafting a new library design.
-
0.4.0 Nov 17, 2019
- Support for derived dimensions in
expadded - Added
pow()andsqrt()operations on quantities unitsremoved from astd::experimentalnamespace- Downcasting facility refactored so the user does not have to write the boilerplate code anymore
- From now on base dimensions should inherit from
base_dimensionclass template - Added unit symbols definitions to
base_dimensionand derived units - Added support for
operator<<onquantity fmtsupport added- Derived unit factory helpers refactored
- Refactored the way prefixed units are defined
- Support for derived dimensions in
-
0.3.1 Sep 18, 2019
- cmcstl2 dependency changed to range-v3 0.9.1
-
0.3.0 Sep 16, 2019 (CppCon 2019 design)
- The design as described on CppCon 2019 talk (https://youtu.be/0YW6yxkdhlU)
- Applied the feedback from the Cologne evening session
upcasting_traitsrenamed todowncasting_traitsDimensiontemplate parameter removed from quantity
unitsmoved to astd::experimentalnamespace- Leading underscore prefix removed from UDLs
- Added a few more derived dimensions
meterrenamed tometre- Missing
operator*added - Predefined dimensions moved to a dedicated directory
dimension_prefix removed from names of derived dimensions- cmcstl2 library updated to 2019.09.19
base_dimensionis a value provided asconst&to theexptype- integrated with Compiler Explorer
- gsl-lite dependency removed
- Fractional dimension exponents support added
QuantityOfconcept introducedquantity_cast<U, Rep>()support added
-
0.2.0 July 18, 2019 (C++Now 2019 design)
- The design as described on C++Now 2019 talk (https://youtu.be/wKchCktZPHU)
- Added C++20 features supported by gcc-9.1 (
std::remove_cvref_t, down with typename,std::type_identity) - Compile-time performance optimizations (
type_list,common_ratio,ratio,conditional_t)
-
0.1.0 May 18, 2019
- Initial library release
- Begin semantic versioning
- The last version to work with gcc-8