There was a change in how "constant functions" are processed. Perhaps the change you are referring to is this one: <https://www.sqlite.org/src/info/c5f96a085db9688a> which would have appeared at version 3.32.0. That change basically moved "constant function evaluation" from the preamble to a once block. This was done so that "constant functions" are only evaluated when required thus permitting coalesce and CASE conditionals to short-circuit as documented.