>From a user point of view, can also be seen as a "regression",
when an observable property of the system changes to a new
different / incompatible way, to some extent. I'm not saying it is,
still it is a change one discovers too late, creates pain to some,
and is both worth reporting and discussing.
Isn't this only true if you use the new sql_body/BEGIN ATOMIC syntax, though? Can't you keep using the older AS 'definition' syntax and still get the body of the function, unchanged, in the prosrc column? You would, of course, lose the benefit of the dependency tracking. As a user, though, I don't find it surprising that creating a function using new syntax specifically designed to provide dependency tracking would change the way the function is stored internally.
To me, the new syntax gives the same benefits and drawbacks to SQL functions that we already have with views, which are also re-written on creation.
-Jeremy