@Crell It's often not a complete rewrite.
It's instead death by a thousand deprecations and small changes.
Example: switching resources to objects. Great idea! I love the type safety! But it introduces subtle bugs in code that was checking for resources and verifying resource types previously. And not all of them have been switched yet!
Or deprecation of dynamic properties. You may not realize you were even using them... and now a warning, which your error handler converts to an exception.