Accurate particle simulations are essential for the next generation of experiments in astroparticle physics. The Monte Carlo simulation library PROPOSAL is a flexible tool to efficiently propagate high-energy leptons and photons through large volumes of media, for example in the context of underground observatories. It is written as a C++ library, including a Python interface. In this paper, the most recent updates of PROPOSAL are described, including the addition of electron, positron, and photon propagation, for which new interaction types have been implemented. This allows the usage of PROPOSAL to simulate electromagnetic particle cascades, for example in the context of air shower simulations. The precision of the propagation has been improved by including rare interaction processes, new photonuclear parametrizations, deflections in stochastic interactions, and the possibility of propagating in inhomogeneous density distributions. Additional technical improvements regarding the interpolation routine and the propagation algorithm are described. New version program summaryProgram Title: PROPOSAL.CPC Library link to program files:https://doi.org/10.17632/g478pjdcxy.2.Developer's repository link:https://github.com/tudo-astroparticlephysics/PROPOSAL.Licensing provisions: LGPL.Programming language: C++, Python.Journal reference of previous version: Comput. Phys. Commun. 242 (2019) 132.Does the new version supersede the previous version?: Yes.Reasons for the new version: Substantial addition of features. Various bugfixes.Summary of revisions: The library now also treats photons and has the corresponding processes implemented. New parametrizations for photonuclear interaction have been implemented. The angular deflection in stochastic energy losses has been implemented in addition to the already existing multiple scattering implementation, which has been improved to reduce the runtime. The implementation of the Landau-Pomeranchuk-Migdal effect has been corrected. The propagation algorithm has been improved, including the support of inhomogeneous density distributions.Nature of problem: Three-dimensional propagation of charged leptons and photons through different media. Particles lose energy stochastically by ionization, bremsstrahlung, pair production, and photonuclear interaction for charged leptons (including annihilation with atomic electrons for positrons) and Compton scattering, pair production, photoelectric effect and photohadronic interaction for photons. Additionally, they are deflected while propagating through the medium due to both multiple elastic Coulomb scattering as well as deflections in individual stochastic interactions. Unstable particles eventually decay, producing secondary particles.Solution method: Monte-Carlo simulation. The library samples the next interaction point, the type of interaction process, the energy lost in this interaction process, and the energy lost until this point. Particles are propagated until they decay, lose all their kinetic energy (for photons: reach a lower energy limit defined by the validity of the underlying cross sections), or until a user-defined termination criterion is reached. For each propagation step, the angular deflection and endpoint shift due to multiple scattering is calculated.To improve the performance and deal with the divergence of the bremsstrahlung cross section for small photon energies, energy losses below a predefined relative or absolute energy threshold are treated continuously. The computation time is improved by the use of interpolation tables.