Skip to content

Commit c7f32a5

Browse files
committed
io: Announce support for enum class with non default undelying size.
Also announce increase of `TStreamerInfo` version to 10
1 parent 586b636 commit c7f32a5

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

README/ReleaseNotes/v636/index.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ The following people have contributed to this new version:
6464
[RNTupleMergeOptions](https://root.cern/doc/v634/structROOT_1_1Experimental_1_1Internal_1_1RNTupleMergeOptions.html));
6565
* "rntuple.ErrBehavior=(Abort|Skip)": RNTuple-specific option that specifies the behavior of the RNTupleMerger on error (see link above);
6666
* "rntuple.ExtraVerbose": RNTuple-specific option that tells the RNTupleMerger to emit more information during the merge process.
67+
* Added support for `enum class` with a non default underlying size, for example `enum smallenum: std::int16_t`. The default is 32 bits. All enums, independently of their in memory size are stored on file using 32 bits to enable forward compatibility of the file; files created with a `enum class` with a non default underlying size can be read with old version of ROOT into a `enum` type of default size.
68+
* * Note: `enum class` with an underlying size strictly greater than 32 bits are not supported since they would be truncated when stored on file.
69+
* The version number of `TStreamerInfo` has been increase to 10 to encoded the addition of the support for `enum class` with a non default underlying size. This allows the opportunity to detect files written by old version of ROOT (`v9` and older of `TStreamerInfo`) where `enum class` with a non default underlying size where stored incorrectly but recoverably. Those files can be recover by using I/O customization rules that takes in consideration their size at the time of writing (this information is not recorded in the `ROOT` file). See https://github.com/root-project/root/pull/17009#issuecomment-2522228598 for some examples.
6770
* New attribute for I/O customization rules: `CanIgnore`. When using this attribute the rule will be ignored if the input is missing from the schema/class-layout they apply to instead of issue a `Warning`
6871

6972
## RDataFrame

0 commit comments

Comments
 (0)