All Versions
9
Latest Version
Avg Release Cycle
79 days
Latest Release
2135 days ago

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() and abbreviation() 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
  • 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 and max overloads for units types in units::math.
    • ➕ Added to_string function and abbreviation 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, and bytes_per_second.

    • ➕ Adds value() member for accessing underlying type.

    • Adds value_type trait, as a synonym for underlying_type.

    • ➕ Adds definitions for Julian and Gregorian years.

    • 📦 Thanks to @dinocore1, units now supports cmake install and find_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 be siemens (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 for underlying_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 and noexcept wherever possible.
    • ➕ Added cpow<..>(), a constexpr 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 and std::chrono are now interoperable
    • ⚠ eliminated warnings on gcc when using -Wall -Wextra -pedantic
  • v2.1.3 Changes

    October 09, 2016

    🆕 New features:

    • ➕ Added a CMake interface project so that units 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.
  • v2.1.2 Changes

    September 29, 2016

    🐛 Bug fixes:

    • in-lined the decibel unit literals to prevent multiple definitions.
    • 🔄 changed inch abbreviation from inch to in
  • v2.1.1 Changes

    September 28, 2016

    ✨ Enhancements

    • ➕ Adds clang support and testing (on linux).