Changelog History
-
v3.0.0.alpha Changes
June 22, 2018👍 Many new features of v3.x implemeneted, including first-class support for integer units
-
v2.3.1 Changes
April 22, 2018🆕 New in v2.3.1
🚚 This version removes support for the Visual Studio 2013 compiler.
🔋 Features:
- units now include constexpr
name()
andabbreviation()
member functions, which do not really on string/iostream. - 🏗 Builds with VS2017 Ninja generator out of the box
- string conversions are now locale aware
- ➕ added unary incremement and decremement operators (
++
,--
), as well as unary+
operator.
🐛 Bug fixs:
- 🛠 fixed compilation error when iostream was disabled
- units now include constexpr
-
v2.3.0 Changes
September 16, 2017🔋 features:
- 5x compile time improvement on MSVC.
- 1.5x compile time improvement on GCC.
- 0️⃣ Even more dramatic reductions in compile time can be acheived if you opt-in to specific unit definitions instead of using all the library-defined types (which is the default value). Check out Enabling a subset of units to improve compilation time for instructions.
- ➕ Adds std::cout support for units with no defined abbreviation (they show up as a combination of SI base units)
- 👌 Support for
std::numeric_limits
of unit types. - Assignment operators for unit types:
-=
,+=
,/=
,*=
. - ➕ Added
min
andmax
overloads for units types inunits::math
. ➕ Added
to_string
function andabbreviation
functions:auto len = 3.5_m;auto str = units::length::to_string(len);auto abv = units::length::abbreviation(len); std::cout << str; // prints "3.5 m"std::cout << abv; // prints "m"
Added units of data and data transfer:
bits
,bytes
,bits_per_second
, andbytes_per_second
.➕ Adds
value()
member for accessing underlying type.Adds
value_type
trait, as a synonym forunderlying_type
.➕ Adds definitions for Julian and Gregorian years.
📦 Thanks to @dinocore1,
units
now supports cmake install andfind_packages
. From the pull request:To have cmake install units library to a local 'install' directory:mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX="install" .. cmake --build . --target install# The units library can then be used in some other cmake project using # the standard 'find_package' command. Like so:find_package(units)
🐛 Bug fixes:
- 🛠 Fixed singualr name of
siemen
to besiemens
(Thanks @Oxyd) - 🛠 Fixed bug with
cubrt
operation (Thanks @PearCoding) - 🛠 fixed constexpr relational operators bug
- 🛠 fixed exponential temperature conversions (Thanks @guarndt)
-
v2.3.0.RC2 Changes
February 23, 2017👌 Improvements:
- 512% compile time improvement on MSVC.
- 165% compile time improvement on GCC.
🐛 Bug fixes:
- 🛠 fixed constexpr relational operators bug (#63)
Notes:
- 👍 Retains VS2013 support
- 📚 No documentation updates are provided in this release candidate.
-
v2.3.0.RC1 Changes
February 13, 2017🚀 Release Candidate 1 for v2.3.0
- ➕ Adds data units (bits/bytes) and data transfer units as first-class citizens
- ➕ Adds
std::cout
support for units with no defined abbreviation (they show up as a combination of SI base units) - ➕ Adds compound assignment operators:
+=
,-=
,/=
,*=
. - ➕ Adds
value()
member for accessing underlying type. - Adds
value_type
trait, as a synonym forunderlying_type
. - ➕ Adds definitions for Julian and Gregorian years.
Notes:
- 🚚 Provisionally removes compiler support for MSVC2013.
- 📚 No documentation updates are included in this candidate.
-
v2.2.0 Changes
February 09, 2017🆕 New Features:
- Unit types and member functions are now
constexpr
andnoexcept
wherever possible. - ➕ Added
cpow<..>()
, aconstexpr
power function. - ➕ Added
make_unit
factory function. - ➕ Added cmath
hypot()
function. - ➕ Added optional definition to disable IOStream in embedded applications.
👌 Improvements:
- 🆕 New and improved
pi
constant units::time
andstd::chrono
are now interoperable- ⚠ eliminated warnings on gcc when using
-Wall -Wextra -pedantic
- Unit types and member functions are now
-
v2.1.3 Changes
October 09, 2016🆕 New features:
- ➕ Added a CMake
interface
project so thatunits
can be more easily included as a git submodule or CMake subdirectory. - ➕ Added options to disable building unit tests and documentation.
👌 Improvements:
- ✂ Removed all GNU dependencies
- ⚡️ Updated google test to version 1.8.0 and simplified the build process
- 👌 improved overall units compile time.
- ➕ Added a CMake
-
v2.1.2 Changes
September 29, 2016🐛 Bug fixes:
- in-lined the decibel unit literals to prevent multiple definitions.
- 🔄 changed inch abbreviation from
inch
toin
-
v2.1.1 Changes
September 28, 2016✨ Enhancements
- ➕ Adds clang support and testing (on linux).