Releases: munki/munki
Munki 7.0.5 Official Release
This is the official release of Munki 7.0.5, a bug-fix update to the Munki tools.
In Munki 7, the command-line tools and their helpers, previously written in Python and requiring a Python interpreter with PyObjC available, have all been rewritten in Swift and are compiled executables.
Supported OSes
- The Munki 7 command-line tools are built with a deployment target of macOS 10.15. That means the code runs on 10.15+, but little testing has been done on OSes prior to macOS 14. Munki 7 drops support for macOS 10.13 and 10.14.
- Managed Software Center has been updated to adopt the new look for macOS 26 (when built using Xcode 26, and when running on macOS 26). It runs as far back as macOS 10.15.
Build info
-
This release was built with Xcode 26.0.1 (17A400) on macOS 26.0.1 (25A362) via a GitHub Actions workflow here: https://github.com/macadmins/munki-builds. It has been signed and notarized by MacAdmins Open Source.
-
You can build this with Xcode 16, but the Managed Software Center application will not adopt all the new macOS 26-specific behavior/appearance.
-
The distribution package now contains a new/additional component package:
com.googlecode.munki.libs. On macOS 10.15 and macOS 11, this package installs a Swift runtime dynamic library needed for some of the Munki command-line tools. In a Munki pkginfo for this release, you should mark that receipt as optional. -
Distribution package version: 7.0.5.5448
- Components:
- com.googlecode.munki.core 7.0.5.5448
- com.googlecode.munki.admin 7.0.5.5448
- com.googlecode.munki.app 7.0.5.5446
- com.googlecode.munki.app_usage 7.0.5.5448
- com.googlecode.munki.launchd 7.0.0.5320
- com.googlecode.munki.pythonlibs 6.7.0.5293
- com.googlecode.munki.libs 5.5
- Components:
Changes/fixes in v7.0.5:
- Better logging for scripts run by managedsoftwareupdate. Thanks to @MagerValp: #1294
- Managed Software Center: fix display of double-digit pending updates. Thanks to @gmarnin #1295 #1297
- Properly handle
AdditionalHttpHeadersvalues that contain ":" characters. Thanks to @camguise. #1296 makepkginfo: Allow--version-scriptto be used even if there is no installer item. Thanks to @vmiller. #1298- Managed Software Center: On app launch, display the page of the first sidebar item (instead of assuming it is the All Software view). #1299
makepkginfo/munkiimport: Add--uninstallpkgas another alias for--uninstalleritem. Thanks to @PeetMcK. #1300- Logging changes/improvements:
- When posting a new Notification Center notification, make sure any previous notifications are removed
A complete list of changes from the 7.0.5 release is here: https://github.com/munki/munki/compare/v7.0.4..v7.0.5
New features in Munki 7:
- Managed Software Center now supports customization of the sidebar. See https://github.com/munki/munki/wiki/Customizing-Managed-Software-Center-sidebar for details. Thanks to @SteveKueng for the initial implementation.
version_script: pkginfo items may now contain the keyversion_script. The expected value for this key is a string, containing a script that outputs the version number of a currently-installed version of the software, or an empty string (or exits non-zero) if the software is not currently installed. This is a new mechanism Munki can use to determine whether or not an item needs to be installed (or updated). Since it returns a version number, and Munki can use its existing version number logic, in most cases using aversion_scriptwill be superior to using aninstallcheck_script.- During bootstrapping, if on A/C power or battery level is greater than 50% on Intel or greater than 30% on Apple silicon, the status app will prevent the display from going to sleep so that bootstrap progress is displayed. Thanks to @chrisgrande. (See #1215)
Munki 7 removed features:
Some features and capabilities supported by previous versions of Munki are no longer supported:
-
The
startosinstallinstaller_type, used to install macOS major upgrades on Intel Macs is no longer supported. Thestage_os_installerinstaller_type works on both Intel and Apple silicon, and is supported in Munki 7. -
Installation of Apple software updates. Munki 6 does not install Apple updates on Apple silicon, but instead prompts the user to use Apple tools (System Settings app; softwareupdate) to do so. Munki 7 extends this behavior to Intel Macs as well.
-
Apple update metadata (https://github.com/munki/munki/wiki/Pkginfo-For-Apple-Software-Updates) The installer_type
apple_update_metadatais no longer supported. -
The following Adobe installer_types are no longer supported:
- AdobeSetup
- AdobeUberInstaller
- AdobeAcrobatUpdater
- AdobeCS5AAMEEPackage
- AdobeCS5PatchInstaller
- AdobeCCPInstaller
-
Additionally, the following uninstall_methods are no longer supported:
- AdobeSetup
- AdobeUberUninstaller
- AdobeCS5AAMEEPackage
- AdobeCCPUninstaller
-
To use Munki 7 to install Adobe software, use the Adobe admin console to create Apple installer packages (that Munki can install via its support for Apple installer packages).
-
The installer_type
profileis no longer supported. Munki 7 has no support for the installation or removal of configuration profiles, and additionally, support for configuration profile "emulation" has been removed as well. Admins should be using an MDM solution to manage configuration profiles on macOS. -
The
appdmginstaller_type is no longer supported (this has been deprecated for well over a decade): https://github.com/munki/munki/wiki/App-Dmg-Package-Notes -
The
suppress_bundle_relocationpkginfo key is no longer supported. This only ever worked for bundle-style packages. -
The
repochecktool in the attached files ("Assets") is a basic proof-of-concept tool to analyze your Munki repo for pkginfo items that contain things no longer supported by Munki 7. There are currently no options -- it will scan whatever repo your currentmunkiimportpreferences points to.
Middleware:
- Python middleware compatible with Munki 6 will not work with Munki 7. Several popular middleware modules have been ported to Swift using Munki 7's middleware protocol, and are believed to work:
Repo plugins:
- Python repo plugins compatible with Munki 6 will not work with Munki 7. A Swift repo plugin protocol is available, and the MWA2APIRepo plugin was ported to Swift, largely as a proof-of-concept so that vendors who have incorporated Munki into their products and have written repo plugins have example code to follow.
Preparing for Munki 7 deployment
There are likely things you as a Munki admin will need to do to prepare for deploying Munki 7 in your organization. Be sure to consult the wiki for information on how you might need to deal with the changes in Munki 7:
https://github.com/munki/munki/wiki/Munki-7-Introduction
Other notes:
- The installer package for this release contains a component package that installs the Python libraries used by Munki 6.7 (aka "munkilib"). This is intended as a transition aid. (We use Sal where I work and some of the Sal reporting scripts import code from inside munkilib). The intention would be for Munki admins to identify these sorts of dependencies and work to eliminate them.
- Installing the Munki 7 package over an existing Munki 6.x install will leave the munki-python symlink and Munki's Python.framework in place. This might be helpful while transitioning, but might also make it easier to miss dependencies on that Python. You might consider removing Munki 6's included Python to see what breaks.
Munki 7.0.4 Official Release
This is the official release of Munki 7.0.4, a bug-fix update to the Munki tools.
In Munki 7, the command-line tools and their helpers, previously written in Python and requiring a Python interpreter with PyObjC available, have all been rewritten in Swift and are compiled executables.
Supported OSes
- The Munki 7 command-line tools are built with a deployment target of macOS 10.15. That means the code runs on 10.15+, but little testing has been done on OSes prior to macOS 14. Munki 7 drops support for macOS 10.13 and 10.14.
- Managed Software Center has been updated to adopt the new look for macOS 26 (when built using Xcode 26, and when running on macOS 26). It runs as far back as macOS 10.15.
Build info
-
This release was built with Xcode 26.0.1 (17A400) on macOS 26.0.1 (25A362) via a GitHub Actions workflow here: https://github.com/macadmins/munki-builds. It has been signed and notarized by MacAdmins Open Source.
-
You can build this with Xcode 16, but the Managed Software Center application will not adopt all the new macOS 26-specific behavior/appearance.
-
The distribution package now contains a new/additional component package:
com.googlecode.munki.libs. On macOS 10.15 and macOS 11, this package installs a Swift runtime dynamic library needed for some of the Munki command-line tools. In a Munki pkginfo for this release, you should mark that receipt as optional. -
Distribution package version: 7.0.4.5390
- Components:
- com.googlecode.munki.core 7.0.4.5390
- com.googlecode.munki.admin 7.0.4.5390
- com.googlecode.munki.app 7.0.1.5334
- com.googlecode.munki.app_usage 7.0.4.5390
- com.googlecode.munki.launchd 7.0.0.5320
- com.googlecode.munki.pythonlibs 6.7.0.5293
- com.googlecode.munki.libs 5.5
- Components:
Changes/fixes in v7.0.4:
- Updates to warning/error/debug messages around startosinstall items (which are no longer supported): e2bb5dd 6c7cc11
- Remove support for
startosinstallitems frommakepkginfoandmunkiimport(since Munki 7'smanagedsoftwareupdatedoesn't support them): d26c99a 26ee757 - When logging LastNotifiedDate, use RFC 3339 date format. 1a13d0a Addresses #1289. Thanks to @aysiu
- A fix for determining an icon name if the item
namecontains a period: b99be14 Addresses #1290. Thanks to @fseesink - makepkginfo/munkimport: Don't fail silently if we can't read a script file. 9aac35b
- When checking installation state, ignore empty installs arrays: 3ee1118 Thanks to @nmcspadden
- Improved parsing of file paths for several makepkginfo/munkiimport options. Addresses #1291
- A fix for the environment for scripts and tools run by
managedsoftwareupdate4f4ae55 Thanks to @homebysix
A complete list of changes from the 7.0.3 release is here: https://github.com/munki/munki/compare/v7.0.3..v7.0.4
New features in Munki 7:
- Managed Software Center now supports customization of the sidebar. See https://github.com/munki/munki/wiki/Customizing-Managed-Software-Center-sidebar for details. Thanks to @SteveKueng for the initial implementation.
version_script: pkginfo items may now contain the keyversion_script. The expected value for this key is a string, containing a script that outputs the version number of a currently-installed version of the software, or an empty string (or exits non-zero) if the software is not currently installed. This is a new mechanism Munki can use to determine whether or not an item needs to be installed (or updated). Since it returns a version number, and Munki can use its existing version number logic, in most cases using aversion_scriptwill be superior to using aninstallcheck_script.- During bootstrapping, if on A/C power or battery level is greater than 50% on Intel or greater than 30% on Apple silicon, the status app will prevent the display from going to sleep so that bootstrap progress is displayed. Thanks to @chrisgrande. (See #1215)
Munki 7 removed features:
Some features and capabilities supported by previous versions of Munki are no longer supported:
-
The
startosinstallinstaller_type, used to install macOS major upgrades on Intel Macs is no longer supported. Thestage_os_installerinstaller_type works on both Intel and Apple silicon, and is supported in Munki 7. -
Installation of Apple software updates. Munki 6 does not install Apple updates on Apple silicon, but instead prompts the user to use Apple tools (System Settings app; softwareupdate) to do so. Munki 7 extends this behavior to Intel Macs as well.
-
Apple update metadata (https://github.com/munki/munki/wiki/Pkginfo-For-Apple-Software-Updates) The installer_type
apple_update_metadatais no longer supported. -
The following Adobe installer_types are no longer supported:
- AdobeSetup
- AdobeUberInstaller
- AdobeAcrobatUpdater
- AdobeCS5AAMEEPackage
- AdobeCS5PatchInstaller
- AdobeCCPInstaller
-
Additionally, the following uninstall_methods are no longer supported:
- AdobeSetup
- AdobeUberUninstaller
- AdobeCS5AAMEEPackage
- AdobeCCPUninstaller
-
To use Munki 7 to install Adobe software, use the Adobe admin console to create Apple installer packages (that Munki can install via its support for Apple installer packages).
-
The installer_type
profileis no longer supported. Munki 7 has no support for the installation or removal of configuration profiles, and additionally, support for configuration profile "emulation" has been removed as well. Admins should be using an MDM solution to manage configuration profiles on macOS. -
The
appdmginstaller_type is no longer supported (this has been deprecated for well over a decade): https://github.com/munki/munki/wiki/App-Dmg-Package-Notes -
The
suppress_bundle_relocationpkginfo key is no longer supported. This only ever worked for bundle-style packages. -
The
repochecktool in the attached files ("Assets") is a basic proof-of-concept tool to analyze your Munki repo for pkginfo items that contain things no longer supported by Munki 7. There are currently no options -- it will scan whatever repo your currentmunkiimportpreferences points to.
Middleware:
- Python middleware compatible with Munki 6 will not work with Munki 7. Several popular middleware modules have been ported to Swift using Munki 7's middleware protocol, and are believed to work:
- Though these ported middleware modules are believed to work, they are not officially supported at this time. My preference would be for others who actually use the modules to take over development, support, and maintenance.
Repo plugins:
- Python repo plugins compatible with Munki 6 will not work with Munki 7. A Swift repo plugin protocol is available, and the MWA2APIRepo plugin was ported to Swift, largely as a proof-of-concept so that vendors who have incorporated Munki into their products and have written repo plugins have example code to follow.
Preparing for Munki 7 deployment
There are likely things you as a Munki admin will need to do to prepare for deploying Munki 7 in your organization. Be sure to consult the wiki for information on how you might need to deal with the changes in Munki 7:
https://github.com/munki/munki/wiki/Munki-7-Introduction
Other notes:
- The installer package for this release contains a component package that installs the Python libraries used by Munki 6.7 (aka "munkilib"). This is intended as a transition aid. (We use Sal where I work and some of the Sal reporting scripts import code from inside munkilib). The intention would be for Munki admins to identify these sorts of dependencies and work to eliminate them.
- Installing the Munki 7 package over an existing Munki 6.x install will leave the munki-python symlink and Munki's Python.framework in place. This might be helpful while transitioning, but might also make it easier to miss dependencies on that Python. You might consider removing Munki 6's included Python to see what breaks.
Munki 7.0.3 Official Release
This is the official release of Munki 7.0.3, a bug-fix update to the Munki tools.
In Munki 7, the command-line tools and their helpers, previously written in Python and requiring a Python interpreter with PyObjC available, have all been rewritten in Swift and are compiled executables.
Supported OSes
- The Munki 7 command-line tools are built with a deployment target of macOS 10.15. That means the code runs on 10.15+, but little testing has been done on OSes prior to macOS 14. Munki 7 drops support for macOS 10.13 and 10.14.
- Managed Software Center has been updated to adopt the new look for macOS 26 (when built using Xcode 26, and when running on macOS 26). It runs as far back as macOS 10.15.
Build info
-
This release was built with Xcode 26.0.1 (17A400) on macOS 26.0.1 (25A362) via a GitHub Actions workflow here: https://github.com/macadmins/munki-builds. It has been signed and notarized by MacAdmins Open Source.
-
You can build this with Xcode 16, but the Managed Software Center application will not adopt all the new macOS 26-specific behavior/appearance.
-
The distribution package now contains a new/additional component package:
com.googlecode.munki.libs. On macOS 10.15 and macOS 11, this package installs a Swift runtime dynamic library needed for some of the Munki command-line tools. In a Munki pkginfo for this release, you should mark that receipt as optional. -
Distribution package version: 7.0.3.5357
- Components:
- com.googlecode.munki.core 7.0.3.5357
- com.googlecode.munki.admin 7.0.3.5357
- com.googlecode.munki.app 7.0.1.5334
- com.googlecode.munki.app_usage 7.0.3.5357
- com.googlecode.munki.launchd 7.0.0.5320
- com.googlecode.munki.pythonlibs 6.7.0.5293
- com.googlecode.munki.libs 5.5
- Components:
Changes/fixes in v7.0.3:
- Fixes for
stage_os_installer: - A fix for sporadic timeout issues for custom condition scripts, postflight and preflight scripts 80754b5 Thanks to @MagerValp and @sphen13
munkiimport: Improved warning message when choosing a subdirectory that does not exist or is empty 069e7e4- More careful logic when using libedit/readline and inserting default text b08b580
A complete list of changes from the 7.0.2 release is here: v7.0.2...v7.0.3
New features in Munki 7:
- Managed Software Center now supports customization of the sidebar. See https://github.com/munki/munki/wiki/Customizing-Managed-Software-Center-sidebar for details. Thanks to @SteveKueng for the initial implementation.
version_script: pkginfo items may now contain the keyversion_script. The expected value for this key is a string, containing a script that outputs the version number of a currently-installed version of the software, or an empty string (or exits non-zero) if the software is not currently installed. This is a new mechanism Munki can use to determine whether or not an item needs to be installed (or updated). Since it returns a version number, and Munki can use its existing version number logic, in most cases using aversion_scriptwill be superior to using aninstallcheck_script.- During bootstrapping, if on A/C power or battery level is greater than 50% on Intel or greater than 30% on Apple silicon, the status app will prevent the display from going to sleep so that bootstrap progress is displayed. Thanks to @chrisgrande. (See #1215)
Munki 7 removed features:
Some features and capabilities supported by previous versions of Munki are no longer supported:
-
The
startosinstallinstaller_type, used to install macOS major upgrades on Intel Macs is no longer supported. Thestage_os_installerinstaller_type works on both Intel and Apple silicon, and is supported in Munki 7. -
Installation of Apple software updates. Munki 6 does not install Apple updates on Apple silicon, but instead prompts the user to use Apple tools (System Settings app; softwareupdate) to do so. Munki 7 extends this behavior to Intel Macs as well.
-
Apple update metadata (https://github.com/munki/munki/wiki/Pkginfo-For-Apple-Software-Updates) The installer_type
apple_update_metadatais no longer supported. -
The following Adobe installer_types are no longer supported:
- AdobeSetup
- AdobeUberInstaller
- AdobeAcrobatUpdater
- AdobeCS5AAMEEPackage
- AdobeCS5PatchInstaller
- AdobeCCPInstaller
-
Additionally, the following uninstall_methods are no longer supported:
- AdobeSetup
- AdobeUberUninstaller
- AdobeCS5AAMEEPackage
- AdobeCCPUninstaller
-
To use Munki 7 to install Adobe software, use the Adobe admin console to create Apple installer packages (that Munki can install via its support for Apple installer packages).
-
The installer_type
profileis no longer supported. Munki 7 has no support for the installation or removal of configuration profiles, and additionally, support for configuration profile "emulation" has been removed as well. Admins should be using an MDM solution to manage configuration profiles on macOS. -
The
appdmginstaller_type is no longer supported (this has been deprecated for well over a decade): https://github.com/munki/munki/wiki/App-Dmg-Package-Notes -
The
suppress_bundle_relocationpkginfo key is no longer supported. This only ever worked for bundle-style packages. -
The
repochecktool in the attached files ("Assets") is a basic proof-of-concept tool to analyze your Munki repo for pkginfo items that contain things no longer supported by Munki 7. There are currently no options -- it will scan whatever repo your currentmunkiimportpreferences points to.
Middleware:
- Python middleware compatible with Munki 6 will not work with Munki 7. Several popular middleware modules have been ported to Swift using Munki 7's middleware protocol, and are believed to work:
- Though these ported middleware modules are believed to work, they are not officially supported at this time. My preference would be for others who actually use the modules to take over development, support, and maintenance.
Repo plugins:
- Python repo plugins compatible with Munki 6 will not work with Munki 7. A Swift repo plugin protocol is available, and the MWA2APIRepo plugin was ported to Swift, largely as a proof-of-concept so that vendors who have incorporated Munki into their products and have written repo plugins have example code to follow.
Preparing for Munki 7 deployment
There are likely things you as a Munki admin will need to do to prepare for deploying Munki 7 in your organization. Be sure to consult the wiki for information on how you might need to deal with the changes in Munki 7:
https://github.com/munki/munki/wiki/Munki-7-Introduction
Other notes:
- The installer package for this release contains a component package that installs the Python libraries used by Munki 6.7 (aka "munkilib"). This is intended as a transition aid. (We use Sal where I work and some of the Sal reporting scripts import code from inside munkilib). The intention would be for Munki admins to identify these sorts of dependencies and work to eliminate them.
- Installing the Munki 7 package over an existing Munki 6.x install will leave the munki-python symlink and Munki's Python.framework in place. This might be helpful while transitioning, but might also make it easier to miss dependencies on that Python. You might consider removing Munki 6's included Python to see what breaks.
Munki 7.0.2 Official Release
This is the official release of Munki 7.0.2, a minor bug-fix update to the Munki tools.
In Munki 7, the command-line tools and their helpers, previously written in Python and requiring a Python interpreter with PyObjC available, have all been rewritten in Swift and are compiled executables.
Supported OSes
- The Munki 7 command-line tools are built with a deployment target of macOS 10.15. That means the code runs on 10.15+, but little testing has been done on OSes prior to macOS 14. Munki 7 drops support for macOS 10.13 and 10.14.
- Managed Software Center has been updated to adopt the new look for macOS 26 (when built using Xcode 26, and when running on macOS 26). It runs as far back as macOS 10.15.
Build info
-
This release was built with Xcode 26.0.1 (17A400) on macOS 26.0.1 (25A362) via a GitHub Actions workflow here: https://github.com/macadmins/munki-builds. It has been signed and notarized by MacAdmins Open Source.
-
You can build this with Xcode 16, but the Managed Software Center application will not adopt all the new macOS 26-specific behavior/appearance.
-
The distribution package now contains a new/additional component package:
com.googlecode.munki.libs. On macOS 10.15 and macOS 11, this package installs a Swift runtime dynamic library needed for some of the Munki command-line tools. In a Munki pkginfo for this release, you should mark that receipt as optional. -
Distribution package version: 7.0.2.5351
- Components:
- com.googlecode.munki.core 7.0.2.5351
- com.googlecode.munki.admin 7.0.2.5351
- com.googlecode.munki.app 7.0.1.5334
- com.googlecode.munki.app_usage 7.0.2.5351
- com.googlecode.munki.launchd 7.0.0.5320
- com.googlecode.munki.pythonlibs 6.7.0.5293
- com.googlecode.munki.libs 5.5
- Components:
Changes/fixes in v7.0.2:
- Explictly add a version_comparison_key of CFBundleVersion to an installs item if the item does not have a CFBundleShortVersionString (But does have a CFBundleVersion). Thanks to @stevemaser. b862182
- Correctly allow for symlinks in the file:// repo url for the command-line admin tools: Thanks to @loicpipoz. a3b0323
- A fix to correctly use last-modified header if etag is not available when testing if a file needs to be downloaded again from the Munki repo. Thanks to @sphen13. #1281 03993be
- A fix for a logic error in the installhelper tool that could lead to failure to load all the needed launchd jobs in some scenarios. Thanks to @alx-jones. #1284
A complete list of changes from the 7.0.1 release is here: v7.0.1...v7.0.2
Known issues
makecatalogsis slower than the Python version. Some work has been done to speed it up, but it's still slower.- There has been a report of occasional crashing in
munkimport. (See #1262)
New features in Munki 7:
- Managed Software Center now supports customization of the sidebar. See https://github.com/munki/munki/wiki/Customizing-Managed-Software-Center-sidebar for details. Thanks to @SteveKueng for the initial implementation.
version_script: pkginfo items may now contain the keyversion_script. The expected value for this key is a string, containing a script that outputs the version number of a currently-installed version of the software, or an empty string (or exits non-zero) if the software is not currently installed. This is a new mechanism Munki can use to determine whether or not an item needs to be installed (or updated). Since it returns a version number, and Munki can use its existing version number logic, in most cases using aversion_scriptwill be superior to using aninstallcheck_script.- During bootstrapping, if on A/C power or battery level is greater than 50% on Intel or greater than 30% on Apple silicon, the status app will prevent the display from going to sleep so that bootstrap progress is displayed. Thanks to @chrisgrande. (See #1215)
Munki 7 removed features:
Some features and capabilities supported by previous versions of Munki are no longer supported:
-
The
startosinstallinstaller_type, used to install macOS major upgrades on Intel Macs is no longer supported. Thestage_os_installerinstaller_type works on both Intel and Apple silicon, and is supported in Munki 7. -
Installation of Apple software updates. Munki 6 does not install Apple updates on Apple silicon, but instead prompts the user to use Apple tools (System Settings app; softwareupdate) to do so. Munki 7 extends this behavior to Intel Macs as well.
-
Apple update metadata (https://github.com/munki/munki/wiki/Pkginfo-For-Apple-Software-Updates) The installer_type
apple_update_metadatais no longer supported. -
The following Adobe installer_types are no longer supported:
- AdobeSetup
- AdobeUberInstaller
- AdobeAcrobatUpdater
- AdobeCS5AAMEEPackage
- AdobeCS5PatchInstaller
- AdobeCCPInstaller
-
Additionally, the following uninstall_methods are no longer supported:
- AdobeSetup
- AdobeUberUninstaller
- AdobeCS5AAMEEPackage
- AdobeCCPUninstaller
-
To use Munki 7 to install Adobe software, use the Adobe admin console to create Apple installer packages (that Munki can install via its support for Apple installer packages).
-
The installer_type
profileis no longer supported. Munki 7 has no support for the installation or removal of configuration profiles, and additionally, support for configuration profile "emulation" has been removed as well. Admins should be using an MDM solution to manage configuration profiles on macOS. -
The
appdmginstaller_type is no longer supported (this has been deprecated for well over a decade): https://github.com/munki/munki/wiki/App-Dmg-Package-Notes -
The
suppress_bundle_relocationpkginfo key is no longer supported. This only ever worked for bundle-style packages. -
The
repochecktool in the attached files ("Assets") is a basic proof-of-concept tool to analyze your Munki repo for pkginfo items that contain things no longer supported by Munki 7. There are currently no options -- it will scan whatever repo your currentmunkiimportpreferences points to.
Middleware:
- Python middleware compatible with Munki 6 will not work with Munki 7. Several popular middleware modules have been ported to Swift using Munki 7's middleware protocol, and are believed to work:
- Though these ported middleware modules are believed to work, they are not officially supported at this time. My preference would be for others who actually use the modules to take over development, support, and maintenance.
Repo plugins:
- Python repo plugins compatible with Munki 6 will not work with Munki 7. A Swift repo plugin protocol is available, and the MWA2APIRepo plugin was ported to Swift, largely as a proof-of-concept so that vendors who have incorporated Munki into their products and have written repo plugins have example code to follow.
Preparing for Munki 7 deployment
There are likely things you as a Munki admin will need to do to prepare for deploying Munki 7 in your organization. Be sure to consult the wiki for information on how you might need to deal with the changes in Munki 7:
https://github.com/munki/munki/wiki/Munki-7-Introduction
Other notes:
- The installer package for this release contains a component package that installs the Python libraries used by Munki 6.7 (aka "munkilib"). This is intended as a transition aid. (We use Sal where I work and some of the Sal reporting scripts import code from inside munkilib). The intention would be for Munki admins to identify these sorts of dependencies and work to eliminate them.
- Installing the Munki 7 package over an existing Munki 6.x install will leave the munki-python symlink and Munki's Python.framework in place. This might be helpful while transitioning, but might also make it easier to miss dependencies on that Python. You might consider removing Munki 6's included Python to see what breaks.
Munki 7.0.1 Official Release
This is the official release of Munki 7.0.1, a minor bug-fix update to the Munki tools.
In Munki 7, the command-line tools and their helpers, previously written in Python and requiring a Python interpreter with PyObjC available, have all been rewritten in Swift and are compiled executables.
Supported OSes
- The Munki 7 command-line tools are built with a deployment target of macOS 10.15. That means the code runs on 10.15+, but little testing has been done on OSes prior to macOS 14. Munki 7 drops support for macOS 10.13 and 10.14.
- Managed Software Center has been updated to adopt the new look for macOS 26 (when built using Xcode 26, and when running on macOS 26). It runs as far back as macOS 10.15.
Build info
- This release was built with Xcode 26.0.1 (17A400) on macOS 26.0 (25A354) via a GitHub Actions workflow here: https://github.com/macadmins/munki-builds. It has been signed and notarized by MacAdmins Open Source.
- You can build this with Xcode 16, but the Managed Software Center application will not adopt all the new macOS 26-specific behavior/appearance.
- The distribution package now contains a new/additional component package:
com.googlecode.munki.libs. On macOS 10.15 and macOS 11, this package installs a Swift runtime dynamic library needed for some of the Munki command-line tools. In a Munki pkginfo for this release, you should mark that receipt as optional. - Distribution package version: 7.0.1.5340
- Components:
- com.googlecode.munki.core 7.0.1.5340
- com.googlecode.munki.admin 7.0.1.5340
- com.googlecode.munki.app 7.0.1.5334
- com.googlecode.munki.app_usage 7.0.1.5340
- com.googlecode.munki.launchd 7.0.0.5320
- com.googlecode.munki.pythonlibs 6.7.0.5293
- com.googlecode.munki.libs 5.5
- Components:
Changes/fixes in v7.0.1:
- Addresses an issue where 'ItemsToInstall' and 'ItemsToRemove' in ManagedInstallReport.plist were empty arrays even if there were items to install or remove. Thanks to @bfreezy. #1275
- A fix for an issue when copying items from a dmg that are not at the dmg root 3e365ea
- A fix for consistent subsystem names when logging to unified logging 64da921
- A fix for incorrect generation of 'blocking_applications' array when using the --blocking-application option for Fix for makepkginfo/munkiimport. Thanks to @RonaldTichelaar. #1274
- A fix for a reported issue with a repo on a filesystem mounted via macFUSE+sshfs Thanks to @CPMA-Fertas. #1273
- A fix for MunkiStatus incorrectly determining that 'managedsoftwareupdate' has unexpectedly quit (or failed to start) Thanks to @aysiu. c454bee
A complete list of changes from the 7.0 release is here: v7.0.0...v7.0.1
Known issues
makecatalogsis slower than the Python version. Some work has been done to speed it up, but it's still slower.- There has been a report of occasional crashing in
munkimport. (See #1262)
New features in Munki 7:
- Managed Software Center now supports customization of the sidebar. See https://github.com/munki/munki/wiki/Customizing-Managed-Software-Center-sidebar for details. Thanks to @SteveKueng for the initial implementation.
version_script: pkginfo items may now contain the keyversion_script. The expected value for this key is a string, containing a script that outputs the version number of a currently-installed version of the software, or an empty string (or exits non-zero) if the software is not currently installed. This is a new mechanism Munki can use to determine whether or not an item needs to be installed (or updated). Since it returns a version number, and Munki can use its existing version number logic, in most cases using aversion_scriptwill be superior to using aninstallcheck_script.- During bootstrapping, if on A/C power or battery level is greater than 50% on Intel or greater than 30% on Apple silicon, the status app will prevent the display from going to sleep so that bootstrap progress is displayed. Thanks to @chrisgrande. (See #1215)
Munki 7 removed features:
Some features and capabilities supported by previous versions of Munki are no longer supported:
-
The
startosinstallinstaller_type, used to install macOS major upgrades on Intel Macs is no longer supported. Thestage_os_installerinstaller_type works on both Intel and Apple silicon, and is supported in Munki 7. -
Installation of Apple software updates. Munki 6 does not install Apple updates on Apple silicon, but instead prompts the user to use Apple tools (System Settings app; softwareupdate) to do so. Munki 7 extends this behavior to Intel Macs as well.
-
Apple update metadata (https://github.com/munki/munki/wiki/Pkginfo-For-Apple-Software-Updates) The installer_type
apple_update_metadatais no longer supported. -
The following Adobe installer_types are no longer supported:
- AdobeSetup
- AdobeUberInstaller
- AdobeAcrobatUpdater
- AdobeCS5AAMEEPackage
- AdobeCS5PatchInstaller
- AdobeCCPInstaller
-
Additionally, the following uninstall_methods are no longer supported:
- AdobeSetup
- AdobeUberUninstaller
- AdobeCS5AAMEEPackage
- AdobeCCPUninstaller
-
To use Munki 7 to install Adobe software, use the Adobe admin console to create Apple installer packages (that Munki can install via its support for Apple installer packages).
-
The installer_type
profileis no longer supported. Munki 7 has no support for the installation or removal of configuration profiles, and additionally, support for configuration profile "emulation" has been removed as well. Admins should be using an MDM solution to manage configuration profiles on macOS. -
The
appdmginstaller_type is no longer supported (this has been deprecated for well over a decade): https://github.com/munki/munki/wiki/App-Dmg-Package-Notes -
The
suppress_bundle_relocationpkginfo key is no longer supported. This only ever worked for bundle-style packages. -
The
repochecktool in the attached files ("Assets") is a basic proof-of-concept tool to analyze your Munki repo for pkginfo items that contain things no longer supported by Munki 7. There are currently no options -- it will scan whatever repo your currentmunkiimportpreferences points to.
Middleware:
- Python middleware compatible with Munki 6 will not work with Munki 7. Several popular middleware modules have been ported to Swift using Munki 7's middleware protocol, and are believed to work:
- Though these ported middleware modules are believed to work, they are not officially supported at this time. My preference would be for others who actually use the modules to take over development, support, and maintenance.
Repo plugins:
- Python repo plugins compatible with Munki 6 will not work with Munki 7. A Swift repo plugin protocol is available, and the MWA2APIRepo plugin was ported to Swift, largely as a proof-of-concept so that vendors who have incorporated Munki into their products and have written repo plugins have example code to follow.
Preparing for Munki 7 deployment
There are likely things you as a Munki admin will need to do to prepare for deploying Munki 7 in your organization. Be sure to consult the wiki for information on how you might need to deal with the changes in Munki 7:
https://github.com/munki/munki/wiki/Munki-7-Introduction
Other notes:
- The installer package for this release contains a component package that installs the Python libraries used by Munki 6.7 (aka "munkilib"). This is intended as a transition aid. (We use Sal where I work and some of the Sal reporting scripts import code from inside munkilib). The intention would be for Munki admins to identify these sorts of dependencies and work to eliminate them.
- Installing the Munki 7 package over an existing Munki 6.x install will leave the munki-python symlink and Munki's Python.framework in place. This might be helpful while transitioning, but might also make it easier to miss dependencies on that Python. You might consider removing Munki 6's included Python to see what breaks.
Munki 7.0 Official Release
This is the official release of Munki 7.0, a major update to the Munki tools.
In Munki 7, the command-line tools and their helpers, previously written in Python and requiring a Python interpreter with PyObjC available, have all been rewritten in Swift and are compiled executables.
Supported OSes
- The Munki 7 command-line tools are built with a deployment target of macOS 10.15. That means the code runs on 10.15+, but little testing has been done on OSes prior to macOS 14. Munki 7 drops support for macOS 10.13 and 10.14.
- Managed Software Center has been updated to adopt the new look for macOS 26 (when built using Xcode 26, and when running on macOS 26). It runs as far back as macOS 10.15.
Build info
- This release was built with Xcode 26.0 Release Candidate on a beta of macOS 26 via a GitHub Actions workflow here: https://github.com/macadmins/munki-builds. It has been signed and notarized by MacAdmins Open Source.
- You can build this with Xcode 16, but the Managed Software Center application will not adopt all the new macOS 26-specific behavior/appearance.
- The distribution package now contains a new/additional component package:
com.googlecode.munki.libs. On macOS 10.15 and macOS 11, this package installs a Swift runtime dynamic library needed for some of the Munki command-line tools. In a Munki pkginfo for this release, you should mark that receipt as optional. - Distribution package version: 7.0.0.5328
- Components:
- com.googlecode.munki.core 7.0.0.5328
- com.googlecode.munki.admin 7.0.0.5328
- com.googlecode.munki.app 7.0.0.5315
- com.googlecode.munki.app_usage 7.0.0.5328
- com.googlecode.munki.launchd 7.0.0.5320
- com.googlecode.munki.pythonlibs 6.7.0.5293
- com.googlecode.munki.libs 5.5
- Components:
Known issues
makecatalogsis slower than the Python version. Some work has been done to speed it up, but it's still slower.- There has been a report of occasional crashing in
munkimport. (See #1262)
New features in Munki 7:
- Managed Software Center now supports customization of the sidebar. See https://github.com/munki/munki/wiki/Customizing-Managed-Software-Center-sidebar for details. Thanks to @SteveKueng for the initial implementation.
version_script: pkginfo items may now contain the keyversion_script. The expected value for this key is a string, containing a script that outputs the version number of a currently-installed version of the software, or an empty string (or exits non-zero) if the software is not currently installed. This is a new mechanism Munki can use to determine whether or not an item needs to be installed (or updated). Since it returns a version number, and Munki can use its existing version number logic, in most cases using aversion_scriptwill be superior to using aninstallcheck_script.- During bootstrapping, if on A/C power or battery level is greater than 50% on Intel or greater than 30% on Apple silicon, the status app will prevent the display from going to sleep so that bootstrap progress is displayed. Thanks to @chrisgrande. (See #1215)
Munki 7 removed features:
Some features and capabilities supported by previous versions of Munki are no longer supported:
-
The
startosinstallinstaller_type, used to install macOS major upgrades on Intel Macs is no longer supported. Thestage_os_installerinstaller_type works on both Intel and Apple silicon, and is supported in Munki 7. -
Installation of Apple software updates. Munki 6 does not install Apple updates on Apple silicon, but instead prompts the user to use Apple tools (System Settings app; softwareupdate) to do so. Munki 7 extends this behavior to Intel Macs as well.
-
Apple update metadata (https://github.com/munki/munki/wiki/Pkginfo-For-Apple-Software-Updates) The installer_type
apple_update_metadatais no longer supported. -
The following Adobe installer_types are no longer supported:
- AdobeSetup
- AdobeUberInstaller
- AdobeAcrobatUpdater
- AdobeCS5AAMEEPackage
- AdobeCS5PatchInstaller
- AdobeCCPInstaller
-
Additionally, the following uninstall_methods are no longer supported:
- AdobeSetup
- AdobeUberUninstaller
- AdobeCS5AAMEEPackage
- AdobeCCPUninstaller
-
To use Munki 7 to install Adobe software, use the Adobe admin console to create Apple installer packages (that Munki can install via its support for Apple installer packages).
-
The installer_type
profileis no longer supported. Munki 7 has no support for the installation or removal of configuration profiles, and additionally, support for configuration profile "emulation" has been removed as well. Admins should be using an MDM solution to manage configuration profiles on macOS. -
The
appdmginstaller_type is no longer supported (this has been deprecated for well over a decade): https://github.com/munki/munki/wiki/App-Dmg-Package-Notes -
The
suppress_bundle_relocationpkginfo key is no longer supported. This only ever worked for bundle-style packages. -
The
repochecktool in the attached files ("Assets") is a basic proof-of-concept tool to analyze your Munki repo for pkginfo items that contain things no longer supported by Munki 7. There are currently no options -- it will scan whatever repo your currentmunkiimportpreferences points to.
Middleware:
- Python middleware compatible with Munki 6 will not work with Munki 7. Several popular middleware modules have been ported to Swift using Munki 7's middleware protocol, and are believed to work:
- Though these ported middleware modules are believed to work, they are not officially supported at this time. My preference would be for others who actually use the modules to take over development, support, and maintenance.
Repo plugins:
- Python repo plugins compatible with Munki 6 will not work with Munki 7. A Swift repo plugin protocol is available, and the MWA2APIRepo plugin was ported to Swift, largely as a proof-of-concept so that vendors who have incorporated Munki into their products and have written repo plugins have example code to follow.
Other notes:
- The installer package for this release contains a component package that installs the Python libraries used by Munki 6.7 (aka "munkilib"). This is intended as a transition aid. (We use Sal where I work and some of the Sal reporting scripts import code from inside munkilib). The intention would be for Munki admins to identify these sorts of dependencies and work to eliminate them.
- Installing the Munki 7 package over an existing Munki 6.x install will leave the munki-python symlink and Munki's Python.framework in place. This might be helpful while transitioning, but might also make it easier to miss dependencies on that Python. You might consider removing Munki 6's included Python to see what breaks.
Munki 6.7 Official Release
This is the official release of Munki 6.7.0: a bug-fix and enhancement release of the Munki tools.
Fixes and enhancements
- If a process has made a display sleep assertion, skip notification of pending updates (unless a forced logout is soon). This is meant to avoid a Munki notification if a user is "presenting". f88d10e 0a2cb3f
- During bootstrapping, if on A/C power or battery level is greater than 50% on Intel or greater than 30% on Apple silicon, the status app will prevent the display from going to sleep so that bootstrap progress is displayed. Thanks to @chrisgrande. (See #1215)
- Some fixes for the placement of the background-blurring windows at boot time: abb511e 7bda74b
- (Security-related) More careful handling of paths in URLs to prevent loading unexpected content. Thanks to @HunterStanton 7c22c18
- Fixes around display of forced logout notification alerts and behaviors around the actual logouts: d8935d3 a7d9ce8
- Add the Software Update CatalogURL for macOS 26: dfe45e2
A complete list of changes from the 6.6.5 release is here: v6.6.5...v6.7.0
Known issues
Downgrading from 6.7.0 to 6.4.2 or earlier
If you install a version of the Munki tools that contains the Python 3.12 framework, and then later attempt to downgrade by installing an older version of the Munki tools (say, 6.4.2.4634) that contains a Python 3.10 (or earlier) framework, /usr/local/munki/munki-python will be broken. See https://github.com/munki/munki/wiki/Downgrading-Munki-tools for more information.
Upgrading Munki with Munki
If you use a technique similar to the one described here to allow Munki to update itself without requiring a restart, be sure to mark the Munki 6.7.0 launchd item as an unattended_install. If you don't do that, Munki may not be able to update itself completely without user involvement.
See this post: https://groups.google.com/g/munki-discuss/c/ikIw2mPddM0/m/h95J_DyrCwAJ for more details.
Autopkg recipes here for "munkitools6" have been updated to just install the package as-is, which is the current recommendation.
Additional Information
Build info
The GUI apps and the Python framework were built under Xcode 16.4 on macOS 15.6.1. Builds should work on Xcode 14.3.1 through Xcode 16.4, but versions of Xcode other than 16.4 have not been tested and may cause different results. (Due to Apple bugs, Xcode 15.0.1 or Xcode 15 on macOS Sonoma will result in GUI apps that won't run on macOS < 10.15).
OS version support
This release should work on macOS 10.13 through macOS 26, though it gets little-to-no testing on versions prior to macOS 15. Please report issues you find with older macOS versions.
Package versioning
- Distribution package version: 6.7.0.4731
- munki core tools version: 6.7.0.4731
- LaunchAgents/LaunchDaemons version: 6.6.0.4656
- Apps package version: 6.7.0.4730
- Python package version: 3.12.2.4689
Attachment info
The munkitools-6.7.0.4731.pkg attachment available here is an unsigned and unnotarized package that should install without requiring a restart . It should be suitable for most deployment scenarios, including those driven by DEP/ADE (if you first sign the package). It does not include a component to trigger "bootstrapping" or any other automatic run of the tools after installation.
Signed/notarized builds
Thanks to the efforts of @erikng and @natewalck, signed and notarized builds of Munki tools packages are available at https://github.com/macadmins/munki-builds/releases.
A signed and notarized package containing the signed release is here: https://github.com/macadmins/munki-builds/releases/download/v6.7.0.4731/munkitools-6.7.0.4731.pkg
Deprecation notes
The following Munki features are considered deprecated and will be removed in a future Munki release:
- Bundled Python: a future release of Munki will remove all dependency on Python and will no longer include a bundled version of Python.
- Installation of Apple software updates. Munki currently does not install Apple updates on Apple silicon, but instead prompts the user to use Apple tools (Settings app;
softwareupdate) to do so. A future release will extend this behavior to Intel Macs as well. - Special support/treatment of Adobe Creative Cloud packages (and other special Adobe installer types). The following installer_types will no longer be supported:
AdobeSetup, AdobeUberInstaller, AdobeAcrobatUpdater, AdobeCS5AAMEEPackage, AdobeCS5PatchInstaller, AdobeCCPInstallerAdditionally, the following uninstall_methods will no longer be supported:AdobeSetup, AdobeUberUninstaller, AdobeCS5AAMEEPackage, AdobeCCPUninstaller - Support for configuration profile install and removal (https://github.com/munki/munki/wiki/Managing-Configuration-Profiles). Installer_type
profilewill no longer be supported. - Apple update metadata (https://github.com/munki/munki/wiki/Pkginfo-For-Apple-Software-Updates) Installer_type
apple_update_metadatawill no longer be supported. appdmginstaller_type (this has been deprecated for years, but support will be removed in the near future): https://github.com/munki/munki/wiki/App-Dmg-Package-Notessuppress_bundle_relocationpkginfo key. This only ever worked for bundle-style packages. Bundle-style packages are no longer supported as of macOS Sequoia, and so support for this feature will be dropped in a future release of Munki.
Munki 6.6.5 Official Release
This is the official release of Munki 6.6.5: a bug-fix and enhancement release of the Munki tools.
Fixes and enhancements
- Authorized restarts: Wait longer for a response from the authrestartd process so we do not timeout too soon: 41e4a5c
- Client certificate authentication: consider certificate chains when using client certificates for authentication. Thanks to @liamn #1235 and #1236
A complete list of changes from the 6.6.4 release is here: v6.6.4...v6.6.5
Known issues
Downgrading from 6.6.x to 6.4.2 or earlier
If you install a version of the Munki tools that contains the Python 3.12 framework, and then later attempt to downgrade by installing an older version of the Munki tools (say, 6.4.2.4634) that contains a Python 3.10 (or earlier) framework, /usr/local/munki/munki-python will be broken. See https://github.com/munki/munki/wiki/Downgrading-Munki-tools for more information.
Upgrading Munki with Munki
If you use a technique similar to the one described here to allow Munki to update itself without requiring a restart, be sure to mark the Munki 6.6.x launchd item as an unattended_install. If you don't do that, Munki may not be able to update itself completely without user involvement.
See this post: https://groups.google.com/g/munki-discuss/c/ikIw2mPddM0/m/h95J_DyrCwAJ for more details.
Autopkg recipes here for "munkitools6" have been updated to just install the package as-is, which is the current recommendation.
Additional Information
Build info
The GUI apps and the Python framework were built under Xcode 16.2 on macOS 15.3.1. Builds should work on Xcode 14.3.1 through Xcode 16.2, but these other versions of Xcode have not been tested and may cause different results. (Due to Apple bugs, Xcode 15.0.1 or Xcode 15 on macOS Sonoma will result in GUI apps that won't run on macOS < 10.15).
OS version support
This release should work on macOS 10.13 through macOS 15, though it gets little-to-no testing on versions prior to macOS 13. Please report issues you find with older macOS versions.
Package versioning
- Distribution package version: 6.6.5.4711
- munki core tools version: 6.6.5.4711
- LaunchAgents/LaunchDaemons version: 6.6.0.4656
- Apps package version: 6.6.3.4707
- Python package version: 3.12.2.4689
Attachment info
The munkitools-6.6.5.4711.pkg attachment available here is an unsigned and unnotarized package that should install without requiring a restart . It should be suitable for most deployment scenarios, including those driven by DEP/ADE (if you first sign the package). It does not include a component to trigger "bootstrapping" or any other automatic run of the tools after installation.
Signed/notarized builds
Thanks to the efforts of @erikng and @natewalck, signed and notarized builds of Munki tools packages are available at https://github.com/macadmins/munki-builds/releases.
The build corresponding to this release is here: https://github.com/macadmins/munki-builds/releases/tag/v6.6.5.4711
Deprecation notes
The following Munki features are considered deprecated and will be removed in a future Munki release:
- Bundled Python: a future release of Munki will remove all dependency on Python and will no longer include a bundled version of Python.
- Installation of Apple software updates. Munki currently does not install Apple updates on Apple silicon, but instead prompts the user to use Apple tools (Settings app;
softwareupdate) to do so. A future release will extend this behavior to Intel Macs as well. - Special support/treatment of Adobe Creative Cloud packages (and other special Adobe installer types). The following installer_types will no longer be supported:
AdobeSetup, AdobeUberInstaller, AdobeAcrobatUpdater, AdobeCS5AAMEEPackage, AdobeCS5PatchInstaller, AdobeCCPInstallerAdditionally, the following uninstall_methods will no longer be supported:AdobeSetup, AdobeUberUninstaller, AdobeCS5AAMEEPackage, AdobeCCPUninstaller - Support for configuration profile install and removal (https://github.com/munki/munki/wiki/Managing-Configuration-Profiles). Installer_type
profilewill no longer be supported. - Apple update metadata (https://github.com/munki/munki/wiki/Pkginfo-For-Apple-Software-Updates) Installer_type
apple_update_metadatawill no longer be supported. appdmginstaller_type (this has been deprecated for years, but support will be removed in the near future): https://github.com/munki/munki/wiki/App-Dmg-Package-Notessuppress_bundle_relocationpkginfo key. This only ever worked for bundle-style packages. Bundle-style packages are no longer supported as of macOS Sequoia, and so support for this feature will be dropped in a future release of Munki.
Munki 6.6.4 Official Release
This is the official release of Munki 6.6.4: a bug-fix release of the Munki tools.
Fixes
- Yet another attempt at fixing a cosmetic issue when Munki is running at the loginwindow and sometimes the background blur window doesn't cover the entire background: b385bd8
- When a package contains an Apple Archive-formatted payload instead of a pax/cpio archive, ensure
/usr/bin/aaexists before attempting to call it. Addresses a crashing issue when extracting icons on macOS < 11 40b44ae
A complete list of changes from the 6.6.3 release is here: v6.6.3...v6.6.4
Known issues
Downgrading from 6.6.x to 6.4.2 or earlier
If you install a version of the Munki tools that contains the Python 3.12 framework, and then later attempt to downgrade by installing an older version of the Munki tools (say, 6.4.2.4634) that contains a Python 3.10 (or earlier) framework, /usr/local/munki/munki-python will be broken. See https://github.com/munki/munki/wiki/Downgrading-Munki-tools for more information.
Upgrading Munki with Munki
If you use a technique similar to the one described here to allow Munki to update itself without requiring a restart, be sure to mark the Munki 6.6.x launchd item as an unattended_install. If you don't do that, Munki may not be able to update itself completely without user involvement.
See this post: https://groups.google.com/g/munki-discuss/c/ikIw2mPddM0/m/h95J_DyrCwAJ for more details.
Autopkg recipes here for "munkitools6" have been updated to just install the package as-is, which is the current recommendation.
Additional Information
Build info
The GUI apps and the Python framework were built under Xcode 16.2 on macOS 15.3. Builds should work on Xcode 14.3.1 through Xcode 16.2, but these other versions of Xcode have not been tested and may cause different results. (Due to Apple bugs, Xcode 15.0.1 or Xcode 15 on macOS Sonoma will result in GUI apps that won't run on macOS < 10.15).
OS version support
This release should work on macOS 10.13 through macOS 15, though it gets little-to-no testing on versions prior to macOS 13. Please report issues you find with older macOS versions.
Package versioning
- Distribution package version: 6.6.4.4708
- munki core tools version: 6.6.4.4708
- LaunchAgents/LaunchDaemons version: 6.6.0.4656
- Apps package version: 6.6.3.4707
- Python package version: 3.12.2.4689
Attachment info
The munkitools-6.6.4.4708.pkg attachment available here is an unsigned and unnotarized package that should install without requiring a restart . It should be suitable for most deployment scenarios, including those driven by DEP/ADE (if you first sign the package). It does not include a component to trigger "bootstrapping" or any other automatic run of the tools after installation.
Signed/notarized builds
Thanks to the efforts of @erikng and @natewalck, signed and notarized builds of Munki tools packages are available at https://github.com/macadmins/munki-builds/releases.
The build corresponding to this release is here: https://github.com/macadmins/munki-builds/releases/tag/v6.6.4.4708
Deprecation notes
The following Munki features are considered deprecated and will be removed in a future Munki release:
- Bundled Python: a future release of Munki will remove all dependency on Python and will no longer include a bundled version of Python.
- Installation of Apple software updates. Munki currently does not install Apple updates on Apple silicon, but instead prompts the user to use Apple tools (Settings app;
softwareupdate) to do so. A future release will extend this behavior to Intel Macs as well. - Special support/treatment of Adobe Creative Cloud packages (and other special Adobe installer types). The following installer_types will no longer be supported:
AdobeSetup, AdobeUberInstaller, AdobeAcrobatUpdater, AdobeCS5AAMEEPackage, AdobeCS5PatchInstaller, AdobeCCPInstallerAdditionally, the following uninstall_methods will no longer be supported:AdobeSetup, AdobeUberUninstaller, AdobeCS5AAMEEPackage, AdobeCCPUninstaller - Support for configuration profile install and removal (https://github.com/munki/munki/wiki/Managing-Configuration-Profiles). Installer_type
profilewill no longer be supported. - Apple update metadata (https://github.com/munki/munki/wiki/Pkginfo-For-Apple-Software-Updates) Installer_type
apple_update_metadatawill no longer be supported. appdmginstaller_type (this has been deprecated for years, but support will be removed in the near future): https://github.com/munki/munki/wiki/App-Dmg-Package-Notessuppress_bundle_relocationpkginfo key. This only ever worked for bundle-style packages.
Munki 6.6.3 Official Release
This is the official release of Munki 6.6.3: a bug-fix release of the Munki tools.
Fixes
- A fix for an issue with aggressive notifications if Managed Software Center is open and the user is working full-screen in another application. Thanks to @BrandonNolet for the report (#1229) and thanks to @tburgin for the fix: d130308
- A fix for an issue when expanding a package to look for product icons when the package contains an Apple Archive-formatted payload instead of a pax/cpio archive. 85e82c6
A complete list of changes from the 6.6.2 release is here: v6.6.2...v6.6.3
Known issues
Downgrading from 6.6.x to 6.4.2 or earlier
If you install a version of the Munki tools that contains the Python 3.12 framework, and then later attempt to downgrade by installing an older version of the Munki tools (say, 6.4.2.4634) that contains a Python 3.10 (or earlier) framework, /usr/local/munki/munki-python will be broken. See https://github.com/munki/munki/wiki/Downgrading-Munki-tools for more information.
Upgrading Munki with Munki
If you use a technique similar to the one described here to allow Munki to update itself without requiring a restart, be sure to mark the Munki 6.6.x launchd item as an unattended_install. If you don't do that, Munki may not be able to update itself completely without user involvement.
See this post: https://groups.google.com/g/munki-discuss/c/ikIw2mPddM0/m/h95J_DyrCwAJ for more details.
Autopkg recipes here for "munkitools6" have been updated to just install the package as-is, which is the current recommendation.
Additional Information
Build info
The GUI apps and the Python framework were built under Xcode 15.4 on macOS 14.7. Xcode 14.3.1 on macOS 13 should work as well. Other versions of Xcode have not been tested and may cause different results. (Due to Apple bugs, Xcode 15.0.1 or Xcode 15 on macOS Sonoma will result in GUI apps that won't run on macOS < 10.15).
OS version support
This release should work on macOS 10.13 through macOS 15, though it gets little-to-no testing on versions prior to macOS 13. Please report issues you find with older macOS versions.
Package versioning
- Distribution package version: 6.6.3.4704
- munki core tools version: 6.6.3.4704
- LaunchAgents/LaunchDaemons version: 6.6.0.4656
- Apps package version: 6.6.3.4704
- Python package version: 3.12.2.4689
Attachment info
The munkitools-6.6.3.4704.pkg attachment available here is an unsigned and unnotarized package that should install without requiring a restart . It should be suitable for most deployment scenarios, including those driven by DEP/ADE (if you first sign the package). It does not include a component to trigger "bootstrapping" or any other automatic run of the tools after installation.
Signed/notarized builds
Thanks to the efforts of @erikng and @natewalck, signed and notarized builds of Munki tools packages are available at https://github.com/macadmins/munki-builds/releases. There may be a delay for new releases -- please be patient.
Deprecation notes
The following Munki features are considered deprecated and will be removed in a future Munki release:
- Bundled Python: a future release of Munki will remove all dependency on Python and will no longer include a bundled version of Python.
- Installation of Apple software updates. Munki currently does not install Apple updates on Apple silicon, but instead prompts the user to use Apple tools (Settings app;
softwareupdate) to do so. A future release will extend this behavior to Intel Macs as well. - Special support/treatment of Adobe Creative Cloud packages (and other special Adobe installer types). The following installer_types will no longer be supported:
AdobeSetup, AdobeUberInstaller, AdobeAcrobatUpdater, AdobeCS5AAMEEPackage, AdobeCS5PatchInstaller, AdobeCCPInstallerAdditionally, the following uninstall_methods will no longer be supported:AdobeSetup, AdobeUberUninstaller, AdobeCS5AAMEEPackage, AdobeCCPUninstaller - Support for configuration profile install and removal (https://github.com/munki/munki/wiki/Managing-Configuration-Profiles). Installer_type
profilewill no longer be supported. - Apple update metadata (https://github.com/munki/munki/wiki/Pkginfo-For-Apple-Software-Updates) Installer_type
apple_update_metadatawill no longer be supported. appdmginstaller_type (this has been deprecated for years, but support will be removed in the near future): https://github.com/munki/munki/wiki/App-Dmg-Package-Notessuppress_bundle_relocationpkginfo key. This only ever worked for bundle-style packages.