Here is a summary of what’s changed since release 29.1:

- Fixed a memory leak in the FTABLE element.

- Fixed calculations of exact normalized emittance (error in equations) and implemented in parallel version. This bug impacted results in the sigma output file of the run_setup command and in WATCH output in parameter mode. J. Bjorklund pointed out the lack of calculations in the parallel version and provided an example run that helped discover the problem with the serial version.
- The diffusionRate output from the frequency_map command is now computed as
log
_{10}((Δν_{x}^{2}+ Δν_{y}^{2})∕n) instead of (log_{10}(Δν_{x}^{2}+ Δν_{y}^{2}))∕n. - Fixed a bug in bunched_beam whereby the centroids for a shell-type beam were offset from zero. Reported by L. Emery (ANL).
- Fixed bug in moments_output when bending magnts with non-zero ETILT are present. When this occurs, the number of slices for moments calculation is set to 1 for those elements, to avoid numerical problems with the vertical orbit.

- Added the LEFFECTIVE parameter for QUAD and KQUAD, which provides a convenient way to change the effective length without changing the adjacent drift spaces. Also added the ability to turn off the linear fringe field effects while keeping the nonlinear part, and to multiply the nonlinear effects by a numerical factor.
- Added the BMXYZ element for straightforward integration through 3D field maps for straight elements.
- Added the BRAT element, which is similar to BMXYZ but accommodates curved elements. Elements may be asymmetric, e.g., longitudinal gradient dipoles.
- Added the FACTOR and THRESHOLD options to FTABLE. The former allows multiplying the fields by a user-defined factor. The latter allows specifying the magnitude of the field below which it is considered zero, which can help ensure numerical stability.
- The FTABLE element can accept the simple-to-create input files used by the BMXYZ element in addition to the original input format.
- Results that depend on the transport matrix will show small changes for elements for which the matrix is determined by tracking. The tracking-based method was modified to use a larger number of sample points, increasing the accuracy.

- Added the full_grid_output parameter to the frequency_map command, making it possible to display frequency maps using sddscontour.

- Implemented exact normalized emittance calculations for the sigma output file of the run_setup command and in WATCH output in parameter mode. J. Bjorklund pointed out the lack of calculations in the parallel version.
- Fixed bug in assignment of particle ID values when using Halton sequences in the bunched_beam command.

- The program abrat (“Asymmetric Bend RAy tracing”) was added. It allows tracking electrons through 2- and 3-D magnetic field maps. It is a commandline version of the BRAT element.
- The script ionTrapping was added, providing simple ion trapping calculations for uniform bunch trains. J. Calvey (APS) helped with debugging.
- The script computeSCTuneSpread was added to allow computation of space-charge tune spread.
- The script radiationEnvelope now computes envelopes for central cone flux.