==================
- Dropped support for Python 3.8.
- Added support for Python 3.13.
- Added explicit dependency on setuptools.
- ``ConstraintCollocator`` raises an error if all equations of motion are
algebraic, i.e. none are differential equations.
- ``plot_constraint_violations()`` now returns a variable number of subplot
rows depending on the number of instance constraints. This makes the plot
readable with large numbers of instance constraints.
- Internal common sub expression replacement symbols are now assumed to be
real.
- Improvements to docstrings of ``Problem.solve()``.
- Added ``Problem.parse_free()`` to simplify use of the ``parse_free()``
function.
- Added attribute descriptions to ``ConstraintCollocator`` docstring.
- Support for single first order differential equation instead of limiting to
two first order (i.e. only second order systems).
- Enabled math constants on Windows to support ``sympy.pi``, for example.
- Made SciPy an optional dependency (was required).
- Fixed bug from backwards incompatible change in Python 3.13 for docstring
indentation.
- Fixed bug where ``Problem.plot_`` methods did not return anything.
- Fixed bug in trajectory plots so that the input trajectories are labeled with
known, unknown, or both types of inputs.
- Made all ``ConstraintCollocator`` attributes properties with no setter
methods, i.e. everything must be passed into the constructor to properly
construct the object.
- Separated examples into beginner, intermediate, and advanced groups.
- Added ``MathJaxRepr`` for printing SymPy expressions in the example gallery.
- Use MathJax v2 in the documentation so that long expressions will line wrap.
- Examples added:
- Ball rolling on spinning disc
- Car moving around pylons
- Car parking into a garage
- Crane moving a load
- Delay equation (inequality constraints example)
- Human gait
- Mississippi steamboat
- Non-contiguous parameter identification
- ODE vs DAE comparison
- Particle moving through a helical tube
- Single EoM & hypersensitive control
- Sit-to-stand
- Standing balance control identification