Releases: marovira/zeus
Releases · marovira/zeus
1.9.0
Breaking Changes
zeus::IntegralTypeandzeus::ArithmeticTypehave been renamed tozeus::Integralandzeus::Arithmeticrespectively. See below for more details.
Feature Changes
- Integral and Arithmetic concepts are now inline with STL naming conventions.
- Adds
zeus::UnsignedIntegralfor detecting unsigned integral types. - Adds
zeus::linspaceas an alternative forzeus::Rangeon floating points. Follows the same API asnumpy.
Bug Fixes
zeus::Rangeno longer accepts any type that isn't integral. This prevents bugs when using with floating point. Usezeus::linspaceinstead.- Removes tildes from C++ macros. This could cause compiler errors on certain platforms.
Full Changelog
1.8.0
Feature Changes
- Adds a new wrapper to temporarily switch the working directory within a scope. See
zeus::ChdirScopefor details in thefilesystemheader.
1.7.0
Feature Changes
- Adds a header to detect C++ versions.
- Adds support for macOS.
- Updates all dependencies.
- Add
clang-tidyand updates code to match.
Full Changelog
1.6.0
Maintenance Release
- Updates package versions
- Improvements to CI and dev setups.
Full Changelog
1.5.0
Feature Changes
- Improved usability of the
EnumBitfieldclass:- Allow the class to be created directly from the base type. This simplifies cases where the bitfield is serialised and then restored.
- Allow the class to receive assignment from the base type. This is mostly for symmetry with the other assignment operator.
- Removes unused headers to streamline inclusion and reduce build times.
- Updates the
ASSERTmacro implementation to usestd::arrayinstead of C-style arrays for better safety. - Functors passed in to the string functions no longer use universal references. This is in conformance with the STL.
- Update all SDKs to their latest released versions.
Full Changelog
1.4.0
Feature Changes
- Adds a new header for container traits.
- The goal of this header is to provide compile-time checks for certain traits that are defined by the standard and satisfied by the STL containers. Currently implements the ContiguousContainer trait.
- Updates the
ASSERTmacro to usestd::source_location. This also improves the output of the assert macro by providing file, line, column, and function names. - Updates all SDKs to their latest versions.
Full Changelog
1.3.0
Breaking Changes
- The concepts header has been completely revamped. If you use any of the old concepts, please see below for the new versions.
check_flaghas been removed fromenum_bitfield.hpp. The function has been marked as deprecated for a while now and should be removed.
Feature Changes
- Concepts have been significantly improved:
- Concept names are now consistent with overall coding style.
- Concepts now build on each other instead of re-defining the same checks.
- Added a new concept for checking integral types (without bool)
- The string header now provides a concept for the delimiter functor. This should provide better error messages from the compiler.
- Updates all SDKs to their latest versions.
Bug Fixes
- Concepts are now unit tested to ensure they work correctly.
Full Changelog
1.2.0
Breaking Changes
- The floating point comparison functions have been completely revamped. If you use any of the old functions, see below for the new versions.
functional.hpphas been removed and replaced with the newRangeclass.
Feature Changes
- Floating point functions have been significantly improved:
- Epsilon values can now be passed in directly without need of going through the template arguments themselves.
- Comparison against 0 is now distinct from the general comparison function.
- Please note that the old functions
are_equal,is_zero,leq, andgeqhave now been replaced with the following:are_equalis nowalmost_equalto emphasize that they're not fully equal.is_zerois nowalmost_zerofor the same reasonsleqandgeqhave been removed as they were redundant.
- Added a new class
Rangethat emulates the behaviour of Python'srange. This class supersedes theiotafunction held infunctional.hppso it has been removed. - Added a compile-time version of
std::abs.
Bug Fixes
- The
Timerclass is no longer markedconstexpras it is mostly intended for run-time operations. - The floating point comparison functions are now fully
constexprcompatible. - The
is_arithmeticconcept now excludesbool. - All compile-time compatible functions and classes are now correctly checked at compile-time.
Full Changelog
1.1.0
Feature Changes
- Improves the string operations so they are closer to Python. See #3
- Adds a split lines function similar to Python. See #4
- Removes
ConfigParser. - Adds version macros for greater flexibility.
Fixes
- Versioning is now more streamlined.
- Fixes compatibility with newer versions of Zeus (#1)
- When installing Zeus, ensure that the
FetchLibraryscript is also installed (#7)
Full Chagelog
1.0.1
Fixes
- Fixes an issue where projects that used Zeus had to disable the tests for Zeus. Tests are now disabled by default.
- Fixes the name of the installed config file so it matches the version file. This allows specific versions of Zeus to be found.