Has there been a change in the remake function recently?

The following code worked one month ago:

prob_rm = remake(prob, u0=[], p=p_modify)
sol = solve(prob_rm, QBDF(), reltol=1e-5,tstops=t_u_switch)

Now, I get an error message:

Mass matrix size is incompatible with initial condition
sizing. The mass matrix must represent the `vec`
form of the initial condition `u0`, i.e.
`size(mm,1) == size(mm,2) == length(u)`
size(prob.f.mass_matrix,1): 6
length(u0):

I probably carried over theremake syntax pre-MTK. Setting u0=[] worked at least until late December 2023 for MTK based models; I think also until early January 2024 (I used the syntax in a notebook for a paper with revised sumbission ca Jan 12 2024.)

Since this is a kwarg, Iâ€™d perhaps think the default was an empty dictionaryâ€¦ Will check later

Why? Is this because one cannot have two statements in sequence (unlikely), or because m is a state (while A is a parameter)? Note that prob[m] = _m did work with the deprecated syntax.

You can use the simplified forms if you want, i.e. prob.ps[m] = _m.

The reason is because the previous form could never be type stable or fast, so people were bypassing the system with homebrewed solutions that were type-stable. So we changed the core syntax to something that is allowed to be optimal, with some syntactic sugar for simplifications that lose performance.