Version 1.4.0 (native implementation)

ADDED

- Add utility tools pepper-h5show and pepper-h5edit to inspect, filter and shuffle LHEH5 files
  ([!173](https://gitlab.com/spice-mc/pepper/-/merge_requests/173),
  ([!175](https://gitlab.com/spice-mc/pepper/-/merge_requests/175),
  ([!196](https://gitlab.com/spice-mc/pepper/-/merge_requests/196))
- Add `n_max_quark_pairs` setting
  ([93eb6a5d](https://gitlab.com/spice-mc/pepper/-/commit/93eb6a5d2edbf2778f19f34ac35e8e5afc0e6929))
- Add new "a:b:c" format for `device_id`, where "a", "b" and "c" are non-negative integers.
  The resolved device identifier is then evaluated as $a + (rank\_id * c) % b$,
  where "rank\_id" is the MPI rank number.
  ([!178](https://gitlab.com/spice-mc/pepper/-/merge_requests/178))
- Add support for an embedded Kokkos installation to simplify installing Pepper
  ([!201](https://gitlab.com/spice-mc/pepper/-/merge_requests/201))

FIXED

- Fix time-per-event output issue
  when generating more than $2^31$ trial events
  ([3b5ebf7e](https://gitlab.com/spice-mc/pepper/-/commit/3b5ebf7e6b55837e9df4f24e84d7dc37c5fdeb68))
- Fix phase-space biasing bugs
  ([!183](https://gitlab.com/spice-mc/pepper/-/merge_requests/183),
  [!193](https://gitlab.com/spice-mc/pepper/-/merge_requests/193),
  [!195](https://gitlab.com/spice-mc/pepper/-/merge_requests/195))
- Add missing cross section entry in HepMC3 event output
  for unweighted event generation
  ([!183](https://gitlab.com/spice-mc/pepper/-/merge_requests/183))
- Fix weight maxima read-in ordering bug for processes
  with more than one subprocess
  ([5745f4d3](https://gitlab.com/spice-mc/pepper/-/commit/5745f4d3f92ce591bd20b88b0db1c007baf346a3))
- Fix process file vs. flavour spec heuristics
  ([!171](https://gitlab.com/spice-mc/pepper/-/merge_requests/171))
- Update process setting documentation in defaults.ini example
  ([069c91c7](https://gitlab.com/spice-mc/pepper/-/commit/069c91c70b4fe19555ab69be1a5824e5fa19d936))
- Add missing device-specific batch size MPI sync,
  which otherwise defaulted to 1 for all MPI ranks other than main
  ([!181](https://gitlab.com/spice-mc/pepper/-/merge_requests/181))
- [main] Fix the logic for enabling VCL support.
  Accidentally, it was unconditionally disabled in all cases.
  Now it is enabled per default when CUDA is not used.
  ([!183](https://gitlab.com/spice-mc/pepper/-/merge_requests/183))
- Add missing PDF info in HDF5/LHEH5 output.
  ([!198](https://gitlab.com/spice-mc/pepper/-/merge_requests/198))

CHANGED

- Increase LHEH5 output file format version to 2.1.0. All attribute container
  keys are now called "properties". Previously the attribute container for the
  dataset "events" was also called "events".
  ([!173](https://gitlab.com/spice-mc/pepper/-/merge_requests/173))
- Enforce a minimum selection weight for distinct flavour processes
  during the event unweighting optimisation. This makes sure
  that less additional iterations are needed to find results
  for all distint flavour processes.
  ([!188](https://gitlab.com/spice-mc/pepper/-/merge_requests/188))
- Change VEGAS dampening factor ("alpha") default from 1.0 to 0.8
  to improve its numerical stability
  ([!188](https://gitlab.com/spice-mc/pepper/-/merge_requests/188))
- Change integration defaults to the following new values:
  ```ini
  [phase_space.optimisation]
  n_iter = 15
  n_nonzero_min = 10000
  n_nonzero_min_growth_factor = 1

  [phase_space.integration]
  n_iter = 3
  n_nonzero_min = 50000
  n_nonzero_min_growth_factor = 1
  ```
  Before, a growth factor was used during optimisation,
  but the benefit was not clear.
  ([!188](https://gitlab.com/spice-mc/pepper/-/merge_requests/188))
- Show unbiased cross section in output when using phase-space biasing
  ([!183](https://gitlab.com/spice-mc/pepper/-/merge_requests/183))
- Do not automatically enable `cppcheck` support during configuration.
  Instead, use `-DPEPPER_CPPCHECK_ENABLED=1` to enable it.
  ([!183](https://gitlab.com/spice-mc/pepper/-/merge_requests/183))