Skip to content
This repository has been archived by the owner on Nov 10, 2020. It is now read-only.

Releases: bmwcarit/capu

CAPU v0.24.0

15 Feb 06:55
Compare
Choose a tag to compare

Thanks for contributions from (in order of patches)

Martin Veith
Tobias Hammer
Stanislav Ionascu
Michael Wagner

Breaking changes

(-)

Bug Fixes

Fix Integrity-OS build concerning signals
DltLogAppenderBUildConfig.h now properly installed

Features

Method for getting strings from Error.h error codes

Tests

(-)

Refactoring

Unified cmake find and config file handling
Enabled compiler flag -Wnon-virtual-dtor and fixed all warnings
Reusability of ARCH_*/OS_ defines
DLT can be forcefully disabled even when available

CAPU v0.23.0

14 Jan 16:02
Compare
Choose a tag to compare

Thanks for contributions from (in order of patches)

Tobias Hammer
Serhat Eser Erdem
Jonathan Conrad
Alexander Irion
Peter Pedron
Martin Veith
Johannes Baeuerle
Stanislav Ionascu
Bernhard Kisslinger
Axel Kellermann
Elias Marquart

Breaking changes

pair: Initialize member variables in default constructor
vector: Fix operator[] constness
vector: implement exponential growth for all element adding operations
vector: Initialize empty
vector: Fix signedess of iterator operator+/- argument
Reimplement SmartPointer as shared_ptr
File: complete binary modes.
toolchain: all C and CXX flags should have Werror
Use os specific calls for getting single environment variables
vector: Rename Vector, Iterator, ConstIterator to exact stl spelling
Disable support for signals on INTEGRITY
Implement proper construction and destruction of keys and values in HashTable

Bug Fixes

Updated googletest and googlemock external repo urls
Use correct iterator-trait type when using 'distance'
put socket variable on stack
valgrind : exclude static file transfer context from context list
set terminal settings only if terminal is connected
Fixes for x86_64 integrity
Fix merge issue due to file renaming
Fixed very inaccurate time measuring in capu::Time for Windows.

Features

Add algorithm find
Add INTEGRITY X86 64 bit platform support
Added signal handler support to capu.
possibility to set file acces mode for binary output streams
Add File::seek method
Add File::getCurrentPosition method
Use ANSI codes for printing colors in Console::Print
Generate CapuConfig.cmake file on install
Implement swap for HashTable and HashSet

Tests

Reduce number of iterations in MapTest to a more reasonable number
AlgorithmRawTest: Give compared value a semantic name
Removed EXPECT_EQ and EXPECT_TRUE macro usage, which is only available with gtest.
Fix concurrent access on datastructures in socket checker test
Add missing BinaryOutputStream test
Add missing Guid test
Add missing StringOutputStream test
udptest: lock access to globally available cond variable
vector: Adapt test to use empty ctor
Add Guid tests to HashTable and HashSet
Cleanup HashSet performance measurement tests
Add error case for unrecognized architecture in ConfigTest

Refactoring

Make CondVar wait Mutex argument pass by reference
default initialize member variable in list
vector: internally only grow memory when necessary
ScopedPointer/ScopedArray: Improve+unify code
Fix comment in FileMode
Remove slash in comment
early exit from unregisterApplication call
remove nullcheck of pointer that has already been used in above code
move File::mHandle to generic (share from posix and windows)
Remove C-style casts in hash and network headers
Fix gcc sanitizer warnings
Fix variable shadowing errors
make File::getCurrentPosition const
Make list iterator derive from iterator base class
Extract Capu version to variables and autogenerate cmake version file
Improve error checking for console colors on posix
Improve readability of signal handler function pointer
Replace preprocessor defines in HashTable/Set with constants

CAPU v0.22.0

23 Sep 13:03
Compare
Choose a tag to compare

Thanks for contributions from (in order of patches)
Martin Veith
Tobias Hammer
Jonathan Conrad
Bernhard Kisslinger
Johannes Baeuerle

Breaking changes

vector: remove iterator implicit conversion operator to value
REGISTER_SYNC_CALL testutil macros have been replaced by a class

Bug Fixes

Remove race condition by refactoring of REGISTER_SYNC_CALL macros to simple class
Correct cleanup of DltAdapter
Collect and destory DltContext objects

Features

vector: allow comparison of ConstIterator and Iterator
vector: add difference operator for iterators
Add vector insert for iterator range
vector: add const version of operator->
vector: add back() method
Add distance to Iterator header
Add advance to iterator header
Extend Vector range insert to accept arbitrary input iterators
adding option to create a invalid Guid
Improve speed of copy & copy_backwards from algorithm for integral types
vector: add member swap and specialize swap free function
vector: add shrink_to_fit

Tests

Improved on vector and algorith tests

Refactoring

Added build instructions to readme

CAPU v0.21.0

18 Sep 06:49
Compare
Choose a tag to compare

Thanks for contributions from (in order of patches)
Jonathan Conrad
Tobias Hammer
Stanislav Ionascu

Breaking changes

Semantic change to Vector:
Vector constructor which takes one integer now not only reserves this space, but also allocates objects (analog to STL). Usages of this constructor will cause subtle behaviour change because there is no compile time error here. After using old constructor previous versions would "push_back" into vector[0], vector[1] etc. Now after calling constructor with size, these elements already exist, can be used right away, and size() will include the number of these objects. Please check all usages of vector against this semantic change.

Bug Fixes

capu_foreach limits scope of all introduced variables now
fix: vector::erase method would cause memory corruption when used in the middle of vector with complex type

Features

Add Vector::empty() method
Add Vector::pop_back() method
Add Vector::insert method (single value)
Add iterator tagging interfaces
Add generic algorithms (copy, fill, equal) for use in vector (later for more containers)

Tests

Vector tests now use parameterized tests in order to reuse tests with primitive and complex datatypes
Added some tests which show comparison of vector performance to STL (rudimentary)

Refactoring

Diverse improvements to vector implementation code

CAPU v0.20.0

10 Sep 13:01
Compare
Choose a tag to compare

Thanks for contributions from (in order of patches)
Martin Veith
Alexander Irion
Tobias Hammer
Stanislav Ionascu
hrabbit2000

Breaking changes

Set default stack size for thread on Integrity to 0x1000 bytes
config: use stdint.h when available instead of internal typedefs

Bug Fixes

Fix atomic operation implementation for Integrity
Set size of time_t appropriatly for Integrity
Update CMake find modules for Integrity 11
Fix no return value warning in Posix Thread::run
Set correct compile flags for Capu_Test on Integrity
Avoid accessing non-memory aligned addresses in BinaryOutputStreamTest
fixes: SmartPointerTest::getRefCount randomly fails
fixes: NonBlockSocketCheckerTest::AcceptALotOfClients hang

Features

Set default thread name for Integrity
Enable any Integrity task to start a new pthread task
Added map container class.
Port to MacOS: Changed dlopen parameters to support mac platform load.
cmake: enable visual_studio_pdb plugin when building with MSVC

Tests

Refactoring

acme2: sync with master
cmake: configure Config.h.in instead of reusing Config.h
config: store TARGET_* params which capu was configured with

CAPU v0.19.0

07 May 06:29
Compare
Choose a tag to compare

Thanks for contributions from (in order of patches)
Martin Veith
Tobias Hammer
Jonathan Conrad

Breaking changes

Removed default install path in cmake configuration

Bug Fixes

Correct folder for documentation generation

Features

Ability to specifiy number of digits on StringOutputStream when printing float values

Tests

Fixed UDP socket broadcast test

Refactoring

Foreach macro: move hidden end iterator to loop scope

CAPU v0.18.0

09 Apr 12:23
Compare
Choose a tag to compare

Thanks for contributions from (in order of patches)
Tobias Hammer
Bernhard Kißlinger
Johannes Baeuerle
Jonathan Conrad
Timo Lotterbach
Alexander Irion

Bug Fixes

correct recognition of automotive-dlt
specific case was wrongly handled as error in posix console
Substring constructor handles given 'end' parameter as maximum when searching for terminator

Features

ability to flush consoles
blocking calls to Console::readChar can be interrupted
readChar gives back error states
generation of CapiCondifVersion.cmake for determining capu version in cmake runs
String comparison operators (< >)
StringUtils::Strnlen function for safer usages

Tests

tests for DltAdapter
correct memory problems found via valgrind in several tests

Refactoring

make capu_foreach more robust
improved error handling in Dlt logging adapter
cancel method of runnables can be overridden

CAPU v0.17.1

18 Feb 19:35
Compare
Choose a tag to compare

Thanks for the contributions and the port of CAPU to iOS 8.x to Andreas Streuber.

Bug Fixes

Installation of headers for QNX and iOS works now properly

Features

CAPU is available now for iOS 8.x.
Support for older iOS toolchains using ARMV7S has been removed
Add Travis CI powered build of CAPU (see https://travis-ci.org/bmwcarit/capu)

CAPU v0.17.0

06 Feb 07:17
Compare
Choose a tag to compare

Thanks for contributions from (in order of patches)
Felix Zinkel
Alexander Irion
Johannes Baeuerle
Jonathan Conrad
Violin Yanev
Peter Pedron
Martin Veith

API breach

(none)

Bug Fixes

Wrong file flags in posix file handling fixed
Fix crash when requesting substring of length 0
Fixed uninitialized variable warning from Travis CI in a socket test

Features

Working directory manipulation
LogAppender available for logging via dlt (http://projects.genivi.org/diagnostic-log-trace/home)
String::replace function

Tests

Rudimentary test for log context's userdata
HashSet iterator removal tests

Refactoring

LogContext can now user specific data for implementation specifics
Rename ntoh 64 bit version which conflicted in newer OSX versions
Improve compiler flags for MacOSX

CAPU v0.16.0

13 Jan 12:43
Compare
Choose a tag to compare

Thanks for contributions from (in order of patches)
Jonathan Conrad
Timo Lotterbach
Sven von Beuningen
Violin Yanev
Martin Veith
Bernhard Kisslinger

API breach

StringUtils::Vsprintf now returns number of characters written
StringUtils::Sprintf now returns number of characters written

Bug Fixes

In some cases StringOutputStream::c_str did not append null terminator
In some cases a newly created StringOutputStream was not null terminated
Fix broken Array constructor
Vector::operator== compares elements instead of memcpy for non simple types

Features

Allow broadcast addresses in udpsocket
List iterator decrement operator
Add acme2 linux coverage plugin to buildsystem
Removed stdint.h dependency from Config.h
Add const versions of Delegate::operator
Add operator<< overload for char_t in StringOutputStream
Add String::endsWith method
Add toolchain files for clang/llvm based builds for 32/64 bit
Enabled generation of PkgConfig and CMake FindModule for packaging
Integrate newer version of ACME2 (cmake based build system)

Tests

Improve StringUtilsTest to use more specific test string
Removed test that depends on system setup (GetParentFile5)

Refactoring

Remove unnecessary address validity check in UdpSocket
Use std prefix when including cmath, removes clang (>3.5) warnings
Use std prefix for abs
Use more const in tcpsocket internals
Remove unnecessary mutex from TcpSocket
Remove dependency on shlwapi
Fixed Clang warnings on OSX
Improve comments on GetMicroseconds
Create possibility to specify integer return types (32 or 64 bit) explicitly for hash functions
Increase randomness of number generator by initializing with increased precision of time