Releases: autopkg/autopkg
Releases · autopkg/autopkg
AutoPkg 1.3
1.3 (November 04, 2019)
FIXES:
autopkg repo-list
wasn't respecting the--prefs
option correctly (ec72223)autopkg list-recipes
wasn't parsing the arguments correctly when used with--prefs
(8b15b73)- Reading in an integer value from macOS preferences and writing it out to disk was
using incorrect formatting due to a mismatch between plistlib, FoundationPlist, and
PyObjc data types, which caused MakeCatalogs.munki to fail. Now uses Python primitive
types instead (8b15b73)
AutoPkg 1.2
1.2 (September 16, 2019)
FIXES:
- Fixes erroneous
curl
using--compress
instead of--compressed
(3c8bc23) - Redirect from GitHub resulted in two header blocks (b851d6d)
- PkgCopier would incorrectly use the pre-globbed input path if a destination was
not specified (02f461c)
ADDITIONS:
- Preferences can now be provided from an external file using
--prefs
. The input
file can be either in JSON or plist format, and will be treated identically
to preferences from macOS. (7ae2f55)
IMPROVEMENTS:
- Several unit tests have been added for some core AutoPkg functionality, and
certain processors. - All occurrences of
print()
in the core autopkg script were replaced withlog
andlog_err
(8300b80) - The groundwork has been laid for running AutoPkg on alternative platforms.
- AutoPkg now uses a pre-commit hook that enforces the use of black, isort, and
flake8 to ensure code quality. This includes a new CONTRIBUTING guide (https://github.com/autopkg/autopkg/blob/master/CONTRIBUTING.md)
AutoPkg 1.1 Official Release
This is the official release of AutoPkg 1.1. It is the same build as 1.1 Release Candidate 2.
1.1 (May 29, 2019)
FIXES:
- Add
--compress
option tocurl
calls in SparkleUpdateInfoProvider and URLTextSearcher
to work around websites that return compressed results even when request does not indicate
they will be accepted. (GH-461) - URLDownloader: Better handling of more HTTP 3xx redirects (GH-429)
- Better handling of paths starting with
~/
(GH-437) (603f220) generate_processor_docs
sorts the sidebar alphabetically (GH-520)
ADDITIONS:
- New
--force
option forautopkg make-override
(GH-425) - Add
-q/--quiet
option to suppress Github search and suggestions (GH-426) - New
new-recipe
subcommand (f92a0a4) - Added DeprecationWarning processor to core processors (7b4abac)
IMPROVEMENTS:
- Code run through several processors/formatters (flake8, isort, black, python-modernize) to
prepare for Python 3 compatibility
AutoPkg 1.0.4
1.0.4 (March 05, 2018)
FIXES:
- All GitHub API requests are now performed using curl. This fixes TLS errors with
GitHubReleasesInfoProvider processor andautopkg search
functionality on macOS 10.12
and earlier. (GH-408)
IMPROVEMENTS:
- A GitHub token can now be specified in AutoPkg preferences (GITHUB_TOKEN) or in a file: ~/.autopkg_gh_token (Original PR was GH-407, code merged here as part of GH-408: 8e0f19b)
- In parent trust info, store paths within user home as ~/some/path. When verifying
trust info, expand ~ to current user home directory. - FlatPkgUnpacker, PkgPayloadUnpacker and PkgRootCreator will now create intermediary
directories (GH-401) - URLDownloader and URLTextSearcher now accept
curl_opts
input variable to provide
additional arguments to curl (GH-384, GH-386)
AutoPkg 1.0.3
1.0.3 (September 22, 2017)
FIXES:
- Better handling of bundle items in MunkiImporter (GH-352)
- Prevent stack trace when parent recipe does not exist (GH-363)
IMPROVEMENTS:
- DmgCreator now explicitly specifies HFS+ format when creating disk images.
Avoids an issue where APFS images were created under High Sierra,
potentially causing issues with machines running older macOS versions.
(GH-357) - Improvements to CodeSignatureVerifier (GH-373)
- Added strict_verification variable to control whether to pass --strict,
--no-strict or nothing at all tocodesign
. - Added deep_verification variable to control whether to pass --deep to
codesign
or not. Deep verification was previously on by default (and
still is) but it can now be explicitly disabled. - Added codesign_additional_arguments variable for specifying additional
arguments forcodesign
tool. - Removed the .app file extension checking and no longer require the input to
be a specific file type. Only check for .pkg, .mpkg or .xip extensions and
pass those topkgutil
, everything else should go tocodesign
.
- Added strict_verification variable to control whether to pass --strict,
AutoPkg 1.0.2
1.0.2 (April 07, 2017)
FIXES:
- Trust info is ignored if it is ever present in a recipe which is not an override,
and warns if any such trust info is found (GH-334) - Fix a regression in PlistReader and handling disk images
- PkgCopier can now mount a diskimage in the source path even if its extension is not
.dmg
(GH-349)
IMPROVEMENTS:
- If an
autopkg run
has recipes failing due to trust verification failure, this is
clarified in the output as the reason for the failure. - URLDownloader now handles file sizes in FTP server responses, avoiding repeated
downloads fromftp://
server URLs (GH-338) - FileFinder can now mount DMG files given as part of its input
pattern
(GH-263) - When PkgCreator logs
Invalid version
, it now includes the offending version string
in this output (GH-343)
AutoPkg 1.0.1
AutoPkg 1.0 Official Release
This is the official release of AutoPkg 1.0. There were no changes from Release Candidate 1.
1.0.0 (November 16, 2016)
ADDITIONS:
- New
audit
verb, used to output helpful information about any recipes that:- Are missing a CodeSignatureVerifier step
- Use non-HTTP URLs for downloads
- Supply their own processors and thus will run code not provided by AutoPkg itself
- Use processors that may potentially be modifying the original software
downloaded from the vendor
- New
verify-trust-info
andupdate-trust-info
verbs. These can be used to
add "trust" hash information to a recipe override. If a parent recipe and/or
its processor(s) is later updated (typically via a third-party recipe repo and
runningautopkg repo-update
against this or all recipe repos), this
trust information will be invalid and prevent the recipe from running
until the trust information has been updated. Runningverify-trust-info
with
additional verbosity will print out full diffs of upstream changes made since
the last trust information was recorded, andupdate-trust-info
will update
it to match the current state of parent recipes. This behaviour can be bypassed
using theFAIL_RECIPES_WITHOUT_TRUST_INFO
AutoPkg preference. See the
wiki article for more information. - New
AppPkgCreator
processor, a single processor replacing the several steps
previously required for building a package from an application bundle. - Support for "rich" recipe lists in property list format, which can specify
pre/post-processors and additional input variables for that specific run. See the
Running Multpiple Recipes article for more details.
FIXES:
- Fix SparkleUpdateInfoProvider ignoring
appcast_request_headers
argument since
switching from urllib2 to curl. (GH-277) - Miscellaneous fixes to better handle unicode in
autopkg
message output.
(GH-299) - Fix GitHub API error on
autopkg search
for a recipe name containing spaces.
(GH-305)
IMPROVEMENTS:
- URLDownloader now passes
--fail
option so that most 400-class error codes
will result in a failed recipe run. (GH-284) - AutoPkg now reports an exit code of
70
if any recipe in anautopkg run
fails. Eventually other exit codes may later be added to report on other
specific behavior. (GH-297) - MunkiImporter now accepts an
uninstaller_pkg_path
input variable, used to
copy Adobe uninstaller packages and setuninstaller_item_location
in pkginfos. - MunkiImporter should now be able to detect existing Adobe CCP-built package
items in a Munki repo as generated bymakepkginfo
in Munki tools version 2.8.0
and higher.
AutoPkg 0.6.1
0.6.1 (March 18, 2016)
FIXES:
- Fix too-restrictive 600 permissions on files downloaded by curl. This caused an issue
where a file copied to either a local or remote Munki repo may not be readable by the
webserver. Modes of downloaded files are now set to 644.
AutoPkg 0.6.0
0.6.0 (March 15, 2016)
CHANGES:
- URLDownloader, URLTextSearcher and SparkleUpdateInfoProvider now all use
the/usr/bin/curl
binary for performing HTTP requests. This resolves
several ongoing issues with Apple's Python urllib2 module and SSL.
CURLDownloader and CURLTextSearcher processors refer internally to the same
processors, and recipes using them can be safely switched back to the
"standard" versions.
An alternate cURL binary can be specified using theCURL_PATH
input variable. - The BrewCaskInfoProvider processor is now deprecated. The Cask DSL has added
over time logic for specifying URLs that requires the ability to actually invoke Ruby
code, and this processor was never widely used. It will remain in AutoPkg for
some time but will not function with all Cask files. - CodeSignatureVerifier: the use of
expected_authority_names
to verify .app
bundles is now deprecated, and will be removed in a future AutoPkg release. Use
requirement
instead. (GH-256)
FIXES:
- CodeSignatureVerifier: globbing is performed on all paths, rather than only
within a disk image path. (GH-252)
IMPROVEMENTS:
- URLDownloader: support for 'CHECK_FILESIZE_ONLY' input variable,
which skips checks for Last-Modified and ETag headers when checking whether a
download has changed on the server, and uses only the file size. This is useful
for recipes that redirect to various mirrors for downloads, where these server
header values differ, causing repeated downloads. This can be set in a recipe's
Input section, or like any other variable it can also be altered on the CLI using
the '--key/-k' option during any given run, for example:
autopkg run -k CHECK_FILESIZE_ONLY=true VLC.munki
- related issue: (GH-219)
- CodeSignatureVerifier: support for xip archives
- Unarchiver: support for gzip archives