Skip to content

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

Closed

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

Linked PRs

Activity

  1. codeskipper commented on Dec 5, 2025

    @codeskipper
    ContributorAuthor
    Image

    Here's what the Info.plist currently looks like with the latest production version installed.

    Path: /Library/Frameworks/Python.framework/Versions/3.14/Resources/Info.plist

  2. self-assigned this
    on Dec 5, 2025
  3. added 3 commits that reference this issue on May 6, 2026
  4. ned-deily commented on May 7, 2026

    @ned-deily
    Member

    @codeskipper, Thank you for opening this issue and for all the work you did on creating the original pull request. My apologies for not getting around to reviewing it earlier. The PR looked good however, while I was reviewing it, I realized that all of the Info.plist files were in need of housecleaning after many years. And I did want to get those changes in time for the beta 1 cutoff. I also wanted to make sure your work was acknowledged in the cpython repo. I was unable to push additional changes to your branch, so I took the somewhat unusual path of first merging your PR and then merging an additional PR (#149479) to cover the additional scope. All of the changes should appear in the next Python 3.15 preview release. Thanks again and congratulations on your first cpython PR (according to GitHub)!

  5. added a commit that references this issue on May 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions