Skip to content

Latest commit

 

History

History
1434 lines (1263 loc) · 94 KB

changelog.md

File metadata and controls

1434 lines (1263 loc) · 94 KB

Dev essential changelog

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.

Version history

dev_essential 1.3.1 - 2023/07/10

Fixes

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

Changes

Done

  • CPPDEV-165 - [Result] Make a_util::result::isOk() self explaining and type safe
    • Adds explicit bool conversion operator with a_util::result::Result::operator bool() [view]
    • Deprecates a_util::result::isOk() and a_util::result::isFailed() [view]
  • 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
  • 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
  • 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
    • Adds clipp 1.2.3 to 3rdparty components [view]
    • Adds clipp find script to scripts/cmake/modules [view]
    • Adds clipp tests as private 3rdparty tests [view] [view]
    • Removes clara which is replaced by clipp [view]
    • Adds acceptance tests for stubgenerator [view]
    • Replaces cCommandLine with clipp [view]
  • 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
  • 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

Won't Do

Fixes

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
  • 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
  • CPPDEV-609 Result description is missing for 32bit [view]
    • Fixes result pointer cast for gcc x86

Duplicate

Won't Do

  • CPPDEV-602 - [rpc] static library compiled without -fPIC might cause coredumps on QNX when linked into a shared library

dev_essential 1.2.2 - 2022/11/11

Fixes

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

Fixes

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

Changes

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 adds
      • a_util::filesystem::Path::getRootName() and
      • a_util::filesystem::Path::getRootPath()
  • CPPDEV-484 - [build] Decouple conan and CMake [view] [view]
  • CPPDEV-493 - Provide common error codes and types [view]
    • Introduces enum a_util::errc
  • CPPDEV-541 - [ddl] Extend type reflection API to support all optional DDL struct and element information [view]
    • Extends ddl::DDStructure with methods
      • ddl::DDStructure::setStructInfo()
      • ddl::DDStructure::setElementInfo()
      • ddl::DDStructure::setElementUnit()
  • CPPDEV-543 - [memory] Add a_util::memory::makeStackPtr() function equivalent to std::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 methods a_util::xml::DOMElement::sortNodes()
  • 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 and std::void_t as std backports only for non C++17 compliant compilers
      • a_util::underlying_type_or_type and a_util::underlying_type_or_type_t
      • a_util::is_explicitly_convertible_to and a_util::is_explicitly_convertible_to_v

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 of nullptr 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
  • CPPDEV-505 - Try sending RPC with SendRPCMessage in a predefined IP first
  • CPPDEV-506 - Add a thread safe queue

Duplicate

Fixes

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 of 0 in customer code. For hints how to fix/deactivate this behavior, consult the resulting compiler message.
  • 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
  • CPPDEV-565 - [ddl] TesterOODDL::checkTypeCalculationPerformance test fails for gcc5 and gcc7

dev_essential 1.1.4 - 2022/05/20

Fixes

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

Fixes

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

Fixes

Fixed

  • CPPDEV-540 - [ddl] Performance collapse due to DDFromXMLFactory::isInteger change [view]

dev_essential 1.1.1 - 2022/01/21

Changes

Won't Do

  • CPPDEV-203 - [build] Evaluate dl linker option --exclude-libs to hide symbols of linked static libraries

Fixes

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

Changes

Done

  • CPPDEV-460 - [ddl_capi] Move DDL C-API to fep dev_essential
  • 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 of a_util::regex functionality [view]
  • CPPDEV-498 - [ddl] DDL TypeReflection - Add a dedicated validate function to the DDStructureGenerator [view]

Won't Do

Duplicate

  • CPPDEV-429 - [build] Extend Conan Pkg Info in ddl
    • DDL integrated into dev_essential, so it will be done together with CPPDEV-190

Fixes

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 for DataTypes, also if size is set in ddl file

dev_essential 1.0.0 - 2021/08/04

> _**This release is the successor of a_util, ddl library and pkg_rpc, merging all three libraries > into one repository.**_

Changes

  • 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 deprecated ddl::DDLDescription needs to be rewritten accordingly.
  • 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
    • The successors of those tools will be available as part of the DDL Utilities. See here and here for details.

Fixes

  • 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

Utility library

a_util 5.8.0 - 2021/02/17

> _**Important note for users updating their downstream projects to this version:**_ > > Some of the implementation details of component _Result_ had to be made public and are part of the > users code now. This results in a change of exported symbols in the delivered binary. To prevent > linker errors due to missing symbols recompiling and relinking against the a\_util 5.8.0 is > necessary.

Changes

  • 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 to find_package(a_util ...) calls are not required.
  • CPPDEV-175 - [memory] Add support for std::make_unique() for pre C++14 compilers
    • This introduces backport implementations a_util::memory::make_unique()
  • 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()
  • 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.
  • 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
  • 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

Fixes

  • 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

> _**Important note for users updating to this version:**_ > > If you encounter any link errors due to unresolved symbols or any build errors due to missing > or unknown types, please consult the documentation of the types and functions in question about > the correct components to link and headers to include. > > Those errors may be raised due to fixes and clean up of includes and linked libraries, but will > not break any other existing code.

Changes

  • 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 for a_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

Changes

  • CPPDEV-163 - Extend Jenkinsfile for cross platform build of QNX target on Windows host

Fixes

  • 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

Changes

  • 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

Fixes

  • 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

Changes

  • 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.

Tasks

  • CPPDEV-123 - Include the Open Source Disclaimer to the package
  • CPPDEV-131 - Add install complete reference files

Fixes

  • 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 and GTest::Main as link libraries leads to linker errors

a_util 5.4.0 - 2018/11/07

Changes

  • 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

Changes

  • 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 project
      • target_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
  • 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 project
      • target_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
  • CPPDEV-108 - [process] Add reading and writing environment variables to the process
  • CPPDEV-109 - Changelog must provide more and better readable information

Fixes

  • 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 write find_package(a_util COMPONENTS strings)

a_util 5.2.0 - 2018/03/30

Changes

  • 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 call find_package(Clara) followed by a target_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 methods DateTime::set and DateTime::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

Fixes

  • 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

Changes

  • 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

Fixes

  • 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

Changes

  • 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)

Fixes

  • 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 wrapper add_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

ddl library 4.6.0 - 2021/02/22

Changes

  • 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

Fixes

  • 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

Changes

  • CDDDL-123 - Use the newly defined profiles as base for the delivery packages

Fixes

  • CDDDL-126 - [build] Build errors after update to a_util 5.7.0

ddl library 4.4.1 - 2020/02/12

Changes

  • CDDDL-111 - Extend Jenkinsfile for cross platform build of QNX target on Windows host

Fixes

  • CDDDL-119 - Missing semicolons when using a_util _MAKE_ERROR lead to error during compile time

ddl library 4.4.0 - 2019/09/06

Changes

  • 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

Fixes

  • 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

Changes

  • 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

Fixes

  • 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

Fixes

  • CDDDL-77 - DDLResolver uses current date and time in generated description

ddl library 4.2.0 - 2018/11/08

Changes

  • CDDDL-61 - Create XSDs for DDL 3 and 4
  • CDDDL-62 - Remove ADPL and add MPL 2.0 License

Fixes

  • CDDDL-64 - DDL version migrate cmake makro throws warnings

ddl library 4.1.0 - 2018/06/30

Changes

  • 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

Fixes

  • 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

Changes

Fixes

Shows the upcoming features.