As of ethPM V3, the name and version field of a manifest are no longer strictly required. Best practice is that every package should define these in their manifest. Some tooling may even go as far as requiring these fields are defined before cutting a release. When a package is released on a registry, users must provide an official name and version under which to identify a release on the blockchain. The following table defines how a package should be identified, considering the various cases when manifest defines / omits the name and version, and whether or not the manifest is stored on an on-chain registry.