diff --git a/CHANGELOG.md b/CHANGELOG.md index b0ec2fe1..3dfc149d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,32 +2,38 @@ ## mp-units -### 2.0.0 WIP { id="2.0.0" } +### 2.1.0 WIP { id="2.1.0" } + +### 2.0.0 September 24, 2023 { id="2.0.0" } - `units` namespace renamed to `mp_units` (#317) - header files in the `` rather then in `` (#317) - the downcasting facility is removed (#383, #211, #32) - unified and simplified quantity creation (#274) -- Determining the best way to create a quantity (#413) -- V2 quantity_point (#414) +- determining the best way to create a quantity (#413) +- V2 `quantity_point` (#414) - introduction of `quantity_spec` to store not only `dimension` but also additional information about quantities (#405) - `quantity` now takes `reference` object, which aggregates `quantity_spec` and a `unit` and a `representation` type - units, prefixes, dimensions, quantity specifications, and references are passed as NTTPs to templates and provide arithmetic operations and comparison - expression templates consistently used in all derived types to increase the readability (#351, #166) - derived dimensions are now factors of only base dimensions (#281) -- Interconvertibility of derived quantities (#427) +- convertibility of derived quantities (#427) - dimensions, quantity specifications, units, and references are now composable, significantly reducing the number of definitions and resulting types - heavily simplified unit systems definitions (no need to define unnamed derived units, systems-specific dimensions, aliases for quantities, concepts, UDLs, ... anymore) - improved definition of all systems -- support for all (or at least most) ISO 80000 quantities +- support for ISO 80000 Part 3-6 quantities - faster than lightspeed constants (#169) - extensions to quantity formatting with `fmt` - `quantity_kind` removed -- much easier and safe casting of unit with `operator[]` and `.number_in(Unit)` -- quantity can no longer be constructed with a raw value (#434) +- improved casting of unit with `.in(Unit)`, `.force_in(Unit)` for `quantity` and `quantity_spec` +- numerical value accessor safety improved with `.numerical_value_in(Unit)` and `.force_numerical_value_in(Unit)` +- `quantity` can no longer be constructed with a raw value (#434) - Implicit construction of quantities from a value (#410) +- `quantity_point` can no longer be constructed with just a `quantity` and an explicit `PointOrigin` is always needed - `ceil` and `floor` are dangerous (#432) - quecto, ronto, ronna, quetta new SI prefixes support +- comparison against zero added (#487) +- documentation rewritten from scratch - many smaller changes not possible to address with the previous design (#205, #210, #134) ### 0.8.0 June 14, 2023 { id="0.8.0" } diff --git a/README.md b/README.md index 78984a80..c2c04f0a 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![GitHub Workflow Documentation](https://img.shields.io/github/actions/workflow/status/mpusz/mp-units/documentation.yml?branch=master&label=Documentation)](https://github.com/mpusz/mp-units/actions?query=workflow%3ADocumentation+branch%3Amaster) [![Conan stable](https://img.shields.io/conan/v/mp-units?label=ConanCenter&color=blue)](https://conan.io/center/mp-units) -[![Conan testing](https://img.shields.io/badge/mpusz.jfrog.io-2.0.0%3Atesting-blue)](https://mpusz.jfrog.io/ui/packages/conan:%2F%2Fmp-units/2.0.0) +[![Conan testing](https://img.shields.io/badge/mpusz.jfrog.io-2.1.0%3Atesting-blue)](https://mpusz.jfrog.io/ui/packages/conan:%2F%2Fmp-units/2.1.0) # `mp-units` - A Physical Quantities and Units library for C++ diff --git a/docs/getting_started/installation_and_usage.md b/docs/getting_started/installation_and_usage.md index 350a1cc9..7ec8d109 100644 --- a/docs/getting_started/installation_and_usage.md +++ b/docs/getting_started/installation_and_usage.md @@ -287,7 +287,7 @@ To obtain an official library release, the following steps may be performed: ```ini title="conanfile.txt" [requires] - mp-units/0.8.0 + mp-units/2.0.0 [layout] cmake_layout @@ -344,7 +344,7 @@ with the following differences: ```ini title="conanfile.txt" hl_lines="2" [requires] - mp-units/2.0.0@mpusz/testing + mp-units/2.1.0@mpusz/testing [layout] cmake_layout diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c0249ea9..4c7027a4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -21,7 +21,7 @@ # SOFTWARE. cmake_minimum_required(VERSION 3.19) -project(mp-units VERSION 2.0.0 LANGUAGES CXX) +project(mp-units VERSION 2.1.0 LANGUAGES CXX) set(projectPrefix MP_UNITS_) diff --git a/src/core/include/mp-units/bits/quantity_point_concepts.h b/src/core/include/mp-units/bits/quantity_point_concepts.h index 90a9e85b..df4b1a24 100644 --- a/src/core/include/mp-units/bits/quantity_point_concepts.h +++ b/src/core/include/mp-units/bits/quantity_point_concepts.h @@ -60,7 +60,7 @@ concept AbsolutePointOrigin = /** * @brief A concept matching all quantity points in the library * - * Satisfied by all types being a either specialization or derived from `quantity_point` + * Satisfied by all types being either a specialization or derived from `quantity_point` */ template concept QuantityPoint = detail::is_quantity_point;