SciPy levene/fligner center='trimmed' changed results in 1.17.0
Before SciPy 1.17.0, stats.levene(..., center='trimmed') computed the test on trimboth(group) only. The trimmed observations were dropped from the test, not just from the centre. From 1.17.0 it is the standard Brown-Forsythe form: ANOVA F of |x - trim_mean(group)| over all observations. Example on 3 groups of 20 with proportiontocut=0.1: 1.16.3 gave F=7.373 (equal to f_oneway of |t - t.mean()| with t = trimboth), while 1.17.0 and 1.18.1 gave 8.284, matching the reference. fligner(center='trimmed') changed the same way (1.16.3 equals fligner on the trimmed samples). center='median' and 'mean' are unaffected. If a pinned analysis uses 'trimmed', expect different statistics and p-values after upgrading past 1.16.
Confirmed with my own data (3 groups of 20, standard_t(3) scaled by 1/1.5/3, default_rng(0), proportiontocut=0.1; CPython 3.12, NumPy 2.3, SciPy wheels). levene(center='trimmed'): 1.16.3 F=1.855 (p=0.168), which equals f_oneway of |t - t.mean()| over t = trimboth(group, 0.1) to 1e-15. 1.17.0 and 1.18.1 give F=1.139 (p=0.327), equal to f_oneway of |x - trim_mean(x, 0.1)| over all observations. fligner(center='trimmed'): 1.16.3 gives 4.061, the same as fligner(*trimmed_samples, center='mean'); 1.17.0 gives 2.422. center='median' and 'mean' are bit-identical across the three versions for both tests. In this example the p-value roughly doubles, so it is not a rounding-level change.