**New features**
- Add a `MicrosatMutationModel` mutation model class, that
represents a generalized interface for constructing mutational
models appropriate to STRs. In addition 3 specific microsat models
are added `SMM`, `TPM`, and `EL2`.
({issue}`2013`, {user}`andrewkern`).
- Raise an error if `log_arg_likelihood` is called on a recombinant tree
sequence that has no recombination nodes (({issue}`2123`, {pr}`2124`,
{user}`hyanwong`)
- Add ability to record specific node types with the `additional_nodes`
flag as well as record edges for coalescing nodes along non-coalescing segments. ({issue}`2128`, {issue}`2132`, {pr}`2162`,
{user}`GertjanBisschop`)
- Enable `additional_nodes` and `coalescing_segments_only` flags for `DTWF` and `FIXED_PEDIDGREE` models ({issue}`2129`, {issue}`2133`, {issue}`2167`, {pr}`2176`,
{user}`GertjanBisschop`)
- Support Python 3.11 ({issue}`2177`, {pr}`2180`, {user}`benjeffery`)
**Bug fixes**:
- Fix segfault in case of non-binary merger for `log_arg_likelihood` ({issue}`2107`, {pr}`2114`, {user}`JereKoskela`)
**Maintenance**:
- Update tskit to Python 0.5.2 ({pr}`2116`, {user}`benjeffery`).
- Automatically flush edges whenever an edge with a different parent is added to the edge buffer. ({issue}`2182`, {pr}`2183`, {user}`GertjanBisschop`)
**Breaking changes**:
- msprime no longer supports Python 3.7