Dev Essential
Loading...
Searching...
No Matches
Release Notes

Version History

1.6.3

  • Fix build with include of Windows.h without NOMINMAX

1.6.2

  • Fix string to numeric conversions for negative hexadecimal, octal and binary numbers

1.6.1

  • Conan 2.x compatible public recipe

1.6.0

  • Add API for direct construction of LeafCodecIndex from StructElementAccess
  • Add forEachElementInfix API for callback based iteration of entire StructTypeAccess
  • Add forEachElementInPathInfix API for callback based traversal of a path of StructTypeAccess
  • Speedup navigation by name in StructTypeAccess
  • Speedup navigation by name in CodecFactory
  • Allow relative navigation from CodecIndex in CodecFactory and related codecs

1.5.6

  • Speedup DDL parsing and generation

1.5.5

  • Precise Windows 11 compatibility

1.5.4

  • Fix invalid bytepos calculation on serialized leaf codec index with bitpos != 0

1.5.3

  • Fix missing include of cstdint

1.5.2

  • Add support for binary string to numeric conversions via 0b prefix

1.5.1

  • Fix heap corrupted data structures after DDL element renaming
  • Repair createElement() overload

1.5.0

  • Remove of default value DataRepresentation::deserialized for representation parameter within LeafCodecIndex CTOR
  • This will break code compatibility, but was important because it caused an excessive number of bugs due to incorrect usage!
  • Support additional time strategies in mapping engine
  • trigger: Sets the target trigger update time to the trigger time point itself (default)
  • first_in_config: Sets the target trigger update time to the first source value time in list of the assignments
  • latest: Sets the target trigger update time to the latest source value time of the assignments
  • earliest: Sets the target trigger update time to the earliest source value time of the assignments
  • Improve the add() and emplace() exceptions of TypeAccessMap and TypeAccessList
  • Fill cpp_info.libs in package_info

1.4.6

  • Repair 1.4.x tree

1.4.5

  • Fix abnormal termination from RPC server if open file handles exceed 1024

1.4.4

  • Fix socket handle corruption on RPC server shutdown
  • Correct use of TCP_NODELAY and buffering in httplib for faster RPC

1.4.3

  • Integrate a local independent string to number (floating-point) conversion

1.4.2

  • Correctly handle out-of-order serialized types
  • Paths will be resolved correctly
  • Prevent SIGPIPE triggered by httplib on linux
  • Repair RefUnit usage with and without prefix

1.4.1

  • The iterator (codec index) references the layout of the whole array
  • Hotfix for equal operator when adding a structure with same name

1.4.0

  • Remove ddl C API implementation - it is not supported anymore !
  • Remove deprecated typeinfo and validationmodel from public API
  • Add support for merging/loading of incomplete DDL files
  • Order of elements in DDEnum must be stable when serialized to xml
  • Redesign mapping engine - Mapping 2.0
  • Wrong documentation for DDL version and linked XSDs
  • Array handling and full struct type copy in getRawValue() implementations (serialized/deserialized) is unfinished
  • a_util::process::execute() doesn't work correctly with paths containing whitespaces
  • AddressInfo does not decrease the ref count of the referenced module (windows only)
  • Mapping language version interpreted as double
  • dev_essential::system target uses pthread in linux but does not publish link dependencies
  • ddl::CodecIndex constructors are re-allocating far too often
  • ddl API - Exception messages generated from a_util::result::Result objects might be empty
  • ddl::codec::transform uses wrong layout to write values

1.3.4

  • Correctly export jsoncpp and libjson-rpc-cpp

1.3.3

  • Ensure default visibility of symbols is hidden

1.3.2

  • Restore binary compatibility with 1.3.x
  • Handles incomplete DDL descriptions correctly

1.3.1

  • Fixes sporadically crashing timer
  • Fixes timer in case of ONESHOT
  • Fixes timer test for repeatedly calls
  • Fixes min/max macro expansion from "Windows.h" using parenthesis around the min/max function calls
  • Mapping language version interpreted as double
  • Execution of a_util::concurrency::semaphore tests takes a long time
  • Fixes reference count for module handle

1.3.0

  • Adds explicit bool conversion operator with a_util::result::Result::operator bool()
  • Deprecates a_util::result::isOk() and a_util::result::isFailed()
  • Added a_util::system::AddressInfo class to query the file path of the binary the memory address is located in
  • Adapt ddl::DDCompare::isBinaryEqual() for padding bytes
  • Add clipp 1.2.3 to 3rdparty components
  • Add macro to enable/disable deprecated warnings
  • Added new virtual function that is passed all relevant HTTP request and response data
  • Append cmake/modules path to CMAKE_MODULE_PATH for downstream projects
  • DDL specification documentation contains information about ADTF but not about streams
  • Fixed merging of different and incompatible StructTypes with the same name
  • Fixes feature check for std::is_enum_v
  • Different symbol visibility between standalone and integrated tests
  • Adds library feature check for std::string_view

1.2.2

  • DDL has performance problems within dependency management if many dependencies added
    • changed the datastructure within (hidden - deprecated) validationmodel to std::unordered_set<>
    • more time is "wasted" within typeinfo model while copying a StructType/DataType/EnumType from one DD to another DD

1.2.1

  • Static intializing order problem for all ddl::dd::Version::ddl_version_* used within other static variables
  • Wrong bit_size by ddl::codec::CodecIndex::getIndexForArrayPos()

1.2.0

1.1.4

  • TypeAccessList within 1.1.3 is not compatible with 1.1.2

1.1.3

  • ElementTypeInfo will not be updated if add is used and has performance problem
  • ove construction and move assignment very slow
  • If a predefined type is used in enum the ValidationInfo will not be created

1.1.2

  • Performance collapse due to DDFromXMLFactory::isInteger change

1.1.1

  • httplib crashes when it receives an https request
  • Loading of description file leads to Segfault error on Linux
  • GCC default symbol visibility might lead to multiple defined symbols in shared libraries
  • static constexpr variables might violate the ODR if linked by C++17 built downstream project
  • httpclient does not read full response body
  • Static Singleton factory in header leads to problem in gcc 7

1.1.0

  • Move DDL C-API to fep dev_essential
  • Comply to C++ Core Guidelines
  • Extend detection of missing elements by adding padding bytes automatically
  • Integrate ddl-c-api into top level directory of a_util
  • Support alignment specification for a_util::memory::StackPtr
  • Possibility to create a description only with pre-defined data types
  • Provide single source of truth for product version
  • DDL Mapping Engine does not forward the correct time while using "data" or "signal" as trigger type
  • Use std::regex for implementation of a_util::regex functionality
  • Add a dedicated validate function to the DDStructureGenerator
  • a_util/concurency.h brings windows includes in scope and destroys APIs
  • Leftover ADTF include emits compiler error under __APPLE__
  • Typo in dd_predefined_datatypes.h prevents creating DataType int8_t
  • pugixml in a_util_xml causes linker problems when using a pugixml in a derivated work
  • The CTOR with elements of DDEnumGenerator<T> has a problem if type is not arithmetic

1.0.0

  • Enable usage of error description objects with static storage
  • Enable position independent code and position independent executables
  • Elevate compiler warning levels for all util components
  • Fix all compiler warnings and set compiler warnings as errors
  • Integrate cdpkgrpc master and tags into a_util repository
  • Integrate cdddl master and tags into a_util repository
  • Move or copy DDL description generation code from ADTF 3 to DDL Library
  • Add type reflection API to the DDL Library
  • Improve XML Data Model and DDL Parser
  • Redesign OO DDL Description API (Data Model + API)
  • a_util::filesytem::Path::makeRelative() fails if any path contains ".."
  • remove / access for DDL internal datastructures type_access_list, type_access_map are not working correctly
  • If removing a struct_type which is used in another type the validation model will crash
  • Mapping Configuration for invalid file will crash
  • Codec: serialized and deserialized offsets of structures in array elements are not evaluated right
  • 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.
  • Integrate cdpkgrpc into top level directory of a_util
  • Provide ddl, pkg_rpc and a_util as dev_essential package version 1.0.0
  • Integrate cdddl into top level directory of a_util
  • Update license disclaimers to MPL2.0
  • Add Linux_x64_gcc7, Linux_armv8_gcc7, and Windows_x64_vc142_VS2019 profile
  • Provide Release builds for additional platforms
  • Provide updated build information in README.md
  • Remove ddl2header and header2ddl
    • The successors of those tools will be available as part of the DDL Utilities.

Known Issues / Restrictions

  • If a subitem of a MappingConfiguration is retrieved and lives longer than the model itself an exception occurs within destructor