Version 1.2.0 (native implementation)

ADDED

- Improved quality control by adding build and test jobs for macOS and CUDA
  images in the GitLab CI. This should help to prevent bugs in the future. (!144)
- Add optional random number dataset to HDF5 event output files. It can be
  enabled using `--random-number-output-enabled`, or, alternatively, using the
  corresponding setting `random_numbers_output_enabled = True` in the
  `[events]` section of the runcard. (!146)
- Add option to disable particle dataset in HDF5 event output files,
  via `--particle-output-disabled`, or, alternatively, using the
  corresponding setting `particles_output_enabled = False` in the
  `[events]` section of the runcard. (!146)
- Add new `[phase_space.vegas]` runcard section,
  which contains the two new settings `disabled`
  (to disable VEGAS, default = False)
  and `alpha` (to change the damping factor of the optimisation algorithm,
  default = 1.0). A smaller `alpha` might give better results
  for more complicated phase-space integrations (i.e. for a large number
  of final-state jets). (!146)
- Add HDF5-based event reader, which currently allows to read in
  random numbers for the phase phase and for the helicity selection
  (when sampling), as well as the phase-space weights. (!146)
- Add example for using the new HDF5-based event reader.
  It also illustrates using the new random number output. (!146)
- Add VEGAS-like statistical analysis of the phase-space optimisation. (!146)
- Add manual guide about reading events. (!146)
- HDF5 event writing can now be configured to include
  also the events with a zero weight. (!146)
- Allow to skip phase-space (including helicity sampling)
  optimisation completely by setting `[phase_space.optimisation].n_iter`
  to `0`. A cached optimisation will still be used if available. (!146)

FIXED

- [main] Always disable VCL support, since trying to enable it currently causes
  compilation issues.
- Increase required CMake version to 3.19.0 to avoid reported issues with
  versions 3.17 and 3.18. Thanks to @dakonst. (!139)
- [main] Make sure that Kokkos picks up Pepper's `device_id` setting. (!143)
- Declare missing HDF5 dependency in the CMake configuration used
  for including Pepper as an external library. (!146)
- Fix a crash (segmentation fault). (!146)

REMOVED

- **Breaking:** The `-C` short option flag
  (long form: `--leading-colour-flow-output-disabled`) has been removed,
  as it is not feasible to have such short options
  for all event output modifier settings. (!146)
- **Breaking:** Remove the setting `[phase_space.chili].should_optimize` (!146).
- Remove the `chili_integration.ini` example, since it did not contribute much.
  In the end, it comes down to changing the `phase_space.generator` setting.

CHANGED

- **Breaking:** Change the default phase-space generator
  to the internal "Basic Chili" implementation and use "Basic Chili"
  instead of "Chili(basic)" to refer to it
  (the old name can still be used, but the new one is preferred).
- **Breaking:** Rename/move VEGAS-related settings (!146):
  - `[phase_space.chili].start_vegas_bins` -> `[phase_space.vegas].n_bins_start`
  - `[phase_space.chili].max_vegas_bins` -> `[phase_space.vegas].n_bins_max`
- **Breaking:** Swap default for zero-weight event output.
  Accordingly, the command line argument
  `-z|--zero-weight-output-disabled` is replaced with
  `-z|--zero-weight-output-enabled`, and now enables instead of disabled
  zero-weight event output. (!146)
- Change setting name `device|--device` -> `device_id|--device-id`.
  The old setting name can still be used as an alias.
- Reduce LHAPDF version requirement from 6.5.4 to 6.5.

PERFORMANCE

- Only generate and read in colour factor files on the main MPI node. The
  results are then broadcasted to the other nodes. This should reduce filesystem
  I/O on large HPC systems.
- Improve performance when using host-only PDF. (!146)