# 2.11. Version 5.10 (2022/10/03)

New Features

  - Improved predictor-corrector behavior for problems with multiple equation systems. Previously all DOF fields would be predicted prior to the start of the time step, which would lead to earlier equation systems using predicted field values for the DOFs from later equation systems. Now Aria will wait to compute the predicted DOF fields until immediately prior to the solve of the corresponding equation system.

  - Support use of cyclic/recursive string functions in postprocessors

  - Added capability to transfer from a shell element field to a face field when using an input region.

Bug Fixes

  - Fixed line search residual to follow the convention of being reported at the start of the step. Previously, a) residuals could appear to falsely stagnate when the correction tolerance criteria caused a skip in the line search and b) an extra nonlinear iteration would occur when used in combination with the nonlinear residual ratio criteria.

Upcoming Deprecations (will warn in 5.10)

  - Encore functions. See Legacy Postprocessor Conversion for help on conversion/available tools.

  - Legacy aria post-processors. See Legacy Postprocessor Conversion for help on conversion/available tools.

  - Migration away from “magic parameter strings” requires updating user plugin expressions with the following changes or they will not compile

    1. Change constructor to take `const PrsrParamMap& params` instead of `const String& params`

    2. Do not pass a params string to the base Expression, FAD_Expression, or User_Equation_System_Utility class

    3. Retrieve parameters using one of the following commands:

    >     get_required_parameter(params, "ParamName", value, ParamCtx{this});
    >     get_optional_parameter(params, "ParamName", value);

    >     const auto value = get_required_parameter<double>(params, "ParamName", ParamCtx{this});
    >     const auto value = get_optional_parameter_or_default(params, "ParamName", defaultValue);

    >     // returns std::optional
    >     const auto value = get_optional_parameter<double>(params, "ParamName");

New Deprecations (will error in 5.10)

  - The use of `postprocess FLUX_TYPE for EQ` is no longer supported, use `postprocess FLUX_TYPE of equation EQ` instead to better distinguish between postprocessors that operate on equations vs expressions.

  - Several unused ChemEq solver parameters have been deprecated. These commands have been unused and ignored for several releases.

  - The EXP_DECAY density model has been deprecated. Use a scalar string function as a replacement.

  - The output from the `Time Derivative = Calculated` expression has been changed from `ddt_something` to `dt_something`. Both outputs will be produced in 5.8 but in 5.10 only the `dt_` output will be present.