All notable changes to project dev essential libraries will be documented here. For upcoming features and known issues see the bottom of this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- 1.3.1 | Changes | Fixes | Known issues | Release date: 2023/07/10
- 1.3.0 | Changes | Fixes | Known issues | Release date: 2022/11/29
- 1.2.2 | Changes | Fixes | Known issues | Release date: 2022/11/11
- 1.2.1 | Changes | Fixes | Known issues | Release date: 2022/08/12
- 1.2.0 | Changes | Fixes | Known issues | Release date: 2022/07/15
- 1.1.4 | Changes | Fixes | Known issues | Release date: 2022/05/20
- 1.1.3 | Changes | Fixes | Known issues | Release date: 2022/05/13
- 1.1.2 | Changes | Fixes | Known issues | Release date: 2022/03/04
- 1.1.1 | Changes | Fixes | Known issues | Release date: 2022/01/21
- 1.1.0 | Changes | Fixes | Known issues | Release date: 2021/10/14
- 1.0.0 | Changes | Fixes | Known issues | Release date: 2021/08/04
- Upcoming
- 5.8.0 | Changes | Fixes | Known issues | Release date: 2021/02/17
- 5.7.0 | Changes | Fixes | Known issues | Release date: 2020/05/20
- 5.6.1 | Changes | Fixes | Known issues | Release date: 2020/02/12
- 5.6.0 | Changes | Fixes | Known issues | Release date: 2019/09/06
- 5.5.0 | Changes | Fixes | Known issues | Release date: 2019/04/12
- 5.4.0 | Changes | Fixes | Known issues | Release date: 2018/11/07
- 5.3.0 | Changes | Fixes | Known issues | Release date: 2018/09/21
- 5.2.0 | Changes | Fixes | Known issues | Release date: 2018/03/30
- 5.1.0 | Changes | Fixes | Known issues | Release date: 2017/12/08
- 5.0.0 | Changes | Fixes | Known issues | Release date: 2017/09/01
- 4.6.0 | Changes | Fixes | Known issues | Release date: 2021/02/22
- 4.5.0 | Changes | Fixes | Known issues | Release date: 2020/05/25
- 4.4.1 | Changes | Fixes | Known issues | Release date: 2020/02/12
- 4.4.0 | Changes | Fixes | Known issues | Release date: 2019/09/06
- 4.3.0 | Changes | Fixes | Known issues | Release date: 2019/06/14
- 4.2.1 | Changes | Fixes | Known issues | Release date: 2019/03/19
- 4.2.0 | Changes | Fixes | Known issues | Release date: 2018/11/08
- 4.1.0 | Changes | Fixes | Known issues | Release date: 2018/06/30
- 4.0.0 | Changes | Fixes | Known issues | Release date: 2017/12/06
dev_essential 1.3.1 - 2023/07/10
Fixed
- CPPDEV-507 - [System]
a_util::system::Timer
crashes [view] [view] [view]- Fixes sporadically crashing timer
- Fixes timer in case of ONESHOT
- Fixes timer test for repeatedly calls
- CPPDEV-590 - [mapping] Test execution creates and deletes files in source tree [view]
- Creation of files moved to build folder
- CPPDEV-592 - [system] system_test.TestUsername fails when executed in Ubuntu 18.04 32 bit docker image [view]
- Runs commands in docker container as non-root
- CPPDEV-615 - [result,ddl] Using
min()/max()
in public headers might interfere with function like macros in Windows.h [view]- Fixes min/max macro expansion from "Windows.h" using parenthesis around the min/max function calls
- CPPDEV-617 - [ddl] Mapping language version interpreted as double [view]
- CPPDEV-619 - Known issues links in changelog contain useless information [view]
- CPPDEV-620 - [concurrency] Execution of
a_util::concurrency::semaphore
tests takes a long time [view] - CPPDEV-624 - [system]
a_util::system::AddressInfo
does not decrease the ref count of the referenced module (windows only) [view]- Fixes reference count for module handle
- CPPDEV-631 - MPL2.0 license notice is wrong [view]
- CPPDEV-636 - [DOC] Documentation contains false information (ongoing) [view] [view]
- CPPDEV-638 - [build] version file not exported to conan exports folder [view]
- version file is now exported to conan exports folder
- CPPDEV-639 - [ddl] Build error when cross building from "Windows:x86_64" to "Windows:x86" [view]
dev_essential 1.3.0 - 2022/11/29
Done
- CPPDEV-165 - [Result] Make
a_util::result::isOk()
self explaining and type safe - CPPDEV-178 - [system] Add functionality to query the file path of the binary a memory address is located in [view]
- Added
a_util::system::AddressInfo
class to query the file path of the binary the memory address is located in
- Added
- CPPDEV-535 - Update to conan version 1.48.2 and enable CONAN_V2_MODE
- Replaces build_requires with tool_requires [view]
- Removes short_paths attribute from conanfiles and uses environment variable
CONAN_USE_ALWAYS_SHORT_PATHS="True"
in Jenkinsfile instead [view] - Uses MPL-2.0 license (SPDX identifier) as value for license attribute [view]
- Adds homepage attribute [view]
- Removes deprecated settings arch_build and os_build attributes and sets the necessary settings in the Jenkinsfile instead [view]
- Removes attributes default_channel and default_user which can be passed on the command line when calling conan install/create [view]
- Enables CONAN_V2_MODE and fixes the warnings acccordingly [view]
- CPPDEV-514 - [ddl] Adapt
ddl::DDCompare
to deal with padding bytes [view]- Adapt
ddl::DDCompare::isBinaryEqual()
for padding bytes
- Adapt
- CPPDEV-544 - [build] Docker adjustments for Linux x86 packages [view]
- Adds an i386 Dockerfile for different gcc/conan versions
- Adds two new stages to Jenkinsfile using the dockerfile agent to build gcc5/7 32 bit variants
- CPPDEV-546 - [build] Update CMake version
- Replaces add_test() with gtest_discover_tests() [view]
- Adds
add_test()
usage check [view] - Uses
cmake_path()
over (deprecated)get_filename_components()
(requires at least CMake 3.20) [view] - Changes
gtest discover tests()
mode to PRE_TEST [view] - Uses
ctest --output-junit
to create junit xml file (requires at least CMake 3.21) [view]
- CPPDEV-574 - clipp available in dev essentials
- CPPDEV-581 - [preprocessor] Add macro to enable/disable deprecated warnings [view] [view]
- Adds
DEV_ESSENTIAL_DEPRECATED()
macro in new file a_util/preprocessor/deprecated.h - The deprecation of entities can be disabled by defining
DEV_ESSENTIAL_DEPRECATED_DISABLE_WARNINGS
- Adds "Deprecated section" in doxygen documentation
- Adds doxygen alias "@dev_essential_deprecated" to document deprecated entities
- Adds
- CPPDEV-598 - [rpc] Add possibility to handle non-RPC http requests [view]
- Added new virtual function that is passed all relevant HTTP request and response data
- CPPDEV-610 Append cmake/modules path to CMAKE_MODULE_PATH for downstream projects [view]
- Adds path <dev_essential_DIR>/cmake/modules to
CMAKE_MODULE_PATH
if component pkg_rpc is found by consuming project
- Adds path <dev_essential_DIR>/cmake/modules to
Won't Do
- CPPDEV-248 - Evaluate and - if possible - use argtable3 instead of
cCommandLine
for libjson-rpc-cpp- Already solved with CPPDEV-574
Fixed
- CPPDEV-524 - DDL specification documentation contains information about ADTF but not about streams [view]
- Added documentation for streams and a TOC for ddl chapters in documentation
- "ADTF" in documentation is now removed
- documentation for streams is added to the specification
- CPPDEV-560 - [build] clang-tidy default checks show findings [view]
- Found and fixed/silenced all default clang-tidy (10.0.0) findings
- CPPDEV-573 - Merge of incompatible DDL structs of the same name does not throw an exception [view]
- Added tests for merging of data definitions
- Fixed merging of different and incompatible StructTypes with the same name
- CPPDEV-586 - [base] Redefinition of
std::is_enum_v
if a_util/base/type_traits.h is compiled with clang -std=c++17 [view]- Fixes feature check for
std::is_enum_v
- Fixes feature check for
- CPPDEV-587 - [build] Different symbol visibility between standalone and integrated tests [view]
- Renamed file to set_symbol_visibility.cmake
- Included file scripts/cmake/set_symbol_visibility.cmake in standalone tests as well
- CPPDEV-589 - [ddl] Check for MSVC does not consider selected C++ language in ddl/utilities/dd_access_list.h [view]
- Adds library feature check for
std::string_view
- Uses the library feature check to correctly determine C++14/17 compliant compilers
- Adds library feature check for
- CPPDEV-609 Result description is missing for 32bit [view]
- Fixes result pointer cast for gcc x86
Duplicate
- CPPDEV-588 - [ddl] DD::StructureGenerator creates invalid DDL descriptions if used as global variable
- Fixed with CPPDEV-580 and released with dev_essential 1.2.1
Won't Do
- CPPDEV-602 - [rpc] static library compiled without -fPIC might cause coredumps on QNX when linked into a shared library
- No QNX release is scheduled for pkg_rpc anymore. However, a fix was provided in dev_essential 1.0.0 with issue CPPDEV-270.
dev_essential 1.2.2 - 2022/11/11
Fixed
- CPPDEV-604 - [ddl] DDL has performance problems within dependency management if many dependencies added [view]
- changed the datastructure within (hidden - deprecated) validationmodel to std::unordered_set<> (see CPPDEV-611)
- more time is "wasted" within typeinfo model while copying a StructType/DataType/EnumType from one DD to another DD
dev_essential 1.2.1 - 2022/08/12
Fixed
- CPPDEV-580 - [ddl] Static intializing order problem for all
ddl::dd::Version::ddl_version_*
used within other static variables [view] - CPPDEV-585 - [ddl] Wrong bit_size by
ddl::codec::CodecIndex::getIndexForArrayPos()
[view]
dev_essential 1.2.0 - 2022/07/15
Done
- CPPDEV-214 - Use clang-tidy as static code analyzer [view] [view]
- CPPDEV-217 - Add
a_util::ScopeGuard
class [view]- Adds scope guards based on Andrei Alexandrescu's talk "Declarative Control Flow"
- CPPDEV-306 - Enable TCP_NODELAY in httplib for faster RPC [view]
- CPPDEV-420 - [ddl] Merge StructLayout (of Codec API) and StructTypeAccess [view]
- CPPDEV-430 - [Tests] Create automated memory leak tests
- CPPDEV-456 - [filesystem] Refactor
a_util::filesystem::Path::getRoot()
to be consistent with std naming [view]- Deprecates
a_util::filesystem::Path::getRoot()
and addsa_util::filesystem::Path::getRootName()
anda_util::filesystem::Path::getRootPath()
- Deprecates
- CPPDEV-484 - [build] Decouple conan and CMake [view] [view]
- CPPDEV-493 - Provide common error codes and types [view]
- Introduces
enum a_util::errc
- Introduces
- CPPDEV-541 - [ddl] Extend type reflection API to support all optional DDL struct and element information [view]
- Extends
ddl::DDStructure
with methodsddl::DDStructure::setStructInfo()
ddl::DDStructure::setElementInfo()
ddl::DDStructure::setElementUnit()
- Extends
- CPPDEV-543 - [memory] Add
a_util::memory::makeStackPtr()
function equivalent tostd::make_unique
[view] - CPPDEV-548 - [ddl] Description files saved by the xml writer always follow the same pattern [view]
- CPPDEV-554 - [xml] Add possibility to sort xml nodes [view]
- Adds function overload
a_util::strings::replace()
and new methodsa_util::xml::DOMElement::sortNodes()
- Adds function overload
- CPPDEV-577 - Add a small LeafCodecIndex to raise performance for default decoding [view] [view]
- Introduces
ddl::codec::LeafCodecIndex
class for high performant ddl coder/decoder access - Introduces type traits file with the following function/types:
std::is_enum_v
andstd::void_t
as std backports only for non C++17 compliant compilersa_util::underlying_type_or_type
anda_util::underlying_type_or_type_t
a_util::is_explicitly_convertible_to
anda_util::is_explicitly_convertible_to_v
- Introduces
Won't Do
- CPPDEV-5 - Add Solution for old cFile (AUL-70)
- CPPDEV-85 - [concurrency] Implement method
semaphore::wait_until
- CPPDEV-107 - Add child process control functions
- CPPDEV-117 - Provide solution for further requirements regarding
a_util::process
- CPPDEV-118 - Array Support for As*-Methods of Variant
- CPPDEV-128 - Use
_nullptr
instead ofnullptr
in public headers - CPPDEV-134 - Cleanup usage of defines and preprocessor macros
- CPPDEV-146 - [process] Create possibility to interact with child process (stdIn)
- CPPDEV-264 - [DOC] Methods, Variables, Classes need documentation
- CPPDEV-387 - [ddl] Add Functionality to define 'aliases' to predefined data types in <datatypes/> section
- Superseded by CPPDEV-426
- CPPDEV-505 - Try sending RPC with SendRPCMessage in a predefined IP first
- CPPDEV-506 - Add a thread safe queue
Duplicate
- CPPDEV-173 - [process] Add functionality to resolve environment variables
- Duplicated by CPPDEV-108
- CPPDEV-249 - Change to new coding style and use clang tidy to convert user code
- Duplicates by CPPDEV-214
- CPPDEV-475 - Redesign of the
ddl::access_element
API and CodecFactory internal data to increase creation performance- Duplicated by CPPDEV-420
- CPPDEV-502 - Predefined error codes for cross-project use
- Duplicated by CPPDEV-493
- CPPDEV-551 - [ddl2header] Preserve ddl struct namespaces
- Duplicated by DDLUTILITY-111
Fixed
- CPPDEV-135 - [Result] Construction with 'ResultInfo' doesn't call desired constructor [view]
- Please note: This change might lead to compile time errors when using
_MAKE_RESULT()
with a value of0
in customer code. For hints how to fix/deactivate this behavior, consult the resulting compiler message.
- Please note: This change might lead to compile time errors when using
- CPPDEV-381 -
ddl::getType()
does not return a meaningful error message [view] - CPPDEV-509 - dev_essential cannot be built with clang 10.0.0 and mingw32 frontend [view]
- CPPDEV-512 - [ddl] compare for enums does not check for equivalence [view]
- CPPDEV-571 - [build] No SCA stage for develop branch executed [view]
- CPPDEV-575 - threaded_http_server doesn't wait for detached threads on call to StopListening [view]
Won't Do
- CPPDEV-233 - [HTTP Parser] The used http parser is too minimal
- Fixed with CPPDEV-250
- CPPDEV-565 - [ddl] TesterOODDL::checkTypeCalculationPerformance test fails for gcc5 and gcc7
- Fixed with CPPDEV-420
dev_essential 1.1.4 - 2022/05/20
Fixed
- CPPDEV-568 - [ddl] TypeAccessList within 1.1.3 is not compatible with 1.1.2 [view]
dev_essential 1.1.3 - 2022/05/13
Fixed
- CPPDEV-539 - [ddl] ElementTypeInfo will not be updated if add is used and has performance problem [view]
- CPPDEV-545 - [Variant] Move construction and move assignment very slow [view]
- CPPDEV-550 - [ddl] If a predefined type is used in enum the ValidationInfo will not be created
dev_essential 1.1.2 - 2022/03/04
Fixed
- CPPDEV-540 - [ddl] Performance collapse due to DDFromXMLFactory::isInteger change [view]
dev_essential 1.1.1 - 2022/01/21
Won't Do
- CPPDEV-203 - [build] Evaluate dl linker option --exclude-libs to hide symbols of linked static libraries
- Fixed with CPPDEV-515
Fixed
- CPPDEV-312 - [rpc] httplib crashes when it receives an https request [view]
- CPPDEV-511 - [ddl] Loading of description file leads to Segfault error on Linux [view]
- CPPDEV-515 - [build] GCC default symbol visibility might lead to multiple defined symbols in shared libraries [view]
- CPPDEV-517 - [build]
CMAKE_SOURCE_DIR
points to wrong folder when integrating dev_essential into ConanWorkspace build [view] - CPPDEV-522 - [ddl] static constexpr variables might violate the ODR if linked by C++17 built downstream project [view]
- CPPDEV-523 - [ddl] DDL documentation defective [view]
- CPPDEV-530 - [rpc] httpclient does not read full response body [view]
- CPPDEV-532 - [ddl] Static Singleton factory in header leads to problem in gcc 7 [view]
dev_essential 1.1.0 - 2021/10/14
Done
- CPPDEV-460 - [ddl_capi] Move DDL C-API to fep dev_essential
- See CPPDEV-476
- CPPDEV-465 - [build] Comply to C++ Core Guidelines SF.12 rule [view]
- CPPDEV-474 - [ddl] DDL TypeReflection - Extend detection of missing elements by adding padding bytes automatically [view]
- CPPDEV-476 - [ddl_capi] Integrate ddl-c-api into top level directory of a_util [view]
- CPPDEV-481 - [build] Provide conditional clang-format SCA tester in CI [view]
- CPPDEV-483 - [build] Add baseline check to Jenkinsfile [view]
- CPPDEV-485 - [memory] Support alignment specification for
a_util::memory::StackPtr
[view] - CPPDEV-488 - [ddl] Possibility to create a description only with pre-defined data types [view]
- CPPDEV-489 - [build] Provide single source of truth for product version [view]
- CPPDEV-491 - [ddl] DDL Mapping Engine does not forward the correct time while using "data" or "signal" as trigger type [view]
- CPPDEV-492 - [regex] Use
std::regex
for implementation ofa_util::regex
functionality [view] - CPPDEV-498 - [ddl] DDL TypeReflection - Add a dedicated validate function to the
DDStructureGenerator
[view]
Won't Do
- CPPDEV-380 - [ddl] Remove DDLCompareFunctor and use lambdas where necessary
- File deleted in 2d5bd295a87 in issue CPPDEV-431
- CPPDEV-382 - [ddl] Add missing documentation to header file
- DDLImporter has been deleted with commit 2d5bd295a87 in CPPDEV-431
- CPPDEV-401 - [ddl] Cleanup copy and move semantics
- Superseded by issue CPPDEV-431 which removed almost all classes in question
- CPPDEV-403 - [header2ddl] Use abstract syntax tree to generate description file
- Superseded by DDLUTILITY-101
Duplicate
- CPPDEV-429 - [build] Extend Conan Pkg Info in ddl
- DDL integrated into dev_essential, so it will be done together with CPPDEV-190
Fixed
- CPPDEV-453 - [concurrency] a_util/concurency.h brings windows includes in scope and destroys APIs [view] [view]
- CPPDEV-458 - [system] Leftover ADTF include emits compiler error under
__APPLE__
[view] - CPPDEV-480 - [build] Self-contained header tester takes a long time to complete [view] [view]
- CPPDEV-486 - [ddl] Typo in dd_predefined_datatypes.h prevents creating DataType int8_t [view] [view]
- CPPDEV-487 - [result] nativs file only installed for MSVC [view]
- CPPDEV-496 - [xml] pugixml in a_util_xml causes linker problems when using a pugixml in a derivated work [view]
- CPPDEV-497 - [ddl] The CTOR with elements of
DDEnumGenerator<T>
has a problem if type is not arithmetic [view] - CPPDEV-500 - [build] Compiler error when building with gcc >= 8.x [view]
Won't Do
- CPPDEV-343 - [ddlinspector] Duplicated types if renamed and merged
- Fixed with redesign of OO DDL in issue CPPDEV-431
Cannot Reproduce
- CPPDEV-490 - [ddl]
ddl::dd::StructType::Element::getNumBits()
returns zero forDataTypes
, also if size is set in ddl file
dev_essential 1.0.0 - 2021/08/04
- CPPDEV-79 - [Result] Enable usage of error description objects with static storage
- CPPDEV-270 - Enable position independent code and position independent executables
- CPPDEV-301 - [build] Elevate compiler warning levels for all util components
- CPPDEV-302 - [build] Fix all compiler warnings and set compiler warnings as errors
- CPPDEV-313 - Integrate cdpkgrpc master and tags into a_util repository
- CPPDEV-314 - Integrate cdddl master and tags into a_util repository
- CPPDEV-385 - Move or copy DDL description generation code from ADTF 3 to DDL Library
- CPPDEV-405 - Add type reflection API to the DDL Library
- CPPDEV-423 - Improve XML Data Model and DDL Parser
- CPPDEV-431 -
Redesign OO DDL Description API (Data Model + API)
- Breaking change: The deprecated
ddl::DDLDescription
API has been replaced with the DDL DataDefinition. Customer code using the deprecatedddl::DDLDescription
needs to be rewritten accordingly.
- Breaking change: The deprecated
- CPPDEV-451 - Integrate cdpkgrpc into top level directory of a_util
- CPPDEV-459 - Provide ddl, pkg_rpc and a_util as dev_essential package version 1.0.0
- CPPDEV-461 - Integrate cdddl into top level directory of a_util
- CPPDEV-462 - Update license disclaimers to MPL2.0 and VW Group copyright
- CPPDEV-463 - [BuildSystem] Add Linux_x64_gcc7, Linux_armv8_gcc7, and Windows_x64_vc142_VS2019 profile
- CPPDEV-468 - [BuildSystem] Provide Release builds for additional platforms
- CPPDEV-471 - [BuildSystem] Provide updated build information in README.md
- CPPDEV-472 - Remove ddl2header and header2ddl
- CPPDEV-454 -
[filesystem]
a_util::filesytem::Path::makeRelative()
fails if any path contains ".." - CPPDEV-464 - remove / access for DDL internal datastructures type_access_list, type_access_map are not working correctly
- CPPDEV-467 - If removing a struct_type which is used in another type the validation model will crash
- CPPDEV-470 - Mapping Configuration for invalid file will crash
- CPPDEV-473 - Codec: serialized and deserialized offsets of structures in array elements are not evaluated right
a_util 5.8.0 - 2021/02/17
- CPPDEV-125 -
Provide component
a_util::result
header-only and deploy as single library- Starting from this release, the Result component can be built and deployed as own header-only
package. To require the package, conan reference
a_util_result/5.8.0@fep/stable
can be used. Changes tofind_package(a_util ...)
calls are not required.
- Starting from this release, the Result component can be built and deployed as own header-only
package. To require the package, conan reference
- CPPDEV-175 -
[memory] Add support for
std::make_unique()
for pre C++14 compilers- This introduces backport implementations
a_util::memory::make_unique()
- This introduces backport implementations
- CPPDEV-188 - [build] Use native GTest and CMake functionality
- CPPDEV-191 -
[filesystem] Compare content of two files
- This introduces new functions
a_util::filesystem::compareFiles()
- This introduces new functions
- CPPDEV-196 -
Use user "fep" instead of "aev25" in package references of the conan recipes
- Starting from this release, a_util packages can be required with the conan reference
a_util/<version>@fep/<channel>
, e.g.a_util/5.8.0@fep/stable
.
- Starting from this release, a_util packages can be required with the conan reference
- CPPDEV-199 - Add .clang-format file and apply ruleset on C++ codebase
- CPPDEV-200 -
Add preprocessor component to a_util library
- This adds the new component
a_util::preprocessor
for basic preprocessor functionality
- This adds the new component
- CPPDEV-205 - [build] Provide packages for missing new profiles
- CPPDEV-206 - [build] Define and apply whitespace settings in .gitattributes file
- CPPDEV-208 - [build] Generate API documentation using CoRTEXDocumentationHelper with doxygen
- CPPDEV-219 - [build] License information of dependencies must be part of the package
- CPPDEV-300 - [documentation] Provide easier access and better overview for API documentation
- CPPDEV-122 - [variant] Copy Constructor does not correctly copy array values
- CPPDEV-174 - Product name in wiki does not match delivery
- CPPDEV-181 - [cmake] Redundant include directories and link libraries defined by targets
- CPPDEV-204 - [result] Functional test "result_type_from_lib_test" runs the wrong executable
- CPPDEV-207 - [build] Missing includes for VS2019 vc142
- CPPDEV-209 -
[filesystem]
a_util::filesystem::Path::makeRelative()
fails for Root - CPPDEV-211 - [build] Conan recipes not compatible with conan versions >1.16.2
- CPPDEV-212 - [result] Exported CMake config does not work for either 32 bit or 64 bit architectures
- CPPDEV-215 - [build] Packaged CMake target 'a_util' not part of export set
a_util 5.7.0 - 2020/05/20
- CPPDEV-76 - [filesystem] Provide means to convert absolute to relative paths and vice versa
- CPPDEV-93 - [system] Get path to executable in currently running process
- CPPDEV-124 - [filesystem] Appending arbitrary strings to basenames of paths
- CPPDEV-138 -
[filesystem]
operator<<
required fora_util::filesystem::Path
- CPPDEV-161 - [build] Generate documentation using conan
- CPPDEV-176 - [build] Use the newly defined profiles as base for the delivery packages
- CPPDEV-182 - [build] All public header files need to be self contained
- CPPDEV-183 - [documentation] Provide thorough documentation for the public API
a_util 5.6.1 - 2020/02/12
- CPPDEV-163 - Extend Jenkinsfile for cross platform build of QNX target on Windows host
- CPPDEV-105 - [Result] Warning "unreferenced formal parameter" arises when including result_type_impl.h
- CPPDEV-157 - [BuildSystem] Language standard C++11 is not propagated
- CPPDEV-168 - [Result] Macros cannot be used with a closing semicolon without compiler warning
- CPPDEV-169 -
Function findNode of dom.h raises
-Werror=comment
warning on gcc
a_util 5.6.0 - 2019/09/06
- CPPDEV-139 - Implement new license mechanism in a_util
- CPPDEV-150 - Add Conan recipe and Jenkinsfile to support Jenkins Multibranch Pipeline jobs
- CPPDEV-155 - [BuildSystem] Change names of delivered library (*.lib and *.a) files
- CPPDEV-142 - [memory] new allocated buffer is not nullified
- CPPDEV-149 -
[system]
getCurrentUserName()
doesn't work correctly when running on QNX - CPPDEV-160 - [log] log.h file is not self contained
a_util 5.5.0 - 2019/04/12
- CPPDEV-119 - Porting to SCALEXIO QNX
- CPPDEV-121 - Remove C++11 compatibility code
- Breaking change: Compilers without C++11 support are not supported anymore. Please check the supported compiler section in the documentation.
- CPPDEV-123 - Include the Open Source Disclaimer to the package
- CPPDEV-131 - Add install complete reference files
- CPPDEV-126 -
Use of plain signature of
target_link_libraries
on test targets leads to CMake error during configuration - CPPDEV-129 - [Changelog] "Known Issues" use the wrong query
- CPPDEV-133 -
Usage of gtest and gtest_main instead of
GTest::GTest
andGTest::Main
as link libraries leads to linker errors
a_util 5.4.0 - 2018/11/07
- CPPDEV-115 -
[common] Remove ADPL and add MPL 2.0 License
- since the ADPL license is NOT compatible with the terms and conditions of the GPLv3 we will now distribute the A Util library under the common MPL 2.0 (Mozilla Public License 2.0). This will allow to reuse the library under GPLv3.
a_util 5.3.0 - 2018/09/21
- CPPDEV-94 -
[parser] Add basic functionality to parse comma separated value (CSV) files
- New component
a_util::parser
added with initial implementation to read comma separated value (*.csv) files - Usage:
find_package(a_util COMPONENTS csv_reader)
includes the csv reader into the current projecttarget_link_libraries(myProject a_util_csv_reader)
might be used to link against the library- #include "a_util/parser.h" includes the parser API into your current source file
- New component
- CPPDEV-103 -
[process] Add a component for process control
- New component
a_util::process
added with initial implementations to run executables within a new process as well as retrieve the current process id - Usage:
find_package(a_util COMPONENTS process)
includes the process component into the current projecttarget_link_libraries(myProject a_util_process)
might be used to link against the library- #include "a_util/process.h" includes the process API into your current source file
- New component
- CPPDEV-108 - [process] Add reading and writing environment variables to the process
- CPPDEV-109 - Changelog must provide more and better readable information
- CPPDEV-99 - Make odautil compiles out of the box
- CPPDEV-101 -
[CMAKE] Could not call
find_package(a_util COMPONENTS ...)
more than one time- Important note: This encourages the usage of CMake package components to include the wanted
a_util components into projects. So instead of writing
find_package(a_util_strings)
we encourage you to writefind_package(a_util COMPONENTS strings)
- Important note: This encourages the usage of CMake package components to include the wanted
a_util components into projects. So instead of writing
a_util 5.2.0 - 2018/03/30
- CPPDEV-3 -
Add Solution for old cCommandLine (AUL-69)
- Clara v1.1.2 was added as 3rdparty command line tool (C++11 and above required)
- Usage: After a successful
find_package(a_util)
consuming projects may first callfind_package(Clara)
followed by atarget_link_libraries(myLibrary Clara)
. Afterwards, Clara can be used as documented on its project page
- CPPDEV-77 -
[DateTime] Timestamps must be generated with reference to Julian Time or Unix Time
enum TimeStampReference
may be used to choose the wanted behavior in methodsDateTime::set
andDateTime::toTimestamp
- CPPDEV-95 -
Use googletest functionality provided by CMake command
find_package(GTest)
- CPPDEV-98 - Add changelog file and initially start documenting changes for version 5.2.0
- CPPDEV-81 -
Semaphore::wait_for
loops forever if timeout is too big - CPPDEV-90 -
[DateTime] Scoped enums and
std::chrono
don't compile with pre-C++11 gcc compilers - CPPDEV-97 -
[base] CMake
configure_file()
must not generate config.h into source tree
a_util 5.1.0 - 2017/12/08
- CPPDEV-61 - [Result] Add debug helper for Visual Studio 2012+ (.natvis file) (AUL-65)
- CPPDEV-68 - Remove googletest as 3rdparty dependency (AUL-68)
- CPPDEV-72 - Add ADPL License Info to all artefact (Header, CPPs)
- CPPDEV-73 - Automatically set C++ standard to the platform maximum
- CPPDEV-75 -
Add try_wait method to
a_util::concurrency::semaphore
class
- CPPDEV-10 - Thread detach() test can fail due to race condition (AUL-67)
- CPPDEV-66 - StackPtr Test crashes on U1604_x64_gcc54 (AUL-66)
a_util 5.0.0 - 2017/09/01
- CPPDEV-12 - Fix Timer by rewriting Thread (AUL-63)
- CPPDEV-14 - [XML] Provide functionality to check for empty DOM and DOMElement objects (AUL-61)
- CPPDEV-15 - Split API and implementation of header only libraries into separate files (AUL-60)
- CPPDEV-16 - Apply style guidelines (AUL-57)
- CPPDEV-17 - [Base] Provide static_assert() backport (AUL-56)
- CPPDEV-20 - Test result output path must be configurable in integrated build scenario (AUL-53)
- CPPDEV-21 - Adapt API to updated style guidelines (AUL-51)
- CPPDEV-22 - Improve DOM FindNodes performance (AUL-50)
- CPPDEV-26 - Create a_util_base component (AUL-46)
- CPPDEV-29 - Provide interface target pulling in all AUL components at once (AUL-42)
- CPPDEV-32 - Provide mechanism to generate GUIDs (AUL-38)
- CPPDEV-33 - Provide support for high resolution timing on all platforms (AUL-37)
- CPPDEV-34 - Provide access to hostname (AUL-36)
- CPPDEV-35 - Disallow deleted CCTORS and assignment operators in concurrency fallback classes (AUL-35)
- CPPDEV-37 - [Base] Implement nullptr fallback for compilers not providing an implementation (AUL-33)
- CPPDEV-38 - Add basic semaphore implementation (AUL-32)
- CPPDEV-40 - Add missing string functionality (AUL-30)
- CPPDEV-41 - [Result] Port tResult and error handling mechanism from a_util 4 (AUL-29)
- CPPDEV-42 -
a_util::memory::MemoryBuffer
must support wrapping non-owned memory (AUL-28) - CPPDEV-43 -
a_util::filesystem
has to have a rename or move function (AUL-27) - CPPDEV-44 -
extend
a_util::memory
for a mem_zero (AUL-26) - CPPDEV-45 -
Add copy functionality to
a_util::strings
(AUL-25) - CPPDEV-46 - [System] Provide periodic timer - {Redmine #38883} (AUL-24)
- CPPDEV-47 - [System] Provide access to system API - {Redmine #37454} (AUL-22)
- CPPDEV-48 - [Filesystem] Provide support for filesytem access - {Redmine #37451} (AUL-20)
- CPPDEV-49 - [Chrono] Provide date and time functionality - {Redmine #37446} (AUL-19)
- CPPDEV-50 - [Regex] Provide support for regular expressions - {Redmine #37432} (AUL-18)
- CPPDEV-51 - [Logging] Provide infrastructure for application logging - {Redmine #37426} (AUL-17)
- CPPDEV-52 - [Variant] Provide wrapper to store arbitrary data types - {Redmine #37424} (AUL-16)
- CPPDEV-53 -
[Strings] Provide extended functionality for
std::string
and C-style strings - {Redmine #37423} (AUL-15) - CPPDEV-54 - [XML] Implement XML API - {Redmine #37350} (AUL-13)
- CPPDEV-55 - [cmake] Enable a_util_library to be usable as CMake package - {Redmine #37301} (AUL-12)
- CPPDEV-56 - Provide solution for last system error (AUL-11)
- CPPDEV-57 - [PortableTypes] Provide portable base types for all supported platforms - {Redmine #37352} (AUL-10)
- CPPDEV-58 - Enable doxygen documentation (AUL-3)
- CPPDEV-62 - [cmake] Naming convention of target libraries must reflect their platform dependence and build type - {Redmine #37994} (AUL-23)
- CPPDEV-63 - [Memory] Provide support for handling raw memory - {Redmine #37452} (AUL-21)
- CPPDEV-64 - [Memory] Provide smart pointer implementations for platforms not providing them - {Redmine #37353} (AUL-14)
- CPPDEV-65 - [Concurrency] Provide threading and synchronization mechanisms - {Redmine #38652} (AUL-4)
- CPPDEV-70 -
Provide means to make canonical paths in
a_util::filesystem
(AUL-43) - CPPDEV-71 - Provide fallback for C++11 type traits (AUL-41)
- CPPDEV-13 - [Result] Error definitions must not pollute the global namespace (AUL-62)
- CPPDEV-18 - System error test fails on Windows 7 / Visual Studio 2010 (AUL-55)
- CPPDEV-23 -
concurrency::thread::detach
crashes on fallback platforms (AUL-49) - CPPDEV-24 -
[Test] Overwrite
add_test()
macro instead of providing wrapperadd_util_test()
(AUL-48) - CPPDEV-25 - [Test] Fix disabled installation of googletest (AUL-47)
- CPPDEV-31 - [Testing] Setting an alternative working directory (AUL-39)
- CPPDEV-36 - [Testing] Remove link dependency to a_util_filesystem for test targets (AUL-34)
- CPPDEV-39 -
a_util::variant::Variant
CCTOR doesn't properly copy strings (AUL-31)
ddl library 4.6.0 - 2021/02/22
- CDDDL-116 - [Header2DDL] Types of hexadecimal values in enums must be interpreted as underlying type
- CDDDL-117 - [Header2DDL] Basic preprocessor functionality needs to be implemented
- CDDDL-118 - [Header2DDL] Basic arithmetic operation of constant integers must be implemented
- CDDDL-132 - Use user "fep" instead of "aev25" in package references of the conan recipes
- CDDDL-136 - [build] Define and apply whitespace settings in .gitattributes file
- CDDDL-140 - [build] Use native GTest and CMake functionality
- CDDDL-141 - [build] Generate API documentation using CoRTEXDocumentationHelper with doxygen
- CDDDL-142 - [build] Restructure files and folders in source tree compliant to common configuration management
- CDDDL-146 - Add .clang-format file and apply ruleset on C++ codebase
- CDDDL-155 - [test] Use more fitting test macros
- CDDDL-60 - Make cdddl compiles out of the box
- CDDDL-97 - [ddlcontainer] Segmentation fault on linux during deleteAll()
- CDDDL-98 - [build] Mutual dependency between conan recipe and CMake build automation of 'list_used_licenses.md.in'
- CDDDL-126 - [ddl2header] Test fixture cTesterddlgeneratorCmdLine fails on platforms using gcc
- CDDDL-134 - [build] Unresolved symbols after making parts of a_util_result header-only
- CDDDL-138 - [build] Conan recipes not compatible with conan versions >1.16.2
- CDDDL-139 - [ddl2header] Might crash with --struct command line option
- CDDDL-153 - [Mapping] Possible null pointer exception
ddl library 4.5.0 - 2020/05/25
- CDDDL-123 - Use the newly defined profiles as base for the delivery packages
- CDDDL-126 - [build] Build errors after update to a_util 5.7.0
ddl library 4.4.1 - 2020/02/12
- CDDDL-111 - Extend Jenkinsfile for cross platform build of QNX target on Windows host
- CDDDL-119 -
Missing semicolons when using a_util
_MAKE_ERROR
lead to error during compile time
ddl library 4.4.0 - 2019/09/06
- CDDDL-85 - Implement new license mechanism in ddl
- CDDDL-89 - Implement valid copy and move semantics
- CDDDL-99 - Add conan recipe and Jenkinsfile to repository
- CDDDL-102 - [BuildSystem] Change names of delivered libraries (*.lib and *.a) files
- CDDDL-92 - Missing merge of CDDDL-56 into master
- CDDDL-103 - [BuildSystem] Language standard C++11 is not propagated
ddl library 4.3.0 - 2019/06/14
- CDDDL-74 - [Test] Normalize AEV_TEST macro to standard GoogleTest macro
- CDDDL-81 -
[Test] Exchange
aev_add_gtest()
with ordinary CMake command `add_test()`` - CDDDL-82 - Porting to QNX
- CDDDL-84 - Add reference files for tester install complete to verify DDL Library package
- CDDDL-65 - [ddlrepresentation] cannot rename sorted DDLContainer item
- CDDDL-67 - [ddlinspector] Min/max values for tBool hold literals instead of numeric values
- CDDDL-70 - [DDLDescription] Default min+max values for tInt8 and tUInt8 are not numbers
- CDDDL-71 - [DDLCloner] Check for memory leak in cDDLCloner
- CDDDL-75 - [ddlinspector] Default value of a structure element without bounding limits is not compared with datatype bounding limits
ddl library 4.2.1 - 2019/03/19
- CDDDL-77 - DDLResolver uses current date and time in generated description
ddl library 4.2.0 - 2018/11/08
- CDDDL-64 - DDL version migrate cmake makro throws warnings
ddl library 4.1.0 - 2018/06/30
- CDDDL-15 - Change Version Variable of OO DDL from Floating to a struct Major/Minor
- CDDDL-16 - Change to new Coding Style
- CDDDL-17 - Reenable Documentation creation
- CDDDL-24 - Unify commandline arguments with other utilities - commandline tooling must use --my_parameter (corresponding -mp)
- CDDDL-34 - [DOC] DDL Documentation must use Markdown format and the content must be updated
- CDDDL-39 - Create clang-tidy script for porting usercode from 4.0 to 4.1
- CDDDL-44 - [Mapping] Add method to mapping engine to check whether a signal has any triggers
- CDDDL-45 - Add simple possibility to identify dynamic arrays
- CDDDL-46 - [DDLInspector] Invalid numbers containing multiple '.' must be detected and corrected
- CDDDL-48 - Check const correctness of DDL Library
- CDDDL-35 -
cDDLImporter uses
ArraySizeSource
wrong - CDDDL-36 - cDDLCloner cannot clone FEP Driver DDL
- CDDDL-41 - [DDL] Type names containing '/' are not supported
ddl library 4.0.0 - 2017/12/06
Shows the upcoming features.