# What’s New in 0.12.1¶

## Summary¶

This release of OpenMC includes an assortment of new features and many bug fixes. The openmc.deplete module incorporates a number of improvements in usability, accuracy, and performance. Other enhancements include generalized rotational periodic boundary conditions, expanded source modeling capabilities, and a capability to generate windowed multipole library files from ENDF files.

## New Features¶

• Boundary conditions have been refactored and generalized. Rotational periodic boundary conditions can now be applied to any N-fold symmetric geometry.
• External source distributions have been refactored and extended. Users writing their own C++ custom sources need to write a class that derives from openmc::Source. These changes have enabled new functionality, such as:
• Mixing more than one custom source library together
• Mixing a normal source with a custom source
• Using a file-based source for fixed source simulations
• Using a file-based source for eigenvalue simulations even when the number of particles doesn’t match
• New capability to read and write a source file based on particles that cross a surface (known as a “surface source”).
• Various improvements related to depletion:
• Multigroup current and diffusion cross sections can be generated through the openmc.mgxs.Current and openmc.mgxs.DiffusionCoefficient classes.
• Added openmc.data.isotopes() function that returns a list of naturally occurring isotopes for a given element.
• Windowed multipole libraries can now be generated directly from the Python API using openmc.data.WindowedMultipole.from_endf().
• The new openmc.write_source_file() function allows source files to be generated programmatically.

## Contributors¶

This release contains new contributions from the following people: