  In high-energy physics, Monte Carlo event generators (MCEGs) are used to
simulate the interactions of high energy particles. MCEG event records store
the information on the simulated particles and their relationships, and thus
reflects the simulated evolution of physics phenomena in each collision event.
  We present the HepMC3 library, a next-generation framework for MCEG event
record encoding and manipulation, which builds on the functionality of its
widely-used predecessors to enable more sophisticated algorithms for
event-record analysis. By comparison to previous versions, the event record
structure has been simplified, while adding the possibility to encode arbitrary
information. The I/O functionality has been extended to support common input
and output formats of various HEP MCEGs, including formats used in Fortran
MCEGs, the formats established by the HepMC2 library, and binary formats such
as ROOT; custom input or output handlers may also be used. HepMC3 is already
supported by popular modern MCEGs and can replace the older HepMC versions in
many others.
