Skip to content

Framework Info.plist on macOS version number formats do not follow Apple guideline #142295

@codeskipper

Description

@codeskipper

Bug description:

When checking the latest Python version info for the framework as installed on a Mac, the Info.plist file has long and descriptive version string as value for key CFBundleShortVersionString:
3.14.1, (c) 2001-2024 Python Software Foundation.

According to Apple specification for version format in Info.plist for bundle resources the format should be

This key is a user-visible string for the version of the bundle. The required format is three period-separated integers, such as 10.14.1. The string can only contain numeric characters (0-9) and periods.
Each integer provides information about the release in the format [Major].[Minor].[Patch]:
Major: A major revision number.
Minor: A minor revision number.
Patch: A maintenance release number.

which in this example would be 3.14.1

I propose changing the format for key CFBundleShortVersionString to follow the Apple specification.

The current long version string format that includes the copyright notice is currently also used for key CFBundleLongVersionString which is not found in the Apple documentation, so that seems to be an appropriate place to keep as is for those who need it.

Following the format prescribed in the Apple documentation would help Mac software management tools such as Munki, Autopkg and Workspace ONE UEM verify the actually installed framework version, instead of just checking the macOS installer package receipts.

CPython versions tested on:

3.15, 3.14, 3.13

Operating systems tested on:

macOS

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions