Skip to content

Recipe Robot 2.0.0 release candidate 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@homebysix homebysix released this 09 Oct 16:12
2cca100

Added

  • Full Python 3 support, which makes Recipe Robot compatible with (and require) AutoPkg 2. Big thanks to @sheagcraig for fixing a particularly sticky bug involving string encoding. (#156, #160, #163)
  • As part of Python 3 transition, rewrote significant portions of Recipe Robot to use curl instead of Python's urllib. This adds flexibility and mimics AutoPkg's behavior, but may result in changes in behavior from Recipe Robot 1.x.
  • The recipe-robot script now supports the creation of "jss-upload" type recipes, which imports a package into Jamf Pro but does not create any policies or groups. (#153)
  • Recipe Robot now does more thorough pre-checking of URLs: attempts to use HTTPS instead of HTTP when possible, and tries to add a widely used user-agent if a 403 error is encountered.
  • Added CodeQL scanning to GitHub repo.

Changed

  • Recipe Robot no longer assigns AutoPkg input variables for DOWNLOAD_URL, SPARKLE_FEED_URL, GITHUB_REPO, and BUNDLE_ID. Instead, it hard-codes these values into the appropriate processor arguments. @jazzace nicely summarizes the benefit of this change here.
  • Added detail to the --configure option that clarifies that following the official "jss-recipes" style format is unnecessary unless you're contributing to jss-recipes.
  • Recipe Robot script --configure option now treats pressing Return the same as pressing "S" to save the list of preferred recipe types, to align with the behavior of other configuration options.
  • Various minor adjustments to continue preparing for Python 3 compatibility.
  • Cleaned up Swift codebase using swiftlint.

Fixed

  • Resolved an issue that resulted in preferences unrelated to Recipe Robot being saved into the Recipe Robot preference file.
  • Updated regular expression used to grab app descriptions from MacUpdate.
  • Fixed an issue that would cause certain GitHub URLs to be parsed incorrectly.

Removed

  • Removed internal support for piped subprocess commands, previously deprecated in v1.2.0.
  • Temporarily removed 403 error detection (usually due to rate-limiting) for BitBucket, GitHub, and SourceForge API calls.
  • Removed all calls to FoundationPlist in support of Python 3 transition. (Left FoundationPlist itself included in source, but will remove in a future release.)

Known Issues

  • On macOS 10.14 (and possibly earlier) an incorrect "certificate has expired" warning may appear in the output. (#165)
  • Progress indication during file download is no longer shown. I hope to restore this feature in a later version.
  • Script output does not appear in the app until the script is completely done processing. I hope to restore realtime output in a later version.
  • The "jss-upload" type is not addressable yet in the Recipe Robot app, only in the script.
  • Because Recipe Robot is now using plistlib instead of FoundationPlist, it's likely that some non-standard developer plist files may not successfully parse. This is because plistlib is stricter than FoundationPlist, and the same issue applies to AutoPkg itself (see autopkg#618 for an example).