3.4: This attribute now defaults to None for modules created dynamically using the types.ModuleType constructor. Previously the attribute was optional.
3.6: The value of __package__ is expected to be the same as __spec__.parent. __package__ is now only used as a fallback during import resolution if __spec__.parent is not defined.
3.10: ImportWarning is raised if an import resolution falls back to __package__ instead of __spec__.parent.
3.12: Raise DeprecationWarning instead of ImportWarning when falling back to __package__ during import resolution.