Updated upper bounds of core dependencies to latest available versions
This is updating dependencies of the core package. They can and are broader than what we use for primitives, which we can decide later on if we want to change which fixed versions of packages we want to use.