v00-14-01
v00-14-01
-
2022-03-04 Thomas Madlener (PR#261)
- Make the datamodel validation accept arrays of fixed width integer types.
-
2022-02-09 Placido Fernandez Declara (PR#259)
- Filter files with regex based on file name, not complete path
-
2022-02-08 Thomas Madlener (PR#238)
- Extend the
podioVersion.h
header that is configured by cmake to hold some version utilities.podio::version::Version
class holding threeuint16_t
s for major, minor and patch version, plusconstexpr
comparison operators.- static const(expr)
podio::version::build_version
that holds the current (i.e. last tag) version of podio - Add preprocessor macros with similar functionality
PODIO_VERSION
takes a major, minor and a patch version number and encodes it into a 64 bit version constant.PODIO_[MAJOR|MINOR|PATCH]_VERSION
macros can extracts these values again from a 64 bit encoded version.PODIO_BUILD_VERSION
holds the 64 bit encoded current (i.e. last tag) version of podio
- Reorder the read tests slightly and make some sections version dependent
- Add legacy file read test from #230
- Extend the
-
2022-01-28 Thomas Madlener (PR#256)
- Ignore the test introduced in #235 in sanitizer builds as it currently breaks.
-
2022-01-24 Placido Fernandez Declara (PR#235)
- Fix crashes that happen when reading collections that have related objects in collections that have not been persisted.
- Fix similar crashes for subset collections where the original collection has not been persisted.
- The expected behavior in both cases is that podio does not crash when reading such collections, but only once the user tries to actually access such a missing object. Each object has an
isAvailable
function to guard against such crashes if need be.
- The expected behavior in both cases is that podio does not crash when reading such collections, but only once the user tries to actually access such a missing object. Each object has an
- Add a test that makes sure that the expected behavior is the one that is observed.
- Fix a somewhat related bug in
setReferences
which was mistakenly a no-op for collections of a type without relations. Since this is the mechanism we use for restoring subset collections it obviously has to be present for all types.
-
2022-01-21 Thomas Madlener (PR#252)
- Make the
CollectionData
classes useunique_ptr
instead of raw pointers, wherever they actually own the pointer. - Implement move constructors and move assignment operators for collections. Thanks to the usage of
unique_ptr
for ownership management in theCollectionData
, these can bedefault
ed inCollection
andCollectionData
. - Add a few tests to check that moving collections actually works.
- Make the
-
2022-01-20 Thomas Madlener (PR#251)
- Make sure that collections of types without relations can still be used properly as subset collections. Previous to these changes, the necessary functionality was not generated if a datatype had no relations (i.e. not a single
OneToOneRelation
orOneToManyRelation
). - Add a check of this functionality to the write/read tests.
- Make sure that collections of types without relations can still be used properly as subset collections. Previous to these changes, the necessary functionality was not generated if a datatype had no relations (i.e. not a single
-
2022-01-20 Thomas Madlener (PR#249)
- Add a
USE_SANITIZER
build option to more easily build podio with sanitizers for testing. CurentlyAddress
,Memory[WithOrigin]
,Undefined
andThread
are available as options. Given the limitations of the sanitizers these are more or less mutually exlusive. - Label all the Catch2 test cases which makes it easier to run them selectively.
- For builds with sanitizers enabled, by default ignore tests with known failures, but add a
FORCE_RUN_ALL_TESTS
cmake option that overrides this for local development. - Run CI workflows with a selection of sanitizers enabled (on a limited list of tests).
- Add a
-
2022-01-20 hegner (PR#209)
- Remove mention of Python 2 compatibility
-
2021-12-03 Thomas Madlener (PR#245)
- Make it possible to call
prepareForWrite
multiple times on collections by rendering all but the first call no-ops. Fixes #241- Collections are marked as prepared, either if they are read from file or once
prepareForWrite
has been called on them.
- Collections are marked as prepared, either if they are read from file or once
- Make it possible to call
-
2021-12-03 Thomas Madlener (PR#205)
- Make the default classes immutable and mark mutable classes explictly via their class name (e.g.
Hit
andMutableHit
). See a brief discussion in #204 for more details on the reasons for this breaking change. - After these changes collections return mutable objects via their
create
functionality, and will only give access to the default (immutable) objects when they areconst
(e.g. when they are read from file). - In general these changes should make it easier for users to write interface that behave as expected, and also make it very obvious where objects are actually mutated already from looking at an interface definition.
- Make the default classes immutable and mark mutable classes explictly via their class name (e.g.
-
2021-10-22 Thomas Madlener (PR#239)
- Fix a typo in the cmake config for finding the correct python version when cmake is used in downstream packages.
-
2021-10-21 Thomas Madlener (PR#237)
- Mistakenly dropped colon in #236
-
2021-10-14 Thomas Madlener (PR#236)
- Fix problem in python tests that appears in spack builds