v01-03
v01-03
-
2025-05-14 jmcarcell (PR#780)
- Read the collection information starting with version 1.2.999 to maintain compatibility with the files produced with podio 1.2.99
- Bump the version to 1.2.999
-
2025-05-13 jmcarcell (PR#779)
- Ignore the datasource tests when using the address sanitizer since the tests that create their input files are also ignored
- Enable
-DENABLE_DATASOURCEwhen building with sanitizer (although all the related tests will be ignored)
-
2025-05-13 jmcarcell (PR#775)
- Define
typeNameoutside of each object class, in addition to the existing definition inside the class.
- Define
-
2025-05-13 Mateusz Jakub Fila (PR#758)
- Formalize expected collection interface with a concept
- Add
atandcreatetoUserDataCollection
-
2025-05-08 jmcarcell (PR#777)
Clean up the ROOT readers and writers- Add const where possible
- Use functions from
std::rangeswhen possible - Do not use
newanddeletewhen it's not needed (ROOTReader.cc) - Clean up includes
- Change some indexes to size_t instead of int to avoid implicit conversions (doesn't change anything)
-
2025-05-07 Thomas Madlener (PR#711)
- Store the collection information in a proper
structinstead of using atupleto facilitate access for non podio based backends (e.g. Julia) - Harmonize the format of RNTuple and TTree based ROOT backends
- Both now store the collection information into the
podio_metadataTTree / Model as avector<podio::root_utils::CollectionWriteInfo>, which contains all the necessary information for reading a collection. - The collection ID and the name are part of this struct, so the
CollectionIDTableis no longer written separately.
- Both now store the collection information into the
- This is a breaking change in the format if you rely on reading the metadata about the stored collections.
- Store the collection information in a proper
-
2025-04-29 Thomas Madlener (PR#773)
- Make sure compilation with gcc11 is possible again and add a workflow based on LCG_107 and Ubuntu 22 to check compatibility in CI
-
2025-04-28 Thomas Madlener (PR#774)
- Cleanup some no longer necessary cmake checks
-
2025-04-28 jmcarcell (PR#767)
- Pass by const reference in the object constructor and member setters. Decide based on the the
is_builtinmember in python, that excludes containers of builtin types and datamodel types. - Add const when possible for other function parameters
- Update the documentation for the
signaturemember.
- Pass by const reference in the object constructor and member setters. Decide based on the the
-
2025-04-25 jmcarcell (PR#771)
- Remove double locking in
prepareForWrite; acquire the lock only once
- Remove double locking in
-
2025-04-23 Thomas Madlener (PR#769)
- Make sure that the sanitizer build workflows also use ccache and avoid concurrent runs on the same git ref
-
2025-04-23 Thomas Madlener (PR#768)
- Keep RNTuple support enabled for ROOT 6.32, but emit a warning at CMake stage
-
2025-04-22 Thomas Madlener (PR#757)
- Make sure that podio RNTuple readers and writers work with ROOT 6.34 and later versions.
- Bump the minimum required version of ROOT for RNTuple support to 6.34. That is where the file format has been stabilized, but the API has only moved out of the
Experimentalnamespace in 6.36.
-
2025-04-15 Thomas Madlener (PR#764)
- Use
ccachein CI to speed up workflows - Add more workflows based on Key4hep
- Cancel concurrent workflows for changes pushed before they finished
- Use
-
2025-04-09 Thomas Madlener (PR#763)
- Remove a leftover empty CMake variable. The corresponding code has been removed in #662.
-
2025-04-09 jmcarcell (PR#761)
- Generate in
datamodel.hadditional lists with all the data and link types - Add tests using this functionality
- Generate in
-
2025-04-08 jmcarcell (PR#762)
- Fix
podio::Link::typeNamethat was wrongly including "Collection"
- Fix
-
2025-04-01 Thomas Madlener (PR#756)
- Cache ExternalData fetched by CMake to avoid failing CI due to potentially flaky or overloaded inrastructure
-
2025-04-01 Mateusz Jakub Fila (PR#748)
- Change type of
typeNamemembers tostd::string_view. Add utility to concatenatestd::string_views at compile time. - Add
typeNamestatic member to link collections.typeNamecan be checked at compilation time. - Deprecate
linkCollTypeNameandlinkTypeNamehelper functions.
- Change type of
-
2025-03-28 Mateusz Jakub Fila (PR#759)
- Fix a few more typos readmes, docstrings, assert messages
-
2025-03-26 Mateusz Jakub Fila (PR#755)
- allow
^in units in datamodel definitions
- allow
-
2025-03-26 Mateusz Jakub Fila (PR#754)
- Add
front,back,cbegin,cendandoperator boolto theRelationRangeso it has all the methods fromstd::ranges::view_interface
- Add
-
2025-03-25 Mateusz Jakub Fila (PR#752)
- Update
max_sizereported by collections to include limit due toObjectIDindex type
- Update
-
2025-03-21 jmcarcell (PR#751)
- Add const to void* in OrderKey.h
-
2025-03-10 Mateusz Jakub Fila (PR#749)
- Fix typo in tests so the usage of links with unordered associative containers is actually tested
-
2025-03-10 scott snyder (PR#747)
- Fix a build issue when the python version used is different than the one found by default by cmake.
-
2025-03-10 jmcarcell (PR#746)
- Support Unity builds Add missing include guards and make sure some functions such as
createBufferhave a different name for each collection.
- Support Unity builds Add missing include guards and make sure some functions such as
-
2025-03-07 Thomas Madlener (PR#745)
- Fix the (potential) import error for
podio.version.build_versionby not relying on ROOTs JIT, but rather parsing the python__version__into the correct type.
- Fix the (potential) import error for
-
2025-03-06 Thomas Madlener (PR#744)
- Add v01-01 and v01-02 input root files for backwards compatibility checks
-
2025-03-06 Mateusz Jakub Fila (PR#743)
- Prevent error-prone copy-assignment to temporary datatype and link objects. The compilation error instead of unexpected behaviour when by mistake using the podio collection iterators as "LegacyOutputIterator" is more very likely (e.g.
std::fillwill most likely not compile instead compiling but giving wrong results)
- Prevent error-prone copy-assignment to temporary datatype and link objects. The compilation error instead of unexpected behaviour when by mistake using the podio collection iterators as "LegacyOutputIterator" is more very likely (e.g.
-
2025-02-28 Mateusz Jakub Fila (PR#738)
- Add
std::hashfor podio datatype objects, interfaces and links. Datatypes, interfaces and links can be used in unordered associative containers such asstd::unordered_setorstd::unordered_map
- Add
-
2025-02-28 Mateusz Jakub Fila (PR#720)
- Collection iterators fulfill
forward_iterator,bidirectional_iteratorandrandom_access_iteratorconcepts. The collections can be used with more categories of range algorithms - up torandom_access_range, for examplestd::adjacent_find,std::lower_bound,std::fold_right, and more views likestd::ranges::views::reverse. LinkCollectionand its iterators fulfill concepts up torandom_access_rangeandrandom_access_iterator.- Add reverse iterator methods to Collections,
LinkCollectionandUserDataCollection. - CollectionIterators of generated datamodels now define
operator<=>instead ofoperator!=. This will require at least c++20 to compile, but should not affect existing behavior.
- Collection iterators fulfill
-
2025-02-21 Mateusz Jakub Fila (PR#742)
- Fixed argument resolution in the roundtrip test to prevent failures when SIO is not present.
-
2025-02-20 jmcarcell (PR#741)
- Remove warning about C++17 that is now obsolete
-
2025-02-19 Dmitry Kalinkin (PR#733)
- Added
std::hash<podio::ObjectID>specialization to allowstd::unordered_map<podio::ObjectID, T>
- Added
-
2025-02-18 Mateusz Jakub Fila (PR#737)
- Replace
sizeof(T) == 0withalways_falseto fail static assertions inconstexpr if
- Replace
-
2025-02-17 Mateusz Jakub Fila (PR#736)
- fix setting link with interface without specifying link direction
-
2025-02-17 Mateusz Jakub Fila (PR#729)
- POSIX glob patterns can be used in
makeReaderandCreateDataSource. Added standalone helperpodio::utilities::expand_globto resolve globs. - Added passing a list of files to
get_reader
- POSIX glob patterns can be used in
-
2025-02-12 jmcarcell (PR#734)
- Add LANGUAGES CXX to CMakeLists.txt to disable checks for a C compiler
-
2025-02-04 Thomas Madlener (PR#732)
- Make sure that
isValidworks the same forLinkCollectionas it does for other collections - Make sure to set the
collectionIDfor all links in a collection
- Make sure that
-
2025-01-31 Thomas Madlener (PR#730)
- Switch to a
LCG_106bfor the sanitizer workflows in CI to pick up a newer version of ROOT. - Swtich to
LCG_106bfor tests with RNTuple - Add an
LCG_104(root v6.28.04) based workflow for ensuring compatibility with the minimal version of ROOT
- Switch to a
-
2025-01-21 Dmitry Kalinkin (PR#728)
- Improved exception message for the case when relation to untracked object is to be persisted.
-
2025-01-21 Mateusz Jakub Fila (PR#727)
- Make
RelationRangefulfill thestd::ranges::viewandstd::ranges::borrowed_rangeconcepts
- Make
-
2025-01-20 Thomas Madlener (PR#724)
- Start to refactor the read tests partially to break up the large
processEventfunction into smaller more manageable chunks. - Fix a small logic bug in the creation of the test files
- Start to refactor the read tests partially to break up the large
-
2025-01-17 Mateusz Jakub Fila (PR#726)
- Removed redundant check for C++20
- Removed iterator test that is no longer required in C++
-
2025-01-17 Mateusz Jakub Fila (PR#725)
- Updated
LinkCollectionIteratorto fulifl the same iterator concept and iterator category as other collection iterators.LinkCollectionfulfills the same range concepts as other collections. Algorithms likestd::ranges::findorstd::countare supported.
- Updated
-
2025-01-16 Thomas Madlener (PR#723)
- Replace several repeated map lookups with a single lookup inside RNTupleReader
-
2025-01-09 jmcarcell (PR#708)
- Add support for reading several RNtuple files
-
2025-01-08 jmcarcell (PR#698)
- Make podio require c++20 and remove compatibility with c++17
- Simplify template code by using
conceptandrequirewhen possible. In some places like theUserDataCollectionandGenericParametersit seems that cppyy (3.1.2 with ROOT 6.32.06) doesn't likerequiresnorconceptso they can't be changed for now. - Use
constevalwhen possible which, unlikeconstexpr, guarantees evaluation at compile-time - Remove checks for versions above or below C++20 for the standard
- Use algorithms from std::ranges like
std::ranges::findandstd::ranges::sort - Remove the ubuntu workflows since they are built on C++17
-
2025-01-07 Thomas Madlener (PR#719)
- Make sure that the
RNTupleReaderstill builds with ROOT > 6.34
- Make sure that the
-
2024-12-19 Mateusz Jakub Fila (PR#718)
- Add
mutable_typetypedef to collection to simplify inferring mutable type. Addmutable_typetypedef to user collection for compatibility with other collections.
- Add