Skip to content

Commit eb804eb

Browse files
denniskleinkarabowi
authored andcommitted
docs: Improve CHANGELOG
Add hyperlinks, streamline and shorten phrases, fix errors
1 parent 6223673 commit eb804eb

1 file changed

Lines changed: 87 additions & 80 deletions

File tree

CHANGELOG.md

Lines changed: 87 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -8,98 +8,105 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
88
## 19.0 (Unreleased) - 2024-03-xx
99

1010
### Breaking Changes
11-
* We have moved away from our custom ROOT find module, and now use the native cmake package of ROOT.
12-
* This means, that all library dependencies of the type `Core` are either not working at all, or might not work as expected. Please upgrade all of them to be like `ROOT::Core` .
13-
* This also means, that you need to add an `include(ROOTMacros)` after your `find_package2(... ROOT ...)`.
14-
* `ROOT_VERSION_NUMBER` is gone. Use `ROOT_VERSION` (which is the dotted version number) and `VERSION_GREATER`/etc now.
15-
* `ROOTSYS` isn't any longer set. For example use ROOT targets instead.
16-
* Many CMake related tools have been externalized into
17-
[FairCMakeModules](https://github.com/FairRootGroup/FairCMakeModules)
18-
and partly rewritten
19-
* You need to install it before installing FairRoot. FairSoft provides it.
20-
* `find_package2` has moved to `FairFindPackage2`.
21-
To use it in your code, perform something like this:
22-
```cmake
23-
find_package(FairCMakeModules 1.0 REQUIRED)
24-
include(FairFindPackage2)
25-
```
26-
* Dropped Color Codes and `pad()`
27-
* Use `FairFormattedOutput` from FairCMakeModules
28-
* Note that `fair_pad` needs the width argument to be incremented by 1,
29-
and the COLOR option takes no argument.
30-
* Dropped `Generate_Exe_Script`, and `GENERATE_TEST_SCRIPT`
31-
* `Generate_Exe_Script` was never meant for external use.
32-
* `GENERATE_TEST_SCRIPT` can be replaced by much simpler and more flexible local code by users.
33-
* Replace with a local template, `configure_file`, and `execute_process()`
34-
* In your template consider using `source @FairRoot_BINDIR/FairRootConfig.sh`
35-
* Dropped `Generate_Version_Info`
36-
* If you just need to generate some files with your version number in it,
37-
use the standard `configure_file` CMake command.
38-
* Alternatively consider creating a proper CMake Package with
39-
`configure_package_config_file()`, and `write_basic_package_version_file()`.
40-
* If you need the "git version", use
41-
[`fair_get_git_version()` from FairCMakeModules](https://fairrootgroup.github.io/FairCMakeModules/latest/module/FairProjectConfig.html#fair-get-git-version)
42-
in addition.
43-
* Renamed our `ROOT_GENERATE_DICTIONARY` to `FAIRROOT_GENERATE_DICTIONARY`.
44-
(It's not used in many places anyway, it seems.)
45-
* `fEvtHeader` member variable now is a private unique pointer owned by `FairRun`. To access
46-
the event header, please use the public member function `GetEventHeader()`.
47-
* The following files have been deleted. As far as we know they were not used anywhere:
48-
* basemq/baseMQtools/baseMQtools.h
49-
* basemq/policies/Sampler/FairMQFileSource.h
50-
* basemq/policies/Sampler/FairSourceMQInterface.h
51-
* basemq/policies/Sampler/SimpleTreeReader.h
52-
* basemq/policies/Serialization/BinaryBaseClassSerializer.h
53-
* basemq/policies/Storage/BinaryOutFileManager.h
54-
* basemq/policies/Storage/BoostDataSaver.h
55-
* basemq/policies/Storage/RootOutFileManager.h
56-
* basemq/policies/Storage/TriviallyCopyableDataSaver.h
57-
* basemq/policies/Serialization/IOPolicy.h
58-
* The following files/classes have been moved to the example where they are used and renamed:
59-
* basemq/devices/FairMQProcessor.h -> into examples/advanced/Tutorial3/MQ/processor.cxx
60-
* basemq/devices/FairMQSampler.h -> into examples/advanced/Tutorial3/MQ/sampler.cxx
61-
* basemq/tasks/FairMQProcessorTask.h -> examples/advanced/Tutorial3/MQ/processorTask/ProcessorTask.h
62-
* basemq/tasks/FairMQSamplerTask.h -> examples/advanced/Tutorial3/MQ/samplerTask/SamplerTask.h
63-
* Retire CMake switch `BUILD_UNITTESTS`. The few tests behind it have not been
64-
used nor maintained for many years. Also, it was in conflict with the CMake
65-
standard switch `BUILD_TESTING` from the CTest module.
6611

12+
* CMake
13+
* Dropped [our custom `FindROOT.cmake`](https://github.com/FairRootGroup/FairRoot/commit/764b2c66432d2e63f765df6f6d328aa4b61dba10)
14+
* Using the native CMake package of ROOT, see
15+
https://root.cern/manual/integrate_root_into_my_cmake_project/
16+
* ROOT targets **MUST BE** prefixed with `ROOT::` now, see
17+
https://root.cern/manual/integrate_root_into_my_cmake_project/#full-example-event-project
18+
* Explicitely `include(ROOTMacros)` after your `find_package2(... ROOT ...)`
19+
now
20+
* Dropped `ROOT_VERSION_NUMBER`, use `ROOT_VERSION` (which is the dotted
21+
version number) and [`VERSION_GREATER`/etc](https://cmake.org/cmake/help/latest/command/if.html#version-comparisons)
22+
instead
23+
* Dropped `ROOTSYS`, use ROOT CMake targets instead
24+
* Some CMake macros have been factored out into the
25+
[FairCMakeModules](https://github.com/FairRootGroup/FairCMakeModules)
26+
project which is required by FairRoot
27+
* FairSoft `apr21` and later ship it (see alternative
28+
[installation methods](https://fairrootgroup.github.io/FairCMakeModules/latest/installation.html))
29+
* `find_package2` has moved to [`FairFindPackage2`](https://fairrootgroup.github.io/FairCMakeModules/latest/module/FairFindPackage2.html).
30+
To use it in your code, perform something like this:
31+
```cmake
32+
find_package(FairCMakeModules 1.0 REQUIRED)
33+
include(FairFindPackage2)
34+
```
35+
* Dropped Color Codes and `pad()`, use [`FairFormattedOutput` from FairCMakeModules](https://fairrootgroup.github.io/FairCMakeModules/latest/module/FairFormattedOutput.html)
36+
instead
37+
* Note that [`fair_pad()`](https://fairrootgroup.github.io/FairCMakeModules/latest/module/FairFormattedOutput.html#fair-pad)
38+
needs the width argument to be incremented by 1, and the `COLOR` option
39+
takes no argument
40+
* Dropped `Generate_Exe_Script()`, it was never meant for external use
41+
* Dropped `GENERATE_TEST_SCRIPT()`, replace it with a locally maintained solution
42+
* Consider using `source @FairRoot_BINDIR@/FairRootConfig.sh -p`
43+
* Dropped `Generate_Version_Info()`
44+
* If you just need to generate some files with your version number in it,
45+
use the standard [`configure_file`](https://cmake.org/cmake/help/latest/command/configure_file.html)
46+
CMake command.
47+
* Alternatively, consider creating a [proper CMake Package](https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#creating-packages)
48+
with `configure_package_config_file()`, and `write_basic_package_version_file()`.
49+
* If you need the "git version", use
50+
[`fair_get_git_version()` from FairCMakeModules](https://fairrootgroup.github.io/FairCMakeModules/latest/module/FairProjectConfig.html#fair-get-git-version)
51+
in addition.
52+
* Renamed our `ROOT_GENERATE_DICTIONARY()` to `FAIRROOT_GENERATE_DICTIONARY()`
53+
* Dropped build switch `BUILD_UNITTESTS`, it was in conflict with the CMake
54+
standard switch [`BUILD_TESTING` from the CTest module](https://cmake.org/cmake/help/latest/module/CTest.html)
55+
56+
* C++
57+
* `fEvtHeader` member variable now is a private unique pointer owned by
58+
`FairRun`. To access the event header, use the public member function
59+
`GetEventHeader()`.
60+
* Dropped headers:
61+
* `basemq/baseMQtools/baseMQtools.h`
62+
* `basemq/policies/Sampler/FairMQFileSource.h`
63+
* `basemq/policies/Sampler/FairSourceMQInterface.h`
64+
* `basemq/policies/Sampler/SimpleTreeReader.h`
65+
* `basemq/policies/Serialization/BinaryBaseClassSerializer.h`
66+
* `basemq/policies/Storage/BinaryOutFileManager.h`
67+
* `basemq/policies/Storage/BoostDataSaver.h`
68+
* `basemq/policies/Storage/RootOutFileManager.h`
69+
* `basemq/policies/Storage/TriviallyCopyableDataSaver.h`
70+
* `basemq/policies/Serialization/IOPolicy.h`
71+
* The following files/classes have been moved to the example where they are used and renamed:
72+
* `basemq/devices/FairMQProcessor.h` -> `examples/advanced/Tutorial3/MQ/processor.cxx`
73+
* `basemq/devices/FairMQSampler.h` -> `examples/advanced/Tutorial3/MQ/sampler.cxx`
74+
* `basemq/tasks/FairMQProcessorTask.h` -> `examples/advanced/Tutorial3/MQ/processorTask/ProcessorTask.h`
75+
* `basemq/tasks/FairMQSamplerTask.h` -> `examples/advanced/Tutorial3/MQ/samplerTask/SamplerTask.h`
6776
6877
### Deprecations
6978
70-
This release of FairRoot deprecates many APIs for various
71-
reasons. If you think you really require some API, please
72-
file an issue, so that we can see how to handle this.
79+
If you think you really require a deprecated API, please
80+
[file an issue](https://github.com/FairRootGroup/FairRoot/issues/new).
7381
74-
* Deprecating MbsAPI
75-
* We plan to remove it completely in the next major release.
76-
* If you need it, speak up NOW.
77-
* It is disabled by default in this release.
78-
* It can still be enabled with `-DBUILD_MBS=ON`.
79-
* Deprecated Proof relaled classes
80-
* Proof was deprecated by ROOT
81-
* The affected code in FairRoot is disabled by default now
82-
* It can still be enabled with `-DBUILD_PROOF_SUPPORT=ON`.
83-
* Deprecated FairEventBuilder and FairEventBuilderManager
84-
* The functionality, introduced to enable event reconstruction, is not used.
85-
* It can be enabled with `-DBUILD_EVENT_BUILDER=ON`.
86-
* Deprecated `FairRun::SetEventHeader(FairEventHeader*)`
87-
* Use `FairRun::SetEventHeader(std::unique_ptr<FairEventHeader> EvHeader)`,
88-
which indicates the ownership transferring.
89-
* Deprecated `FairRunAna::Run(Long64_t entry)`
90-
* Functionality unclear due to dubious `Run(int)` and `Run(long)`.
91-
* Use `FairRunAna::RunSingleEntry(Long64_t entry)` instead.
82+
* Deprecated MbsAPI
83+
* We plan to remove it completely in the next major release
84+
* Disabled by default, enable via `-DBUILD_MBS=ON`
85+
* Deprecated Proof related classes
86+
* [Proof was deprecated in ROOT 6.26](https://github.com/root-project/root/commit/40c3e85970f83b52d6e29bb3c509498bf15fe9e5)
87+
* Disabled by default, enable via `-DBUILD_PROOF_SUPPORT=ON`
88+
* Deprecated `FairEventBuilder` and `FairEventBuilderManager` (https://github.com/FairRootGroup/FairRoot/pull/1414)
89+
* Disabled by default, enable via `-DBUILD_EVENT_BUILDER=ON`
90+
* Deprecated `FairRun::SetEventHeader(FairEventHeader*)`, use
91+
`FairRun::SetEventHeader(std::unique_ptr<FairEventHeader> EvHeader)` instead
92+
* Clarified ownership semantics
93+
* Deprecated `FairRunAna::Run(Long64_t entry)`, use
94+
`FairRunAna::RunSingleEntry(Long64_t entry)` instead
95+
* Semantics were unclear due to dubious `Run(int)` and `Run(long)`
9296
9397
### Other Notable Changes
94-
* We have restuctured the main FairRoot folder by moving all the public components to the new '/fairroot/' folder.
98+
99+
* Restructured the source tree by moving all public components to the new
100+
'/fairroot' folder
95101
* Consider calling `fairroot_check_root_cxxstd_compatibility()`
96-
in your `CMakeLists.txt`.
97-
* `fairsoft-config` isn't searched for and not needed any more.
102+
in your `CMakeLists.txt`
103+
* `fairsoft-config` isn't searched for and not needed any more
98104
99105
### Example Changes in Experiment Repos
106+
100107
* https://github.com/R3BRootGroup/R3BRoot/pull/413
101108
102-
## 18.8.2 - 2023-03-01
109+
## 18.8.2 - 2024-03-01
103110
104111
### Bug fixes
105112
* Fix wrong init order in eventdisplay.

0 commit comments

Comments
 (0)