Changed more of the internal ATF handling to avoid working out the length of strings when it's already been determined for a small performance improvement especially when doing 1000's of ATF calls
That's the reason for it not behaving correctly with build 25130 which was not intentional & will require a new build to resolve it.
I might also see about adding an extra parameter or a case insensitive version of $replace as it caught me out initially that the string I was testing with didn't match exactly.
[edit]Have added an optional fourth parameter to what'll be part of the next build which is set to 1 (e.g.
$replace(%title%,String,,1)) will treat string & String as the same. If not set or not what's expected then it'll keep doing it all as case-sensitive comparisons.