Recently I came across with very dangerous behaviour when developing on a team, because sqldeveloper is not refreshing package spec & body without the need to refresh package list.
Example:
- User A opens a package, then user B opens same package.
- User B makes some changes and compiles the package.
- After that, user A closes the package and opens it again.
- User A can't see user B changes.
- User A must press refresh package list to see user's B changes:

That behaviour is very dangerous, as we can loose changes by accident. Also it would be nice to add the capability to sqldeveloper to warn you when other session made changes to the object definition after you opened it, as it does with tables data.