Skip to content

Releases: autopkg/autopkg

AutoPkg 1.3

04 Nov 23:19
Compare
Choose a tag to compare

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

16 Sep 17:32
Compare
Choose a tag to compare

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 with log and log_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

24 May 05:22
Compare
Choose a tag to compare

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 to curl 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 for autopkg 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

05 Mar 18:42
Compare
Choose a tag to compare

1.0.4 (March 05, 2018)

FIXES:

  • All GitHub API requests are now performed using curl. This fixes TLS errors with
    GitHubReleasesInfoProvider processor and autopkg 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

22 Sep 16:15
Compare
Choose a tag to compare

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 to codesign.
    • 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 for codesign 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 to pkgutil, everything else should go to codesign.

AutoPkg 1.0.2

07 Apr 14:57
Compare
Choose a tag to compare

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 from ftp:// 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

30 Nov 12:06
Compare
Choose a tag to compare

1.0.1 (November 30, 2016)

FIXES:

  • Fix a crash when parsing a plaintext --recipe-list containing a single item
    (GH-323)

AutoPkg 1.0 Official Release

17 Nov 04:35
Compare
Choose a tag to compare

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 and update-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
    running autopkg 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. Running verify-trust-info with
    additional verbosity will print out full diffs of upstream changes made since
    the last trust information was recorded, and update-trust-info will update
    it to match the current state of parent recipes. This behaviour can be bypassed
    using the FAIL_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 an autopkg 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 set uninstaller_item_location in pkginfos.
  • MunkiImporter should now be able to detect existing Adobe CCP-built package
    items in a Munki repo as generated by makepkginfo in Munki tools version 2.8.0
    and higher.

AutoPkg 0.6.1

18 Mar 15:14
Compare
Choose a tag to compare

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

15 Mar 17:59
Compare
Choose a tag to compare

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 the CURL_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
  • CodeSignatureVerifier: support for xip archives
  • Unarchiver: support for gzip archives