How can I see which change caused the view to become invalid?
for each of these dependant objects - that should give you an indication of which objects have changed and caused the view to be invalid as a result.
I thought that when I compiled before I executed the script that would fix any invalid references.
Until 188.8.131.52, constants did also cause this behavior (see documentation).
The scenario that created this question: We have a package that is a dependency of another package, sometimes making changes to the "parent" package causes the dependent package to become invalid, but sometimes it doesn't. It would be very useful to simply understand what causes invalidation so I could predict/plan for it.
My immediate guess would be that your package also drops or references the table that you're creating.
So, at some points the package may be trying to reference a non-existent table. The far worse option is to wrap every single call that uses that table that may, or may not, exist in an Upvoted, thanks, for the informative answer.